境界値テスト
ある値を境にして動作が変わるところをテストするもの。
例えば、以下のような時、テストすべき値は、9と10になる。
code:sample
if (value < 10) {
printf("T\n");
}
例えば、以下のような時、テストすべき値は、10と11になる。
code:sample
if (value <= 10) {
printf("T\n");
}
「テスト自体が勘違いで作られやすい」ことを考えると、書いてある値+1、-1までを調べるのがよい。
境界では、Off-by-one エラーを作り込みやすい。
<, >と<=, >=との混同。以下、未満、以上、超過の混同。
基点が0か1かの違い。(自然数の開始位置、配列の開始番号)
植木算エラー
木を1直線に植えたときの木の数と、木と木の間の数の違い。
支柱を1直線に立ててその間にフェンスを置く場合、「支柱の数 - 1 = フェンスの数」になる。