判定条件網羅|情報処理安全確保支援士試験 令和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)
解説

判定条件網羅、又は分岐網羅では、判定の結果がYesになる場合とNoになる場合の両方を少なくとも1回ずつ実行します。

この流れ図の判定条件は、A > 6 or B = 0です。条件全体が真ならYes側に進み、偽ならNo側に進みます。

アの(A=1,B=1)では、A > 6B = 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側の分岐を実行できないため、判定条件網羅を満たしません。
TSUNAGARU-ADVICE

まず押さえたいこと

判定条件網羅、つまり分岐網羅では、判定結果がYesになる場合とNoになる場合の両方を少なくとも1回ずつ通るようにテストケースを設定します。

迷ったときの判断軸

条件は「A > 6 or B = 0」なので、Aが7以上、又はBが0ならYesになります。Noにするには、Aが6以下で、かつBが0ではない必要があります。したがって、条件全体が真になるデータと偽になるデータがそろっている組合せを選びます。

科目Bにつなげるために

科目Bでは、テスト技法について、個々の条件を見るのか、判定結果の分岐を見るのかを切り分ける力が問われます。判定条件網羅は、処理2を通るケースと通らないケースを両方確認する考え方として押さえておきましょう。※開発関連試験向け