平成25年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問21
テクノロジ/開発技術プログラムの誤りの一つに,繰返し処理の終了条件として A≧a とすべきところを A>a とコーディングすることがある。このような誤りを見つけ出すために有効なテストケース設計技法はどれか。ここで,A は変数,a は定数とする。
出典:平成25年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問21
- ア限界値分析
- イ条件網羅
- ウ同値分割
- エ分岐網羅
正解:ア
解説
A≧aとすべき終了条件をA>aと誤ってコーディングした場合,境界値であるA=aのときの動作だけが正しい場合と異なります。このような境界値付近の誤りを検出するには,境界値そのものやその前後の値をテストケースとして選ぶ限界値分析(境界値分析)が有効です。同値分割は,同じ結果になる入力値の集合ごとに代表値を選ぶ技法であり,境界の1点のずれを検出するには不向きです。条件網羅や分岐網羅は,プログラムの条件式や分岐の網羅性に着目したテスト技法であり,特定の境界値の誤りを狙って検出する技法ではありません。
選択肢ごとの解説
- ア正しい。限界値分析は,境界となる値(この場合はA=a)やその前後の値をテストケースとするため,A≧aとA>aの違いによる誤りを検出するのに有効です。
- イ誤り。条件網羅は,判定条件を構成する個々の条件式が真と偽の両方を取るようにテストケースを設計する技法であり,境界値のわずかなずれを狙って検出する技法ではありません。
- ウ誤り。同値分割は,同じ結果になると考えられる入力の集合(同値クラス)から代表値を選んでテストする技法であり,境界の1点だけの誤りを見つけることには向いていません。
- エ誤り。分岐網羅は,プログラム中の分岐(真偽の分かれ道)を全て少なくとも1回は通るようにテストケースを設計する技法であり,境界値そのものの誤りを狙って検出する技法ではありません。