条件组合覆盖的子集,又被称为 MC DC 覆盖,一般满足以下特征:

  • 入口出口至少调用一次
  • 满足判定覆盖
  • 满足条件覆盖
  • 每个判定中的每个条件必须能够独立影响一个判定的输出,即在其他条件不变的前提下仅改变这个条件的值会使判定结果改变(对条件组合覆盖进行了一个简化)

即先进行一个条件组合覆盖的列表

条件组合号条件组合条件标记判定取值
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个为假

将里面合乎特征的进行筛选

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

即这四个组合,在对这四个条件组合进行一个组合

序号覆盖条件覆盖分支测试用例期望
1T1,T2, F3, T4acex=5, y=0, z=616
2T1,F2,F3, F4abdx=8, y=10, z=610
3F1,T2, T3, F4acex=2, y=0, z=-42
4T1,F2,F3, F4acdx=7, y=5, z=47

白盒测试当中最常用的覆盖分析方法