白盒测试(Whitebox Testing)按照程序内部的结构和逻辑驱动测试程序,通过测试来检测产品内部动作是否按照设计说明书的规定正常进行,检验程序中的每条路径是否都能按预定要求正确工作。
此方法是将白盒测试的对象看做内部逻辑结构完全可见的盒子,测试人员依据程序内部逻辑结构的相关信息来设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点、不同分支检查程序的状态,确定实际的状态是否与预期的状态一致。
白盒测试技术是软件测试的主要方法之一,白盒测试的基本概念、检查方法、测试方法、测试工具等内容是必须掌握的。
白盒测试概述
白盒测试的对象主要是源程序,是指用代码内部的分支、路径、条件,使程序设计的控制结构导出测试用例,是软件测试的主要方法之一。
一、白盒测试的基本知识
白盒测试方法分为如下两类:
1)静态测试:
测试中很重要的方法之一,它不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试。静态测试大约可以找出25%~60%的逻辑错误。
2)动态测试:
输入一组预先按照一定的测试准则设计的实例数据驱动运行程序,检查程序功能是否符合设计要求,发现程序中的错误的过程。
二、白盒测试的原则
白盒测试的原则有如下4点:
1)保证一个模块中的所有路径至少被测试一次。
2)所有逻辑值都要测试真和假两种情况。
3)检查程序的内部数据结构是否有效。
4)检查上、下边界及可操作范围内运行的所有循环。
三、白盒测试的类别、依据和流程
白盒测试的策略是首先进行静态结构分析,采用先静态后动态的组合方式,然后进行覆盖测试,利用静态测试的分析结果和动态测试的结果进一步确认已达到测试效果。白盒测试一般要考虑类别、依据和流程。
1.白盒测试的类别
白盒测试的类别具体分为以下8大类:
1)软件公用问题的测试。
2)语言测试。
3)SQL语句测试。
4)数据类型测试。