6

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

所以如果我有以下方法

void someMethod()
  {

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

      }

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

  }

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

谢谢,

4

2 回答 2

1

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

于 2010-05-18T00:11:53.267 回答
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
于 2010-05-18T08:31:01.287 回答