判定条件網羅|情報処理安全確保支援士試験 令和4年秋期午前Ⅱ 問22
出典:令和4年秋期 午前Ⅱ 問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)
TSUNAGARU-ADVICE
まず押さえたいこと
判定条件網羅、つまり分岐網羅では、判定結果がYesになる場合とNoになる場合の両方を少なくとも1回ずつ通るようにテストケースを設定します。
迷ったときの判断軸
条件は「A > 6 or B = 0」なので、Aが7以上、又はBが0ならYesになります。Noにするには、Aが6以下で、かつBが0ではない必要があります。したがって、条件全体が真になるデータと偽になるデータがそろっている組合せを選びます。
科目Bにつなげるために
科目Bでは、テスト技法について、個々の条件を見るのか、判定結果の分岐を見るのかを切り分ける力が問われます。判定条件網羅は、処理2を通るケースと通らないケースを両方確認する考え方として押さえておきましょう。※開発関連試験向け
判定条件網羅、又は分岐網羅では、判定の結果が
Yesになる場合とNoになる場合の両方を少なくとも1回ずつ実行します。この流れ図の判定条件は、
A > 6 or B = 0です。条件全体が真ならYes側に進み、偽ならNo側に進みます。アの
(A=1,B=1)では、A > 6もB = 0も成り立たないのでNoになります。一方、(A=7,B=1)ではA > 6が成り立つのでYesになります。したがって、アが適切です。
❌他選択肢が誤りの理由イ:(A=4,B=0),(A=8,B=1)
⇒どちらも条件全体が真になり、
Yes側だけを通ります。No側の分岐を実行できないため、判定条件網羅を満たしません。ウ:(A=4,B=1),(A=6,B=1)
⇒どちらも
A > 6が偽で、かつB = 0も偽なので、条件全体は偽になります。No側だけを通り、Yes側の分岐を実行できません。エ:(A=7,B=1),(A=1,B=0)
⇒どちらも条件全体が真になり、
Yes側だけを通ります。No側の分岐を実行できないため、判定条件網羅を満たしません。