応用情報技術者 2018年 秋期 午前2 問49
問題文
プログラムの誤りの一つに、繰返し処理の終了条件としてA ≧ aとすべきところをA > aとコーディングしたことに起因するものがある。このような誤りを見つけ出すために有効なテストケース設計技法はどれか。ここで、A は変数、a は定数とする。
選択肢
ア:限界値分析(正解)
イ:条件網羅
ウ:同値分割
エ:分岐網羅
プログラムの誤りに関するテストケース設計技法【午前2 解説】
要点まとめ
- 結論:繰返し処理の終了条件の誤りは「限界値分析」で効果的に検出できます。
- 根拠:終了条件の境界値付近での動作を重点的にテストするため、境界の誤りを見つけやすいです。
- 差がつくポイント:境界値の前後でテストケースを設計し、条件の等号の有無を正確に検証することが重要です。
正解の理由
繰返し処理の終了条件は「A ≧ a」とすべきところを「A > a」と誤ると、境界値での動作が変わります。限界値分析はこのような境界の値を中心にテストケースを作成し、誤りを検出する技法です。条件網羅や分岐網羅は論理条件の網羅性を重視し、同値分割は入力値の代表値を選ぶため、境界の微妙な違いを見逃す可能性があります。したがって、境界値の誤りを見つけるには限界値分析が最適です。
よくある誤解
条件網羅や分岐網羅はすべての条件や分岐を網羅するための技法ですが、境界値の微妙な違いを見逃すことがあります。
同値分割は代表値でテストするため、境界の細かい誤り検出には不向きです。
同値分割は代表値でテストするため、境界の細かい誤り検出には不向きです。
解法ステップ
- 問題文の終了条件の誤りを確認する(A ≧ a とすべきところを A > a としている)
- どのテスト技法が境界値の誤り検出に適しているかを考える
- 限界値分析は境界の前後の値を重点的にテストする技法であることを思い出す
- 他の選択肢(条件網羅、同値分割、分岐網羅)との違いを比較する
- 境界値の誤りを検出しやすい「ア: 限界値分析」を選択する
選択肢別の誤答解説
- ア: 限界値分析
境界値の前後でテストケースを設計し、終了条件の誤りを検出できるため正解。 - イ: 条件網羅
条件の真偽をすべて網羅するが、境界値の微妙な違いを必ずしも検出できない。 - ウ: 同値分割
入力値を同じ動作をするグループに分け代表値をテストするため、境界の誤りを見逃しやすい。 - エ: 分岐網羅
プログラムの分岐をすべて通ることを目的とするが、境界値の細かい誤り検出には不十分。
補足コラム
限界値分析はソフトウェアテストの基本技法の一つで、特に数値や範囲を扱う条件の誤り検出に効果的です。境界値の前後でテストケースを作成することで、実際の動作が仕様通りかを厳密に検証できます。終了条件のような比較演算子の誤りは、境界値分析で見つけやすい典型例です。
FAQ
Q: 条件網羅と分岐網羅の違いは何ですか?
A: 条件網羅はすべての条件式の真偽を網羅すること、分岐網羅はすべての分岐(if文など)を通ることを目的としています。
A: 条件網羅はすべての条件式の真偽を網羅すること、分岐網羅はすべての分岐(if文など)を通ることを目的としています。
Q: 同値分割はどんな場合に有効ですか?
A: 入力値を同じ動作をするグループに分けて代表値だけをテストしたい場合に有効で、境界値の誤り検出には向きません。
A: 入力値を同じ動作をするグループに分けて代表値だけをテストしたい場合に有効で、境界値の誤り検出には向きません。
関連キーワード: 限界値分析、繰返し処理、テストケース設計、境界値、条件網羅、分岐網羅、同値分割

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

