応用情報技術者 2022年 春期 午前2 問47
問題文
次の流れ図において、判定条件網羅 (分岐網羅) を満たす最少のテストケースの組みはどれか。

選択肢
ア:(1) A=0, B=0 (2) A=1, B=1
イ:(1) A=1, B=0 (2) A=1, B=1(正解)
ウ:(1) A=0, B=0 (2) A=1, B=1 (3) A=1, B=0
エ:(1) A=0, B=0 (2) A=0, B=1 (3) A=1, B=0
判定条件網羅(分岐網羅)を満たす最少テストケースの選択【午前2 解説】
要点まとめ
- 結論:判定条件網羅を満たすには、各判定条件の真偽を最低1回ずつテストする必要があり、選択肢イが最少の組み合わせです。
- 根拠:判定条件網羅は「各判定条件の真・偽の両方を少なくとも1回ずつ通る」ことが条件であり、図の条件「A>0かつB=0」と「A>0かつC=1」の判定を網羅します。
- 差がつくポイント:条件の複合判定を正しく分解し、必要最小限のテストケースで全条件の真偽をカバーできるかが鍵です。
正解の理由
選択肢イは、(1) A=1, B=0 と (2) A=1, B=1 の2ケースで、
- (1) で「A>0かつB=0」が真となり、Yesルートを通る。
- (2) で「A>0かつB=0」が偽(B≠0)となりNoルートを通る。
さらに、(2)のケースでCの値を変えることで「A>0かつC=1」の判定も真偽両方をカバー可能です。
これにより、判定条件網羅の要件を満たしつつ、最少の2ケースで済みます。
よくある誤解
判定条件網羅は単に分岐を通れば良いと誤解しがちですが、各判定条件の真偽両方を必ずテストする必要があります。
また、条件の複合判定を単純に分岐数で考えると過剰なテストケースを作成しがちです。
また、条件の複合判定を単純に分岐数で考えると過剰なテストケースを作成しがちです。
解法ステップ
- 流れ図の判定条件を明確に分解する(例:「A>0かつB=0」)。
- 各判定条件の真(Yes)と偽(No)を満たす入力値を考える。
- 各判定条件の真偽をカバーする最小のテストケースを組み合わせる。
- 選択肢のテストケースと照合し、最小の組み合わせを選ぶ。
選択肢別の誤答解説
- ア: (1) A=0, B=0 は「A>0かつB=0」が偽で、(2) A=1, B=1 は「B=0」が偽。真の条件を満たすケースが不足。
- イ: 正解。2ケースで全判定条件の真偽を網羅。
- ウ: 3ケースで過剰。判定条件網羅は最少ケースが求められるため非効率。
- エ: 3ケースで過剰かつ「A>0かつB=0」の真偽を効率的にカバーできていない。
補足コラム
判定条件網羅はソフトウェアテストの基本的な網羅基準の一つで、条件網羅よりも厳密です。
条件網羅は各単一条件の真偽をテストするのに対し、判定条件網羅は判定式全体の真偽をテストします。
これにより、複合条件の誤り検出に効果的です。
条件網羅は各単一条件の真偽をテストするのに対し、判定条件網羅は判定式全体の真偽をテストします。
これにより、複合条件の誤り検出に効果的です。
FAQ
Q: 判定条件網羅と条件網羅の違いは何ですか?
A: 条件網羅は各単一条件の真偽をテストするのに対し、判定条件網羅は判定式全体の真偽をテストします。
A: 条件網羅は各単一条件の真偽をテストするのに対し、判定条件網羅は判定式全体の真偽をテストします。
Q: なぜ最少テストケースが重要ですか?
A: テスト工数削減と効率的なバグ検出のため、必要十分なテストケースを選ぶことが重要です。
A: テスト工数削減と効率的なバグ検出のため、必要十分なテストケースを選ぶことが重要です。
関連キーワード: 判定条件網羅、分岐網羅、テストケース設計、ソフトウェアテスト、条件判定

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

