也称之为组合覆盖,因为判定-条件覆盖会因为逻辑操作符而短路,导致问题,因此需要将判定-条件覆盖进行加强,具体表现为:将条件覆盖里面的所有子条件进行组合,并满足判定覆盖的条件
但日常测试一般不用,因为其组合数高达 2^n 日常一般不用覆盖这么多,一般用修正条件-判定组合覆盖
大题
一般先设计条件组合,并加以标记: 例如这个条件组合列表:
| 条件组合号 | 条件组合 | 条件标记 | 判定取值 |
|---|---|---|---|
| 1 | x≥3, y==0 | T1,T2 | 第1个为真 |
| 2 | x≥3, y! =0 | T1,F2 | 第1个为假 |
| 3 | x<3, y==0 | F1,T2 | 第1个为假 |
| 4 | x<3, y!=0 | F1, F2 | 第1个为假 |
| 5 | z≤5,x< z | T3, T4 | 第2个为真 |
| 6 | z<5, x≥z | T3, F4 | 第2个为真 |
| 7 | z>5, x< z | F3, T4 | 第2个为真 |
| 8 | z>5, x≥Z | F3, F4 | 第2个为假 |
组合覆盖要求不仅要覆盖所有条件的真假值、判定的真假分支,还需要覆盖所有条件组合号。
| 序号 | 组合号 | 测试用例 | 覆盖条件 | 执行路 径 | 期望 |
|---|---|---|---|---|---|
| 1 | 1,5 | x=4, y=0, z= 5 | T1,T2,T3,T 4 | ace | 13 |
| 2 | 2, 6 | x=4, y=8, z= 3 | T1,F2,T3,F 4 | abe | 4 |
| 3 | 3, 7 | x=2, y=0, z= 6 | F1,T2, F3, T 4 | abe | 2 |
| 4 | 4, 8 | 无 | F1,F2, F3, F 4 | abd | 无 |