当使用白框测试方法称为多条件覆盖范围时,我们是否采用所有条件陈述,还是只有多个条件的陈述?现在也许是名字中的线索,但我不确定。

因此,如果我有以下方法

void someMethod()
  {

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

      }

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

  }

我是为“有条件a”生成真相表,还是也要做有条件的b?

谢谢,

有帮助吗?

解决方案

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

其他提示

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

因此,对于以下条件:

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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top