今天在这里总结一下白盒测试的各种覆盖~
从覆盖度高到覆盖度低的排序:
1.Path coverage(路径覆盖)
2.Combinatory coverage(多重条件覆盖/组合覆盖)
3.Clause/Branch coverage(条件/判断覆盖)
4.Clause coverage(条件覆盖)
5.Branch coverage(判断覆盖)
6.Statement coverage(语句覆盖)
用一个例子来示范:
路径覆盖-path coverage
对于路径覆盖,要把每一条路的每一种组合都走一遍。
在这里我标记了可能出现分叉的abcdef几条路,对于路径覆盖应该把以下路径的情况都走一遍:
acef
bcef
acdf
bcdf
多重条件覆盖/组合覆盖 combinatory coverage
每一个判断中的 每一个子句的组合 都要覆盖
第一个判断:x>3 and z<10
x>3 z<10 x>3 and z<10
1 T T T
2 T F F
3 F T F
4 F F F
第二个判断 x==4 or y>5
x==4 y>5
x=4 or y>5
1 T T T
2 T F F
3 F T F
4 F F F
一组测试用例:(经检验你会发现可以满足全部的上面8个情况)
-
{x=4,y=6,z=5}
-
{x=4,y=3,z=10}
-
{x=3,y=4,z