応用情報技術者 2022年 秋期 午前2 問48
問題文
流れ図で示したモジュールを表の二つのテストケースを用いてテストしたとき、テストカバレッジ指標である(命令網羅)と(分岐網羅)とによる網羅率の適切な組みはどれか。ここで、変数V〜変数Zの値は、途中の命令で変更されない。


選択肢
ア:
イ:(正解)
ウ:
エ:
流れ図のテストカバレッジ指標 (命令網羅)と (分岐網羅)の適切な組み合わせ【午前2 解説】
要点まとめ
- 結論:2つのテストケースで命令網羅は100%達成できるが、分岐網羅は80%にとどまる。
- 根拠:全命令は2ケースで実行されるが、分岐の一部ルートが未通過のため分岐網羅は不完全。
- 差がつくポイント:ループや複数条件分岐の全パターンを網羅するためには、テストケースの選択が重要である。
正解の理由
イの「による網羅率=100%、による網羅率=80%」が正解です。
2つのテストケースはすべての命令(長方形)を少なくとも一度は実行するため命令網羅は100%です。しかし、分岐網羅は条件分岐の「Yes」「No」両方の経路をすべて通る必要があり、今回のテストケースでは一部の分岐の「No」経路が未実行であるため80%に留まります。
2つのテストケースはすべての命令(長方形)を少なくとも一度は実行するため命令網羅は100%です。しかし、分岐網羅は条件分岐の「Yes」「No」両方の経路をすべて通る必要があり、今回のテストケースでは一部の分岐の「No」経路が未実行であるため80%に留まります。
よくある誤解
命令網羅が100%なら分岐網羅も100%と誤解しがちですが、分岐網羅は条件の真偽両方の経路を通る必要があり、命令網羅より厳しい基準です。
解法ステップ
- 流れ図の全命令(長方形)と分岐(ひし形)を確認する。
- テストケース1・2の変数値を代入し、実行経路を追う。
- 各命令が少なくとも1回実行されているか確認し、命令網羅率を算出。
- 各分岐の「Yes」「No」両方の経路が通過されているか確認し、分岐網羅率を算出。
- 命令網羅100%かつ分岐網羅80%の組み合わせを選択肢から特定する。
選択肢別の誤答解説
- ア:命令網羅・分岐網羅ともに100%は誤り。分岐の一部経路が未通過のため分岐網羅は100%にならない。
- イ:命令網羅100%、分岐網羅80%で正解。
- ウ:命令網羅80%、分岐網羅100%は矛盾。分岐網羅が100%なら命令網羅も100%になる。
- エ:命令網羅・分岐網羅ともに80%は誤り。命令網羅は2ケースで全命令を通るため100%になる。
補足コラム
命令網羅()はプログラム内のすべての命令を少なくとも1回実行することを指し、分岐網羅()はすべての条件分岐の真偽両方の経路を通ることを意味します。分岐網羅は命令網羅よりも厳しい基準であり、テスト設計の際は両者の違いを理解して適切なテストケースを選ぶことが重要です。
FAQ
Q: 命令網羅と分岐網羅の違いは何ですか?
A: 命令網羅はすべての命令を実行すること、分岐網羅はすべての条件分岐の「Yes」「No」両方の経路を通ることです。
A: 命令網羅はすべての命令を実行すること、分岐網羅はすべての条件分岐の「Yes」「No」両方の経路を通ることです。
Q: なぜ分岐網羅は命令網羅より難しいのですか?
A: 分岐網羅は条件の真偽両方の経路を通る必要があり、単に命令を実行するだけでなく複数の経路を網羅しなければならないためです。
A: 分岐網羅は条件の真偽両方の経路を通る必要があり、単に命令を実行するだけでなく複数の経路を網羅しなければならないためです。
関連キーワード: 命令網羅、分岐網羅、テストカバレッジ、流れ図、テストケース設計

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

