关于软件工程:软件工程-白盒测试各种覆盖详解

59次阅读

共计 821 个字符,预计需要花费 3 分钟才能阅读完成。

最近在温习软工
明天在这里总结一下白盒测试的各种笼罩~

从覆盖度高到覆盖度低的排序:

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>3z<10x>3 and z<10
1TTT
2TFF
3FTF
4FFF

第二个判断 x==4 or y>5

x==4y>5x==4 or y>5
1TTT
2TFF
3FTF
4FFF

一组测试用例:(经测验你会发现能够满足全副的下面 8 个状况)
1) {x=4,y=6,z=5}
2) {x=4,y=3,z=10}
3) {x=3,y=4,z=5}
4) {x=3,y=6,z=11}

条件 / 判断笼罩
条件笼罩 clause coverage


每一个判断中的每个子句的不同 true false 都要取一次

对于这里一共有四个子句:x>3 z<10 x==4 y>5
x>3 取 true false 各一次(以及以上)
z<10 取 true false 各一次(以及以上)
… 以此类推 就能够满足条件笼罩

一组测试用例

  1. {x=4, y=5, z=5}
  2. {x=3, y=6, z=15}
判断笼罩 branch coverage


如图上标记,每个判断之后都有 T 和 F 的后果。

判断笼罩则是在可能在每个判断取至多一个 T 和至多一次 F 的测试用例笼罩。

一组测试用例:

  1. {x=4, y=5, z=5}
  2. {x=2, y=5, z=5}
正文完
 0