教学目标理论环节学习理解白盒测试方法的基本概念学习理解白盒测试的覆盖理论学习掌握白盒测试的路径表达学习掌握白盒测试的基本路径测试法实践环节通过案例运用学习掌握覆盖问题的解决方法运用基本路径测试方法进行实际程序测试白盒测试也称结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试
白盒法把测试对象看做是一个打开的盒子,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试
通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致
白盒法也不可能进行穷举测试,企图遍历所有的路径,往往是做不到的
左图所示的一个小程序的控制流程,其中每个圆圈代表一段源程序(或语句块),图中的曲线代表执行次数不超过20的循环,循环体中共有5条通路
这样,可能执行的路径有520条,近似为1014条可能的路径
如果完成一个路径的测试需要1毫秒,那么整个测试过程需要3170年
显然,这也是不能接受的
白盒法需要了解程序的内部结构和详细的处理过程,它按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作
对于白盒测试,即使每条路径都测试了,程序仍可能有错
再如由于疏忽漏写了路径,白盒测试也发现不了
所以,白盒法不能使测试达到彻底
为了用有限的测试发现更多的错误,需精心设计测试用例
黑盒法、白盒法是设计测试用例的基本策略,每一种方法对应着多种设计测试用例的技术,每种技术可达到一定的软件质量标准要求
测试用例的设计白盒技术在测试阶段穷举测试不可行,必须要从数量极大的可用测试用例中精心地挑选少量的测试数据,使得采用这些测试数据能够达到最佳的测试效果,能够高效率地把隐藏的错误揭露出来
下面介绍几种白盒测试设计测试用例的方法
白盒测试的主要方法•逻辑驱动测试•基本路径测试••主要用于软件验证
•使用程序设计的控制结构导出测试用例
全部例子均为