×
開発技術と開発管理
  • 命令網羅(C0): プログラム内のすべての命令文(実行行)が、少なくとも1回は実行されるようにテストケースを設計します。最も基本的なカバレッジですが、分岐の条件の片方しか通らないため、網羅性は低いです。
  • 分岐網羅(C1): すべての条件分岐において、その結果(真/Yes と 偽/No)が少なくとも1回は実行されるようにテストケースを設計します。命令網羅よりも網羅性が高くなります。
  • 条件網羅(C2): 分岐の判定基準となる個々の部分条件が、真と偽の両方の値を少なくとも1回は取るようにテストケースを設計します。

さらに、これらを組み合わせた「複数条件網羅(MCC)」や、すべての実行パスを網羅する「パス網羅」などがあり、高い信頼性が求められる安全規格などでは、より厳しい網羅率が要求されます。

試験でのポイント

試験では、ホワイトボックステストの網羅基準(命令網羅、分岐網羅、条件網羅など)の定義と、与えられたプログラム構造に対して必要な「最小テストケース数」を算出する問題が頻出します。

例えば、2つの独立した if 文がある場合、すべての分岐(分岐網羅)をパスするために必要なテスト回数を求める手順などが出題されます。また、「プログラムの内部構造を考慮したテストである」という基本概念と、それが適用される「単体テスト」の対応関係をしっかりと覚えておきましょう。

関連する用語

関連する用語には、テストの網羅率を示す「コードカバレッジ」、すべての実行文を通す「命令網羅」、すべての分岐ルートを通す「分岐網羅」、および内部構造を無視して入出力を見る「ブラックボックステスト」があります。