分岐網羅の最少テスト数はどう数えるか
基本情報技術者試験 平成29年度春期 午前 問49 / システム開発技術 › ソフトウェア構築
過去問にチャレンジ
流れ図において,判定条件網羅(分岐網羅)を満たす最少のテストケース数は幾つか。

- ア
1
- イ
2
- ウ
3
- エ
4
会話形式の解説
講師分岐網羅では、各判定の真側と偽側を通る必要があります。まず、図の矢印がどこで合流するかを見てみましょう。
受験者判定が二つあるので、真と偽の組合せを四つとも試す必要があるのでしょうか。
講師上の判定は、真側でも偽側でも合流してから下の判定へ進みます。分岐網羅で確かめるのは、組合せの全種類ではなく、各判定の真と偽です。
受験者それなら、一つのケースで上下とも真を通し、別のケースで上下とも偽を通せそうです。
講師そのとおりです。例えばX=4、A=2、B=1なら、上の「X>1」も下の「A=2 or B=0」も真になります。
受験者X=1、A=1、B=1なら、上下とも偽になりますね。
講師はい。この二つのケースで、両方の判定について真側と偽側を通れます。
受験者一つだけでは、上の判定の真側と偽側を同時に通れません。だから二つが最少なのですね。
講師そうです。三つのケースでも網羅はできますが、最少数ではありません。
受験者四つという数は、上下の判定結果の組合せを全部試すと考えた場合ですね。
講師はい。この問題では全組合せは求められていません。判定が複数あっても、一つのケースでそれぞれの分岐をまとめて通れることがポイントです。
まとめ
分岐網羅では、各判定の真側と偽側をそれぞれ通します。この流れ図では、上の判定の結果にかかわらず下の判定へ進みます。上下とも真になるケースと上下とも偽になるケースの2件で全分岐を通れます。1件では足りず、3件や4件は最少数ではありません。
解答・解説
正解はイです
この問題のテーマ
流れ図の二つの判定について、分岐網羅を満たす最少のテストケース数を問う問題です。
解き方の考え方
分岐網羅では、各判定の真と偽をそれぞれ通します。この図では、上の「X>1」の結果にかかわらず、処理が合流して下の「A=2 or B=0」へ進みます。そこで、上と下がともに真になるケースと、ともに偽になるケースを用意すれば、二つの判定の全分岐を通せます。
選択肢ごとの解説
- ×ア 11件では「X>1」の真と偽を同時に通れません。一つの判定だけを見ても、分岐網羅には足りない数です。
- ○イ 22件あれば、例えば「X=4、A=2、B=1」で上下とも真、「X=1、A=1、B=1」で上下とも偽にできます。各判定の両方向を通し、かつ1件では足りないので、最少数は2件です。
- ×ウ 33件を使えば分岐網羅はできますが、必要な最少数ではありません。二つの判定の真と偽は、イで示した2件で全て通せます。
- ×エ 44件は、上下の判定結果の組合せを全て試す場合に考えられる数です。この設問の分岐網羅では、各判定の真・偽を通せばよく、全組合せまでは求められません。
POINT
- 判定の真側と偽側をそれぞれ通ったかを確認します。
- 図の矢印が合流する位置を見て、後続の判定に到達する経路を確かめます。
- 複数の判定があっても、一つのテストケースで各判定の分岐をまとめて通せます。
