多条件覆盖率测试

时间:2010-05-17 22:25:44

标签: testing white-box-testing

当使用称为多条件覆盖率的白盒测试方法时,我们是否采用所有条件语句或仅具有多个条件的条件语句?现在也许是名字中的线索,但我不确定。

所以,如果我有以下方法

void someMethod()
  {

      if(a && b && (c || (d && e)) )  //Conditional A
      {

      }

      if(z && q)   // Conditional  B
      {
      }

  }

我是否只为“条件A”生成真值表,还是我还有条件B?

谢谢,

2 个答案:

答案 0 :(得分:1)

我可能在这里遗漏了一些东西但是,你在问题中编写代码的方式,条件A和B完全相互独立。因此,除非您测试两个条件,否则您不会涵盖所有代码。

答案 1 :(得分:1)

我在多条件覆盖范围内找到了以下内容。这似乎表明,多条件覆盖范围,顾名思义,仅适用于具有多个语句的条件。

所以对于以下条件:

if ((a>0)&&(b<=4)&&(c>0))

我们创建以下

Test Case   a > 0   b <= 4    c > 0
MCC1        F        F         F
MCC2        F        F         T
MCC3        F        T         F
MCC4        F        T         T
MCC5        T        F         F
MCC6        T        F         T
MCC7        T        T         F
MCC8        T        T         T