令和4年度 春期 午前Ⅰ 問題【共通】 問16
次の流れ図において,判定条件網羅(分岐網羅)を満たす最少のテストケースの組みはどれか。

図の説明テキスト
フローチャート図。以下のノードと遷移で構成されている。
- 「開始」端子から処理「1→C」へ遷移。
- 処理「1→C」から判定「A>0 かつ B=0」へ遷移。
- 判定「A>0 かつ B=0」が Yes の場合、処理「A×C→C」へ遷移。No の場合、処理「2→C」へ遷移。
- 処理「A×C→C」および処理「2→C」の出力は合流し、判定「A>0 かつ C=1」へ遷移。
- 判定「A>0 かつ C=1」が Yes の場合、下へ遷移して合流点へ。No の場合、処理「C²→C」へ遷移してから合流点へ。
- 合流点から「終了」端子へ遷移。
解答・解説
正解: イ. (1) A=1, B=0 (2) A=1, B=1
判定条件網羅(分岐網羅)とは、プログラム中のすべての判定条件において、Yes(真)とNo(偽)の両方の分岐を少なくとも1回は実行するようにテストケースを設計する手法です。
本問題のフローチャートには、以下の2つの判定があります。
- 判定1: かつ
- 判定2: かつ
初期状態として、最初の処理で ( に を代入)が実行されます。
正解である選択肢イのテストケースを順に確認します。
テストケース (1) の場合
- 判定1: () かつ () を満たすため、Yes の分岐に進みます。
- 処理 により、 が計算され、 となります。
- 判定2: () かつ () を満たすため、Yes の分岐に進みます。
- これにより、判定1のYes、判定2のYesが網羅されます。
テストケース (2) の場合
- 判定1: () は満たしますが、 () を満たさないため、No の分岐に進みます。
- 処理 により、 となります。
- 判定2: () を満たさないため、No の分岐に進みます。
- これにより、判定1のNo、判定2のNoが網羅されます。
以上2つのテストケースによってすべての分岐(判定1のYes/No、判定2のYes/No)が実行されるため、判定条件網羅を満たします。2つのケースで全分岐を網羅しており、これが最少の組みです。
各選択肢の解説
- ア: (1) では判定1・判定2ともにNoに進みます。(2) でも判定1・判定2ともにNoに進みます。Yesの分岐が一度も実行されないため、判定条件網羅を満たしません。
- イ: 正解です。上記の通り、2つのテストケースですべての分岐を網羅しています。
- ウ: (1)と(2)でNoの分岐を、(3) でYesの分岐を実行するため、判定条件網羅を満たしますが、テストケースが3つあり「最少のテストケースの組み」ではありません。
- エ: (1)と(2)でNoの分岐を、(3) でYesの分岐を実行するため、判定条件網羅を満たしますが、こちらもテストケースが3つあるため最少の組みではありません。