ソフトウェア開発とプロジェクト管理
判定「A かつ B」(A と B は互いに独立に真偽を決められる条件)に対して、テストケース(A = 真、B = 偽)と(A = 偽、B = 真)の2つを実行した。網羅の基準について、正しいものはどれか。
- A分岐網羅は満たすが、条件網羅は満たさない
- B分岐網羅と条件網羅の両方を満たす
- C条件網羅は満たすが、分岐網羅は満たさない
答えと解説を見る
正解:C. 条件網羅は満たすが、分岐網羅は満たさない
条件網羅は、判定の中の個々の条件(A と B)が、それぞれ真と偽を少なくとも1回とることを求めます。2つのテストケースで A も B も真と偽を1回ずつとるので、条件網羅は満たします。しかし「A かつ B」はどちらのテストケースでも偽になり、判定が真になる分岐を一度も通らないので、分岐網羅は満たしません。条件網羅だけでは分岐網羅を保証できないため、両方を満たす判定条件/条件網羅などが使われます。なお、ここでは各条件に与えた値で考えていて、C言語の && のように左側が偽なら右側を評価しない場合は、実際に評価された条件で数える考え方もあります。
- A. 判定はどちらのテストケースでも偽になるので、分岐網羅は満たしません。
- B. 判定が真になるテストケースがないので、分岐網羅は満たしません。
- C. 正しい。A と B はそれぞれ真と偽をとりますが、判定「A かつ B」は一度も真になりません。