戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

システムアーキテクト 2021年 午前207


問題文

あるプログラムについて、流れ図で示される部分に関するテストケースを、判定条件網羅(分岐網羅)によって設定する。この場合のテストケースの組合せとして、適切なものはどれか。ここで、()で囲んだ部分は、一組みのテストケースを表すものとする
システムアーキテクト 2021年 午前2 問07の問題画像

選択肢

(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解説】

正解の理由

判定(分岐)網羅は、各判定(決定)が少なくとも一度は真(True)および偽(False)になるようにテストケースを選ぶことを目的とします。設問の判定式は です。
選択肢の組合せのうち、1つの組で判定が真、もう1つの組で判定が偽となるのは の組合せのみです。具体的には
  • (A=1, B=1) は が偽、 も偽で判定全体が偽になる(ルートは「No」側)。
  • (A=7, B=1) は が真で判定全体が真になる(ルートは「Yes」側)。
したがって、判定が真と偽の両方をカバーしており、判定(分岐)網羅を満たします。

解法ステップ

  1. 判定式を確認する: (論理和)。
  2. 各テストケースについて、左側の条件 および右側の条件 を評価する。
  3. その組合せで判定全体が真(少なくとも一方が真)か偽(両方偽)かを判定する。
  4. 2つのテストケースで「少なくとも一度は真、少なくとも一度は偽」になる組合せを選ぶ。
この手順で各選択肢を確認すれば正答が導けます。

選択肢別の誤答解説

  • ア: (A=1, B=1)、(A=7, B=1)
    • (1,1): 偽、 偽 → 判定は偽
    • (7,1): 真 → 判定は真
    • よって真と偽を両方含み、判定(分岐)網羅を満たす(正解)。
  • イ: (A=4, B=0)、(A=8, B=1)
    • (4,0): 真 → 判定は真
    • (8,1): 真 → 判定は真
    • 両方とも判定は真で、偽をカバーしていない(不正解)。
  • ウ: (A=4, B=1)、(A=6, B=1)
    • (4,1): 偽、 偽 → 判定は偽
    • (6,1): は偽)、 偽 → 判定は偽
    • 両方とも偽で、真をカバーしていない(不正解)。
  • エ: (A=7, B=1)、(A=1, B=0)
    • (7,1):真、(1,0): 真 → いずれも真
    • 偽を含まないため不正解。

よくある誤解

  1. 「判定網羅は各原子条件()それぞれを真偽で両方試せば良い」
    • これは条件網羅(Condition Coverage)や複合条件網羅と混同した誤解です。判定(分岐)網羅は「判定式全体」が真と偽になることを要求します。原子条件ごとの真偽の両方を必須とするわけではありません。
  2. 「1つのテストで同時に真と偽にできることがある」
    • 単一の実行で同一の判定が同時に真と偽になることは不可能です。したがって、判定網羅で判定の両方(真・偽)を得るには原則として少なくとも2件のテストケースが必要です。
  3. 「不等号の境界()を誤解する」
    • は異なる条件です。 を与えたときの評価が変わるため注意してください。

補足コラム

  • 判定(分岐)網羅はテストの基本的かつ重要な基準で、制御フローの各分岐が両方向(実行と非実行)を経験することを確認します。
  • 条件網羅(各原子条件が真・偽をそれぞれとる)や修正条件/判定網羅(MC/DC)のような厳密な基準は、より多くのテストケースを必要とします。例えば複合論理式では、原子条件すべての組合せを試すと組合せ数が指数的に増え、現実的には重点的に設計することが一般的です。
  • ループや状態変化が絡む場合は、単純に判定の真偽を満たすだけでなく、実行経路(パス)や前後の状態遷移も考慮する必要があります(パス網羅は通常コストが高い)。

FAQ

Q: 判定網羅と条件網羅、どちらを優先すべきですか?
A: 優先度はテスト目的によります。まずは判定(分岐)網羅で基本的な分岐の確認を行い、セーフティクリティカルや高リスク箇所では条件網羅やMC/DCを追加します。
Q: ループがあるとき、ループを何回まで実行すべきですか?
A: 一般には 0回(未実行)、1回、複数回(境界:最小反復、最大反復や上限)を含めることが多いです。判定網羅の観点では、分岐結果(ループ継続/脱出)が真偽両方になるようにテストします。
Q: 「1件で両方を満たせることが稀」という表現は許されますか?
A: いいえ。判定の評価は一回の実行で単一の真偽しか取り得ないため、「稀」や「可能性がある」といった表現は誤りです。原則として少なくとも2件のテストが必要です。

関連キーワード: 判定網羅、分岐網羅、条件網羅、論理和、テストケース設計
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

システムアーキテクト
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

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

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について