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

平成30年度 春期 午前 問49

システム開発技術

判定条件網羅に関する問題

プログラムの流れ図で示される部分に関するテストデータを,判定条件網羅(decision coverage)によって設定した。このテストデータを複数条件網羅(multiple condition coverage)による設定に変更するとき,加えるべきテストデータのうち,適切なものはどれか。ここで,( )で囲んだ部分は,一組みのテストデータを表すものとする。

流れ図:

 ↓
[処理1]
 ↓
<A>6 or B=0> ── No ──┐
 │ Yes                  │
[処理2]                 │
 ↓                      │
 ◀──────────────────────┘

・判定条件網羅によるテストデータ

(A=4, B=1), (A=5, B=0)
答えと解説を見る

✓ これが正解エ(A=7, B=0), (A=8, B=2)

解説

A が6より大きくなる二通りを補います。

判定条件網羅は、分岐全体の結果について、成り立つ場合と成り立たない場合の両方を通せばよいという基準です。すでにあるデータは、A が4で B が1のときに全体が成り立たず、A が5で B が0のときに成り立つので、この基準はもう満たしています。複数条件網羅はもう一段細かく、分岐に含まれる一つ一つの条件について、成り立つ場合と成り立たない場合の全ての組合せを通すことを求めます。この分岐は、A が6より大きいことと、B が0であることの二つでできているので、組合せは四通りです。すでに通っているのは、二つとも成り立たない組合せと、A の側だけが成り立たない組合せの二つでした。足りないのは A の側が成り立つ二通りで、B が0である場合と、そうでない場合の両方が必要です。だから、その二組をちょうど加える肢が当たりました。判定の軸は、加える二組で残りの組合せが埋まりきるかどうかです。残る三つは、加えても新しい組合せが一つしか増えず、四通りがそろいませんでした。

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

この問題の用語

出典:平成30年度 春期 基本情報技術者試験 午前 問49

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