開発技術
ホワイトボックステストのカバレッジ(網羅率)の種類に関する記述として、適切なものはどれか。
ア.命令網羅(C0)はすべての判定条件の真偽組み合わせを少なくとも1回実行することを目標とする。
イ.判定網羅(C1)は、プログラム中のすべての命令文を少なくとも1回実行することを目標とする。
ウ.条件網羅(C2)は各判定条件の部分条件(個々のbool式)が真・偽の両方になることを目標とするが、必ずしも判定網羅を包含しない。正解
エ.命令網羅(C0)を達成すれば、自動的に判定網羅(C1)と条件網羅(C2)も達成される。
解説
ホワイトボックステストは「プログラムの中身を見ながらテストする」方式。命令網羅はすべての行を通るだけ、判定網羅はすべての分岐を通る、条件網羅は複合条件の各部品を個別にチェックします。面白いのは「条件網羅≠判定網羅を包含しない」点です。
なぜ ウ が正解か
条件網羅(MC/DC等の厳密版の前身)は、複合条件式(A AND B)の各部分条件(A、B)が独立して真・偽になるテストケースを要求します。しかし「A=真、B=偽」と「A=偽、B=真」は個々の条件を真偽両方テストしますが、判定全体(A AND B)が偽にしかなりません。つまり条件網羅のみでは判定網羅(分岐の真側)を保証しない場合があります。
出典: AI生成問題(学習用)