【ISTQB /JSTQB FL 4.0解説】境界値分析(Boundary Value Analysis)とは?具体例でわかるブラックボックステスト技法

JSTQB Fundation Level 4.0

ISTQB Foundation Levelの**Chapter 4「Test Analysis and Design(テスト分析と設計)」では、ブラックボックステスト技法として「同値分割法」と「境界値分析」が登場します。

本記事では、その中でも境界値分析(Boundary Value Analysis: BVA)**について、例題を交えてわかりやすく解説します。


■ 境界値分析とは?

境界値分析(Boundary Value Analysis)とは、

入力データや出力データの“境界(限界点)”に注目してテストを行う技法です。

多くのバグは「範囲のギリギリ」に発生する傾向があります。

そのため、境界値に着目してテストを行うことで、最小限のテストケースで高い欠陥検出率を得ることができます。


■ 境界値分析の基本イメージ

例えば、「年齢を入力するフィールド」があるとしましょう。

条件

入力可能範囲

年齢は18歳以上30歳以下

18 ≤ 年齢 ≤ 30

このとき、テストすべき値は次の通りです。

種類

テストデータ

期待結果

境界外(下)

17

無効(拒否)

境界値(下)

18

有効(受け入れ)

境界値(上)

30

有効(受け入れ)

境界外(上)

31

無効(拒否)

ポイント:

この4つの値(17, 18, 30, 31)をテストすることで、範囲全体の動作を確認できます。


■ 同値分割法との違い

前回学んだ「同値分割法(Equivalence Partitioning)」では、

範囲を「有効グループ」と「無効グループ」に分け、各グループから代表値を1つ選びました。

境界値分析では、それに加えて**“境界の前後”**をテストします。

  • 同値分割法:範囲の中から1つずつ(例:20, 40 など)

  • 境界値分析:範囲の**端(17,18,30,31)**を重点的にテスト

つまり、より厳密に入力条件のエラーを検出できるのがBVAの強みです。


■ 2点分析(Two-point analysis)と3点分析(Three-point analysis)

境界値分析には、テストの厳密さに応じて次の2種類があります。

種類

内容

例(18〜30の場合)

2点分析(Two-point)

境界の内側と外側をテスト(計4ケース)

17, 18, 30, 31

3点分析(Three-point)

境界の内側・境界上・外側をテスト(計6ケース)

17, 18, 19, 29, 30, 31

  • 2点分析:一般的な入力チェックに使用(コストが低い)

  • 3点分析:安全性や正確性が求められるシステム(例:医療、航空、金融など)で使用


■ 数式で表すと?

範囲が LB ≤ X ≤ RB の場合:

  • 2点分析:

    • LB − 1, LB, RB, RB + 1

  • 3点分析:

    • LB − 1, LB, LB + 1, RB − 1, RB, RB + 1


■ 例題①:年齢入力フィールド

フィールドは「18歳以上30歳以下」を受け入れる。

3点分析を使う場合、最小のテストケース数は?

  • 3点分析 → 各境界に3点ずつ → 合計6ケース

    答え:6

テスト値:17, 18, 19, 29, 30, 31


■ 例題②:ショッピングカートの数量制限

最低注文数は5個。

100個以上で10%割引が適用される。

この場合の範囲は次の3つに分かれます。

パーティション

範囲

意味

無効

4以下

注文不可

有効(通常)

5〜99

注文可・割引なし

有効(割引あり)

100以上

割引適用

2点分析の場合の境界値:

  • 4, 5, 99, 100

答え: [4, 5, 99, 100](合計4ケース)


■ 例題③:EP+BVAの組み合わせ問題(試験頻出)

年齢フィールド:18〜30

「有効な同値クラス」と「有効な境界値」を組み合わせたテスト値は?

  1. EP(同値分割法) → 中間値(例:25)

  2. BVA(2点分析) → 18, 30

  3. 有効値のみを抽出 → 18, 25, 30

正解: [18, 25, 30]


■ 試験対策ポイント(ISTQB Foundation)

  • 有効境界値(Valid Boundary Value)」と「無効境界値(Invalid Boundary Value)」を区別できるようにする

  • Two-pointかThree-pointか」を問題文で確認する

  • Valid collection」=有効+無効を両方含む

  • Valid boundary value」=有効範囲のみ


■ まとめ

ポイント

内容

技法名

Boundary Value Analysis(境界値分析)

目的

境界の前後で欠陥を検出する

応用

入力範囲、数値チェック、フォーム入力など

試験の狙い

BVAの考え方とテストケース数の導出

関連技法

同値分割法(Equivalence Partitioning)

■ まとめ:実務での活用例

  • フォーム入力チェック(年齢、数量、金額、日付など)

  • REST APIのパラメータ検証

  • IoT機器や車載ECUの閾値テスト

  • バリデーションロジックの単体テスト設計

たとえば「速度は0〜180km/h」と仕様にある場合、

テスト値は −1, 0, 180, 181 で境界チェックできます。

たった4ケースで、主要な欠陥を効率的に検出できます。


💡 最後に

ISTQB試験では、BVAの計算問題が高頻度で出題されます。

時間をかけて表を書くより、

「LB, LB−1, RB, RB+1」のように数式パターンで素早く導出できるようにしておくのがおすすめです。

コメント

タイトルとURLをコピーしました