過去問解きまくり研究所 ホーム

平成28年度 春期 午前 問49

システム開発技術

命令網羅に関する問題

流れ図で表される部分を命令網羅によってテストするとき,テストケースは少なくとも幾つ用意する必要があるか。

図(書き起こし): 流れ図。上から1本の線が入り,下へ1本の線が出ていく「部分」です(開始・終了の記号は無い)。

             ↓
        < a = 0 > ──No──┐
             │            │
            Yes           │
             ↓            ↓
       ┌──────────┐  ┌──────────┐
       │  x = 1  │  │  x = 2  │
       └────┬─────┘  └────┬─────┘
            └──────┬───────┘
                   ↓
             < b = 0 > ──No──┐
                   │            │
                  Yes           │
                   ↓            ↓
             ┌──────────┐  ┌──────────┐
             │  y = 1  │  │  y = 2  │
             └────┬─────┘  └────┬─────┘
                  └──────┬───────┘
                         ↓

逐語で言い直すと: 判定「a = 0」が Yes なら x = 1,No なら x = 2。合流したあと
判定「b = 0」が Yes なら y = 1,No なら y = 2。合流して下へ抜ける。

答えと解説を見る

✓ これが正解ア2

解説

四つの代入を全部通す道は二本で作れます。

命令網羅は、部分に含まれるすべての命令を、テストの中で少なくとも一度ずつ実行させることを目安にする網羅の考え方です。判定の軸は、この部分にある命令の総数と、それらを何本の入力で漏れなく踏めるかの対応にあります。ここでの命令は、代入が四つあります。判定 a=0 の Yes 側と No 側にそれぞれ一つ、判定 b=0 の Yes 側と No 側にそれぞれ一つ、合わせて四つです。入力を一つ用意すれば、判定の分岐で一方ずつが選ばれるので、代入が二つ実行されます。もう一つ、両方の判定で先ほどと逆の側が選ばれる入力を用意すれば、残りの二つも一巡でどちらも実行できます。よって二つの入力で四つの代入をすべて踏むことができ、この網羅の狙いを満たします。だから、二つと述べた記述が当たりました。分岐の組合せを尽くしにいく網羅は別の基準の話で、命令だけを踏む狙いから見ると余分になります。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成28年度 春期 基本情報技術者試験 午前 問49(改変:原典の図表をテキストに書き起こした)

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)