白盒测试法
白盒测试(结构测试或者逻辑驱动测试)
定义:白盒测试也叫透明盒测试,检查程序内部结构及路径一是否符合规格说明,二是否符合其代码规范。
白盒测试常见方法:
a.语句覆盖;
b.判断覆盖(也称“分支覆盖”);
c. 条件覆盖;
d.判断、条件覆盖;
e.条件组合覆盖;
f.路径覆盖 (分为:z路径和独立路径)
白盒测试方法:
1、语句覆盖:
指设计若干个测试用例,使得程序运行时,每个可执行语句至少被执行一次
2、判断覆盖(分支覆盖):
指设计若干个测试用例,使得程序运行时,每个判断条
件的真假分支至少被执行一次
3、条件覆盖:
指设计若干个测试用例,使得程序运行时,每个判断条件中的每个判断式的真、假值至被执行一次
4、判断、条件覆盖:
指设计若干个测试用例,使得程序运行时,每个判断条件中真、假值分支至少被执行一次,且每个判断条件的内部判断式的真、假值至少被执行一次。判断、条件覆盖:
5、条件组合覆盖:
指设计若干个测试用例,使得程序运行时,每个判断条件的内部判断式的各种真假组合都至少被执行一次;是逻辑覆盖测试中“覆盖能力”最强的。
6、路径覆盖:
旨在保证程序中每一个特定的路径方案都能正常运行。
常见的路径覆盖方法:2种
A:独立路径覆盖
定义:即覆盖所有的独立路径的测试,所谓独立路径应至少包含一条在其它路径中从未有过的边
B:Z路径覆盖
定义:是一种将实际项目中复杂的程序减少其循环次数的路径覆盖方法,
即:不考虑循环体实际需要执行多少次,只考虑通过循环体0次和1次这两种情况
Z路径覆盖:
0次循环:直接跳过循环体,从循环体入口直接到出口
1次循环:通过一次循环体即可
备注:
&&(短路与), ||(短路或)
白盒测试方法的优点:
1.深入程序内部,测试粒度较细。
2.是测试用例设计方法的组成部分,也是黑盒测试方法的有力补充。
3.为自动化测试与性能测试奠定基础。
白盒测试方法的缺点:
1.过分关注代码本身,容易偏离SRS实际需求
2.对相应的编程语言要求较高,人力成本较大
针对用例设计方法小结:
黑盒测试+白盒测试+基于经验的测试