命令網羅・分岐網羅の全体像

ホワイトボックステストではコード構造をどこまで実行したかを網羅基準で測る。命令網羅は全命令、分岐網羅は各判定結果の真偽を通す。

この単元で学ぶこと

  • 命令網羅の意味と役割を説明できる
  • 分岐網羅の意味と役割を説明できる
  • テストケースの意味と役割を説明できる
  • 命令網羅と分岐網羅の違いをコード例から判断できる

本文解説

分岐があると、全命令を通していても条件の片側が未実行のことがある。分岐網羅は各判定結果を少なくとも一度ずつ通す。

命令網羅 全実行可能命令を少なくとも1回実行する。 statement coverage。

分岐網羅 各判定の真/偽を少なくとも1回通す。 branch/decision coverage。

テストケース 網羅条件を満たす入力集合。 最少件数と網羅度を考える。

到達不能コード 仕様上実行できない命令。 網羅率解釈に注意。

網羅率 実行済み対象/全対象で計算する。 100%でも欠陥ゼロを保証しない。

各判定についてtrue/falseの実行有無を表にする。

if(x>0) y=1; の命令網羅はx=1だけでも満たせるが、分岐網羅にはx<=0のケースも必要。

図解

命令網羅と分岐網羅
実行命令と判定結果の網羅対象を比較する。

重要ポイント

  • 命令網羅: 全実行可能命令を少なくとも1回実行する。
  • 分岐網羅: 各判定の真/偽を少なくとも1回通す。
  • テストケース: 網羅条件を満たす入力集合。
  • 到達不能コード: 仕様上実行できない命令。
  • 命令網羅100%≠分岐網羅100%。

間違えやすい点

  • 全命令実行を全分岐実行と同一視しない。
  • 網羅率100%で全欠陥がないと考えない。
  • 判定結果の真偽を記録せず感覚で判断しない。

用語解説

命令網羅
全実行可能命令を少なくとも1回実行する。
分岐網羅
各判定の真/偽を少なくとも1回通す。
テストケース
網羅条件を満たす入力集合。
到達不能コード
仕様上実行できない命令。
網羅率
実行済み対象/全対象で計算する。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。