令和4年度 秋期 午前Ⅱ 問22
システム開発技術
この場合のテストケースの組合せ
あるプログラムについて,流れ図で示される部分に関するテストケースを,判定条件網羅(分岐網羅)によって設定する。この場合のテストケースの組合せとして,適切なものはどれか。ここで,( )で囲んだ部分は,一組みのテストケースを表すものとする。
〔図〕流れ図(上から下へ)
- 入口 → 「処理 1」
- 「処理 1」→ 判定「A > 6 or B = 0」
- 判定が Yes → 「処理 2」→ 合流点 → 出口
- 判定が No →(処理 2 を通らずに)合流点 → 出口
- ア(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)
答えと解説を見る
✓ これが正解ア(A=1,B=1),(A=7,B=1)
解説
判定がYesとNoの両方になるのは、A=1,B=1とA=7,B=1の組です。
判定条件網羅は分岐網羅とも呼ばれ、流れ図の判定が Yes になる場合と No になる場合の両方を、少なくとも1回ずつ通すようにテストケースを選ぶ方法です。この流れ図の判定は、A > 6 または B = 0 です。A が 6 より大きいか、B が 0 のどちらかを満たせば Yes、両方とも満たさなければ No になります。A=1、B=1 の組は、1 > 6 が偽、1 = 0 も偽なので No です。A=7、B=1 の組は、7 > 6 が真なので Yes です。二つの組で Yes と No がそろうので、判定条件網羅を満たします。
ほかの選択肢はなぜ違うのか
- イ(A=4,B=0),(A=8,B=1):A=4、B=0 の組は B が 0 なので判定が Yes になり、A=8、B=1 の組も 8 が 6 を超えるので Yes になります。No の側を通る組が一つも無いため、分岐の両方を通すという条件を満たしません。
- ウ(A=4,B=1),(A=6,B=1):A=4、B=1 の組はどちらの条件も満たさず No です。A=6、B=1 の組も、6 は 6 より大きくないので No になります。境界の値に注意すると、Yes の側を通る組が無く、網羅できていません。
- エ(A=7,B=1),(A=1,B=0):A=7、B=1 の組は 7 が 6 を超えるので Yes、A=1、B=0 の組も B が 0 なので Yes です。どちらも同じ側の分岐を通り、No の側を一度も通らないので、判定条件網羅にはなりません。
この問題の用語
- テストケース何をどう試して、どうなれば合格かを一つずつ決めたものです。入力する値や操作の手順と、期待する結果を組にして書きます。
出典:令和4年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問22
同じ用語が出る問題
- 令和6年度 秋期 午前Ⅱ 問23:テスト駆動開発に関する問題(テストケース)
- 令和3年度 春期 午前Ⅱ 問23:テスト駆動開発に関する問題(テストケース)
- 平成30年度 春期 午前Ⅱ 問23:テスト駆動開発に関する問題(テストケース)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)