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