プログラムの誤りの一つに,繰返し処理の終了条件としてA≧aとすべきところをA>aとコーディングしたことに起因するものがある。
このような誤りを見つけ出すために有効なテストケース設計技法はどれか。
ここで,Aは変数,aは定数とする。
正答1
解説
正解は1です。
この問題は、終了条件の「≧」を「>」と誤ってコーディングした誤りを見つけるのに有効なテスト技法を問うています。
A≧aとA>aの違いは、A=aのときだけ現れます。
したがって、境界の値であるA=aを必ずテストする必要があります。
【選択肢別解説】
1:○ 限界値分析(境界値分析)は、同値クラスの境界付近の値をテストデータに選ぶ技法です。
A=aをテストすると正しいプログラムとは異なる動作をするので、誤りを発見できます。
2:× 条件網羅は、判定を構成する各条件が真と偽の両方をとるようにテストする技法です。
例えばA=a+1(真)とA=a-1(偽)でも網羅が達成できるため、A=aでの誤りを見逃すおそれがあります。
3:× 同値分割は、入力を同じ扱いになるグループ(同値クラス)に分け、各グループから代表値を1つ選ぶ技法です。
代表値が境界から離れていると、A=aでの誤りを見つけられません。
4:× 分岐網羅(判定条件網羅)は、全ての分岐の真と偽を少なくとも1回ずつ実行する技法です。
条件網羅と同様に境界以外の値でも網羅が達成できるので、この誤りを確実には発見できません。
【ポイント】
「>」と「≧」の取り違えのような境界の誤りは、限界値分析で見つけます。
同値分割で同値クラスを決め、その境界を限界値分析でテストするのが基本の組合せです。