命令網羅・分岐網羅の全体像
ホワイトボックステストではコード構造をどこまで実行したかを網羅基準で測る。命令網羅は全命令、分岐網羅は各判定結果の真偽を通す。
この単元で学ぶこと
- 命令網羅の意味と役割を説明できる
- 分岐網羅の意味と役割を説明できる
- テストケースの意味と役割を説明できる
- 命令網羅と分岐網羅の違いをコード例から判断できる
本文解説
分岐があると、全命令を通していても条件の片側が未実行のことがある。分岐網羅は各判定結果を少なくとも一度ずつ通す。
命令網羅 全実行可能命令を少なくとも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回通す。
- テストケース
- 網羅条件を満たす入力集合。
- 到達不能コード
- 仕様上実行できない命令。
- 網羅率
- 実行済み対象/全対象で計算する。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。