質問

複数の条件カバレッジと呼ばれるホワイトボックステスト方法を使用する場合、すべての条件付きステートメントを実行しますか、それとも複数の条件のあるステートメントのみを実行しますか?たぶん、名前の手がかりがありますが、私はよくわかりません。

したがって、次の方法がある場合

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