令和4年度 春期 応用情報技術者試験 午前 問題 問47
次の流れ図において,判定条件網羅(分岐網羅)を満たす最少のテストケースの組みはどれか。

図の説明テキスト
フローチャート図。以下のノードと遷移で構成されている。
- 「開始」端子から処理「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:
A>0 かつ B=0 - 判定2:
A>0 かつ C=1
判定条件網羅を満たすためには、これら2つの判定のそれぞれでYesとNoのルートを通る必要があります。
正解である イ のテストケースを順番にトレースして確認します。
(1) A=1, B=0 の場合:
- はじめに
1→Cにより、Cには 1 が代入されます。 - 判定1:
A=1,B=0なので1>0 かつ 0=0となり、条件は真。Yes のルートを通ります。 - 処理:
A×C→Cにより、1×1の結果である 1 がCに代入されます(C=1)。 - 判定2:
A=1,C=1なので1>0 かつ 1=1となり、条件は真。Yes のルートを通ります。
- はじめに
(2) A=1, B=1 の場合:
- はじめに
1→Cにより、Cには 1 が代入されます。 - 判定1:
A=1,B=1なので1>0 かつ 1=0となり、Bが0ではないため条件は偽。No のルートを通ります。 - 処理:
2→Cにより、Cには 2 が代入されます(C=2)。 - 判定2:
A=1,C=2なので1>0 かつ 2=1となり、Cが1ではないため条件は偽。No のルートを通ります。
- はじめに
このように、選択肢イの(1)と(2)を実行することで、判定1のYes/No、判定2のYes/Noの両方をすべて網羅できます。2つのテストケースで要件を満たすため、最少の組み合わせとなります。
各選択肢の解説
- ア: (1)
A=0, B=0では、判定1がNo、判定2もNo(C=2となるため)になります。(2)A=1, B=1でも、判定1がNo、判定2もNoになります。すべての分岐でNoのルートしか通らないため、網羅要件を満たしません。 - イ: 正解です。2つのテストケースですべてのYes・Noの分岐を網羅しています。
- ウ: (1)(2)でNoのルート、(3)でYesのルートを通り網羅はできますが、テストケースが3つあるため「最少」の条件に反します。
- エ: (1)(2)でNoのルート、(3)でYesのルートを通り網羅はできますが、こちらもテストケースが3つあるため「最少」の条件に反します。