也称之为组合覆盖,因为判定-条件覆盖会因为逻辑操作符而短路,导致问题,因此需要将判定-条件覆盖进行加强,具体表现为:将条件覆盖里面的所有子条件进行组合,并满足判定覆盖的条件

但日常测试一般不用,因为其组合数高达 2^n 日常一般不用覆盖这么多,一般用修正条件-判定组合覆盖

大题

一般先设计条件组合,并加以标记: 例如这个条件组合列表:

条件组合号条件组合条件标记判定取值
1x≥3, y==0T1,T2第1个为真
2x≥3, y! =0T1,F2第1个为假
3x<3, y==0F1,T2第1个为假
4x<3, y!=0F1, F2第1个为假
5z≤5,x< zT3, T4第2个为真
6z<5, x≥zT3, F4第2个为真
7z>5, x< zF3, T4第2个为真
8z>5, x≥ZF3, F4第2个为假

组合覆盖要求不仅要覆盖所有条件的真假值、判定的真假分支,还需要覆盖所有条件组合号。

序号组合号测试用例覆盖条件执行路 径期望
11,5x=4, y=0, z= 5T1,T2,T3,T 4ace13
22, 6x=4, y=8, z= 3T1,F2,T3,F 4abe4
33, 7x=2, y=0, z= 6F1,T2, F3, T 4abe2
44, 8F1,F2, F3, F 4abd