令和3年度 春期 システムアーキテクト試験 午前Ⅱ 問7
あるプログラムについて,流れ図で示される部分に関するテストケースを,判定条件網羅(分岐網羅)によって設定する。この場合のテストケースの組合せとして,適切なものはどれか。ここで,( ) で囲んだ部分は,一組みのテストケースを表すものとする。

図の説明テキスト
プログラムの流れ図(フローチャート)。
上から下へ向かって以下の手順で処理が進む。
- 「処理1」の長方形ノード。
- ひし形の条件判定ノード「A > 6 or B = 0」。
- 条件判定が「Yes」の場合は下の「処理2」の長方形ノードに進み、その後合流点へ向かう。
- 条件判定が「No」の場合は右側に分岐し、「処理2」をバイパスして下の合流点へ向かう。
解答・解説
正解: ア. (A=1,B=1),(A=7,B=1)
判定条件網羅(分岐網羅)とは、プログラム中のすべての分岐において、真(Yes)と偽(No)の両方のルートを少なくとも1回は実行するようにテストケースを設計する手法です。
問題の図表のフローチャートにある判定条件は「」です。
したがって、判定条件網羅を満たすためには、この条件全体が真(Yes)となるテストケースと、偽(No)となるテストケースの組み合わせを選択する必要があります。
「or(論理和)」の条件であるため、条件全体の真偽は以下のようになります。
- 真(Yes)になる場合: または の少なくとも一方が成り立つ。
- 偽(No)になる場合: と の両方が成り立たない(すなわち、 かつ )。
正解である選択肢アの組み合わせを確認します。
- (,) の場合: は偽、 も偽のため、条件全体は偽(No)となります。
- (,) の場合: が真となるため、条件全体は真(Yes)となります。
このように、真(Yes)と偽(No)の両方のルートを網羅しているため、適切です。
各選択肢の解説
イ
- (,): が真となるため、条件全体は真(Yes)となります。
- (,): が真となるため、条件全体は真(Yes)となります。
- 両方とも真(Yes)のルートを通るため、判定条件網羅を満たしません。
ウ
- (,): 両方の条件を満たさないため、条件全体は偽(No)となります。
- (,): は を満たさず、両方の条件を満たさないため、条件全体は偽(No)となります。
- 両方とも偽(No)のルートを通るため、判定条件網羅を満たしません。
エ
- (,): が真となるため、条件全体は真(Yes)となります。
- (,): が真となるため、条件全体は真(Yes)となります。
- 両方とも真(Yes)のルートを通るため、判定条件網羅を満たしません。