逻辑覆盖属于白盒测试,是以程序内部的逻辑结构为基础的设计测试用例的技术。
它分为语句覆盖,判定覆盖,条件覆盖,判定-条件覆盖,条件组合覆盖,路径覆盖六种
其中,前三种覆盖较低,在不同程度上都存在缺陷;
路径覆盖较为严格;
例子:
该例子中有两个判断,四条路径:ace,abd,abe,acd
1、语句覆盖
设计若干个测试用例运行被测程序,每一可执行语句至少执行一次。
在上面的例子中,即a,b,x可以分别取3,0,2
2、判定覆盖
每个判定的取真分支和取假分支至少经历一次。
(条件都成立和都不成立)
a,b,x分别取1,1,1和2,0,4
3、条件覆盖
每个判断的每个条件的可能取值至少执行一次
即a,b,x的取值分别为2,0,4 2,0,3 1,0,1
4、判定-条件覆盖
判断中每个条件的所有可能值至少执行一次,同时每个判断中的每个条件的可能取值至少执行一次。
5、条件组合覆盖
使得每个判断的所有可能的条件取值组合至少执行一次
在例子中,
a,b,x 三个条件,八种情况
找到覆盖组合
6、路径测试
覆盖程序中的所有可能的路径