文档介绍:把程序看成装在一个透明的白盒子里,程序的结构和处理呈现过程完全可见,按照程序的内部逻辑测试程序,以检查程序中的每条通路是否都能按照预先要求正确工作。
第4章白盒测试方法
白盒测试的基本概念
1
逻辑覆盖
2
基于路径的测试
3
其它测试类型
4
主要内容
白盒测试的基本概念
什么是白盒测试
把程序看成装在一个透明的白盒子里,程序的结构和处理过程完全可见,按照程序的内部逻辑测试程序,以检查程序中的每条通路是否都能按照预先要求正确工作。
白盒测试的常用方法
逻辑覆盖
独立路径测试
循环测试
…
逻辑覆盖是以程序的内部逻辑结构为基础的测试用例设计技术,属于白盒测试。它要求测试人员十分清楚程序的逻辑结构,考虑的是测试用例对程序内部逻辑覆盖的程度。
逻辑覆盖
语句覆盖
判定覆盖
条件覆盖
判定/条件覆盖
条件组合覆盖
路径覆盖
1 语句覆盖
设计足够的测试用例,使得程序中的每个语句至少执行一次。
1 语句覆盖
入口
A > 1
AND B=0
T
A=2
OR X > 1
T
X = X / A
X = X + 1
返回
F
F
A
B
x
用例1
2
0
4
用例2
?
第一个判断中的逻辑运算符“AND”若错写成了“OR”,能否测试出来?
路径:P1(TT)P2(FF)P3(FT)P4(TF)
2 判定覆盖
设计足够的测试用例,使得在语句覆盖的基础上,程序中每个判定的取“真”分支和取“假”分支至少都执行一次,判定覆盖又称分支覆盖。
2 判定覆盖(分支覆盖)
入口
A > 1
AND B=0
T
A=2
OR X > 1
T
X = X / A
X = X + 1
返回
F
F
A
B
x
用例1
2
0
4
用例2
1
1
1
?
判定覆盖比语句覆盖强,但是仍不能保证判断条件的正确性。例如:第二个判断条件中的x>1若错写成了x<1,能否测试出来?
3 条件覆盖
设计足够的测试用例,在语句覆盖的基础上使得程序判定中的每个条件能获得各种可能的结果。