情報処理安全確保支援士試験 2022年 秋期 午前222


あるプログラムについて、流れ図で示される部分に関するテストケースを、判定条件網羅(分岐網羅)によって設定する。この場合のテストケースの組合せとして、適切なものはどれか。ここで、()で囲んだ部分は、一組みのテストケースを表すものとする。
問題画像
(A=1,B=1), (A=7,B=1)(正解)
(A=4,B=0), (A=8,B=1)
(A=4,B=1), (A=6,B=1)
(A=7,B=1), (A=1,B=0)

解説

判定条件網羅(分岐網羅)によるテストケース設定【午前2 解説】

要点まとめ

  • 結論:判定条件網羅では、条件式の各判定条件が真・偽の両方を少なくとも一度は通るテストケースが必要です。
  • 根拠:条件式「A > 6 or B = 0」は2つの判定条件「A > 6」「B = 0」から成り、両方の真偽を網羅する必要があります。
  • 差がつくポイント:単に分岐のYes/Noを網羅するだけでなく、条件式内の各判定条件の真偽を個別に検証することが重要です。

正解の理由

選択肢アのテストケースは、(A=1,B=1)で「A > 6」が偽かつ「B = 0」も偽となり条件式全体が偽(No判定)を通ります。一方、(A=7,B=1)では「A > 6」が真、「B = 0」は偽ですが、条件式は真(Yes判定)となります。これにより、条件式の各判定条件が真・偽の両方をカバーし、判定条件網羅の要件を満たしています。

よくある誤解

条件式の分岐網羅は単にYes/Noの分岐を通ればよいと誤解されがちですが、判定条件網羅は条件式内の各判定条件の真偽を個別に検証することが求められます。

解法ステップ

  1. 条件式を判定条件に分解する:「A > 6」と「B = 0」の2つ。
  2. 各判定条件が真となるテストケースを探す。
  3. 各判定条件が偽となるテストケースを探す。
  4. それらを組み合わせて、条件式全体の真偽を網羅するテストケースを選定する。
  5. 選択肢のテストケースが条件判定の真偽を満たしているか確認する。

選択肢別の誤答解説

  • ア: 正解。条件「A > 6 or B = 0」の判定条件を真偽両方で網羅している。
  • イ: (A=4,B=0)は「B=0」が真、(A=8,B=1)は「A>6」が真。両方真のケースのみで偽のケースがないため不十分。
  • ウ: (A=4,B=1)と(A=6,B=1)はどちらも「A>6」が偽、「B=0」も偽で条件式は偽のみ。真のケースがない。
  • エ: (A=7,B=1)は真、(A=1,B=0)は真(B=0が真)。偽のケースがないため条件判定網羅にならない。

補足コラム

判定条件網羅(分岐網羅)は、条件網羅よりも厳密で、条件式内の各判定条件の真偽を個別に検証します。例えば、条件式が複数の判定条件を含む場合、それぞれの真偽を少なくとも一度は通るテストケースを用意する必要があります。これにより、条件式の論理的な誤りや境界値の問題を検出しやすくなります。

FAQ

Q: 判定条件網羅と条件網羅の違いは何ですか?
A: 条件網羅は条件式全体の真偽を網羅するのに対し、判定条件網羅は条件式内の各判定条件の真偽を個別に網羅します。
Q: 「A > 6 or B = 0」の条件式で判定条件網羅を満たすには何が必要ですか?
A: 「A > 6」が真・偽、「B = 0」が真・偽の両方を少なくとも一度ずつ通るテストケースが必要です。

関連キーワード: 判定条件網羅, 分岐網羅, テストケース設計, フローチャート, 条件分岐, ソフトウェアテスト
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ