【きょうかいちぶんせき】

境界値分析 とは?

💡 バグの巣窟「境界」を狙い撃ちする
📌 このページのポイント
境界値分析 ― 境界付近を重点テスト 有効範囲(1〜100) 無効 無効 0 境界外 1 下限境界 2 境界内 99 境界内 100 上限境界 101 境界外 バグは境界付近に潜みやすい → 境界値を重点的にテスト = 要テスト点 = エラー期待値
境界値分析のイメージ
ひよこ ひよこ

なんで境界でバグが起きやすいの?

ペンギン先生 ペンギン先生

「以上」と「より大きい」の間違い、「<=」と「<」の書き間違い(off-by-oneエラー)はプログラマーが最も犯しやすいミスだからだよ。「1〜100」の範囲チェックで「>= 1 && <= 100」と書くべきところを「> 1 && < 100」と書くと、1と100が弾かれるバグになるんだ

ひよこ ひよこ

具体的にどの値をテストするの?

ペンギン先生 ペンギン先生

「1〜100が有効」なら、テストケースは0(境界の1つ外)、1(境界上)、2(境界の1つ内)、99(境界の1つ内)、100(境界上)、101(境界の1つ外)の6つ。境界の「上」「1つ内」「1つ外」を3点セットでテストするのが基本だよ

ひよこ ひよこ

同値分割との違いは?

ペンギン先生 ペンギン先生

同値分割は入力を「同じ結果になるグループ」に分けて、各グループから代表値を1つ選ぶ技法。境界値分析はその「グループの端」を重点的にテストする技法。両者は補完関係にあって、同値分割でグループ分け→境界値分析で端をテスト、と組み合わせるのがベストだよ

ひよこ ひよこ

IPA試験でのポイントは?

ペンギン先生 ペンギン先生

「最小のテストケース数を求めよ」という問題が定番だよ。境界値分析では各境界に3値(境界上、境界の1つ内、境界の1つ外)が基本。2つの境界がある範囲なら6テストケース。出題のバリエーションとして「2入力の組み合わせ」もあるから、そこも押さえておこうね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「境界値分析」って出てきたら「範囲の端っこを重点的にテストする技法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Boundary Value Analysis」 = 境界値分析
💬 Boundary(境界)の値を分析する。「1以上100以下」なら0, 1, 100, 101を重点テストだよ
← 用語集にもどる