情報処理安全確保支援士 2022年 秋期 午前2 問22
問題文
あるプログラムについて、流れ図で示される部分に関するテストケースを、判定条件網羅(分岐網羅)によって設定する。この場合のテストケースの組合せとして、適切なものはどれか。ここで、()で囲んだ部分は、一組みのテストケースを表すものとする。

選択肢
ア:(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解説】
正解の理由
この問題では「判定(分岐)」に対して真(Yes)と偽(No)の両方の経路を少なくとも一度実行することを目的とする判定網羅(分岐網羅)を要求しています。条件式は「A > 6 or B = 0」です。アの組合せは (A=1,B=1) がこの判定を偽にし、(A=7,B=1) が真にするため、判定の両方の出口(Yes と No)を網羅します。したがって判定網羅の要件を満たします。
解法ステップ
- 条件式を確認する: A > 6 OR B = 0(論理和)。判定は式全体の真偽で決まる。
- 判定網羅(分岐網羅)の定義を確認する: 各判定(decision)のすべての出口(真/偽)を少なくとも1回通過する。
- 各選択肢のテストケースで式の真偽を評価する:
- True(判定が成立)となるのは A > 6 が真、または B = 0 が真 の場合。
- False(判定が不成立)となるのは A ≤ 6 かつ B ≠ 0 の場合。
- 各組合せについて、1つは True、もう1つは False になる組合せを選べば良い。
- 選択肢を評価し、条件を満たすものを選ぶ(結果として ア が適合)。
選択肢別の誤答解説
- ア: (A=1,B=1) → A>6:false, B=0:false → 判定は False。 (A=7,B=1) → A>6:true → 判定は True。→ 真・偽両方を含み、判定網羅を満たす。
- イ: (A=4,B=0) → B=0:true → 判定は True。 (A=8,B=1) → A>6:true → 判定は True。→ 両方とも True で False を含まないため判定網羅を満たさない。
- ウ: (A=4,B=1) → False。 (A=6,B=1) → A>6 は false(6>6 は偽)、B≠0 で False。→ 両方とも False のため True を含まない。判定網羅を満たさない。
- エ: (A=7,B=1) → True。 (A=1,B=0) → B=0:true → True。→ 両方とも True のため判定網羅を満たさない。
よくある誤解
- 「条件網羅」と「判定(分岐)網羅」を同じものと考える誤り。条件網羅は複合条件を構成する各原子条件(例えば A>6 や B=0)がそれぞれ真と偽を取ることを要求する基準であり、判定網羅は式全体(判定)の真偽の両方を実行することだけを要求します。双方は別物であり、条件網羅の方が必ずしも判定網羅より簡単とは限りません。
- OR(または)を含む式で「どちらか一方を真にすれば十分」と考え、偽の場合の確認を怠るミス。分岐網羅では必ず偽のケースも用意する必要があります。
- ループ構造があるために追加のテストが必要だと誤解すること。今回の問いは判定の真偽を網羅することが目的で、ループの反復回数まで検証する要求は含まれていません(ループの入出力を検討する別の基準が必要)。
補足コラム
判定式「A > 6 or B = 0」の真偽は、ブール論理の真理値表で整理するとわかりやすいです。表現すると:
- A>6 = T または B=0 = T → 判定 = T
- A>6 = F かつ B=0 = F → 判定 = F
判定網羅(分岐網羅)を満たす最小のテストケース数は通常 2(真と偽をそれぞれ1つずつ)です。ただし、複雑な分岐や副作用のある条件式では、実運用上さらに多くのケースが必要になることがあります。条件網羅は「各原子条件が真と偽を取ること」を求めるため、同じ式でも用意するテストは増えることがあります。また「判定条件網羅(条件判定網羅)」は判定網羅と条件網羅の両方を満たす基準であり、より厳格です。
FAQ
Q: 判定網羅は条件網羅より簡単か難しいか?
A: 一概には言えません。判定網羅は各判定の真偽を押さえるだけなのでケース数は通常少なくて済みますが、条件網羅は各原子条件を真偽両方で確認する必要があるため、一般に試験ケース数は増えます。
A: 一概には言えません。判定網羅は各判定の真偽を押さえるだけなのでケース数は通常少なくて済みますが、条件網羅は各原子条件を真偽両方で確認する必要があるため、一般に試験ケース数は増えます。
Q: 複合条件で判定網羅を満たす最小ケース数はいくつ?
A: 通常は 2(判定が True になるケースと False になるケース)。ただし条件式の形や副作用により追加が必要となる場合があります。
A: 通常は 2(判定が True になるケースと False になるケース)。ただし条件式の形や副作用により追加が必要となる場合があります。
Q: 「判定条件網羅」とは何か?
A: 判定条件網羅は、判定網羅(分岐網羅)と条件網羅の両方を満たすことを要求する基準です。従って両者の要件を満たすテスト設計が必要になります。
A: 判定条件網羅は、判定網羅(分岐網羅)と条件網羅の両方を満たすことを要求する基準です。従って両者の要件を満たすテスト設計が必要になります。
関連キーワード: 判定網羅、分岐網羅、条件網羅、判定条件網羅、論理式、ブール演算、真理値表

\ せっかくなら /
情報処理安全確保支援士を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

