境界値分析(Boundary Value Analysis)について

境界値分析とは

境界値分析(限界値分析)とは

境界値分析とは、入力データを同じ特性を持つグループに分割し、そのグループが隣接する境界値データを入力としてテストする技法です。
限界値分析とも呼ばれます。

境界値分析は、ブラックボックステスト技法の一つであり、最小限かつ効果的なテストケースを作成できます。
同値分割法と併用して用いられることが多いテストです。


境界値(限界値)とは

境界値(限界値)とは、ある範囲の最小値または最大値(同値分割した領域の端にあたる値)のことです。
境界値はシステムの仕様に直結するため、重点的にテスト・動作確認する必要のある値となります。


境界値分析の根拠

境界値分析は、出力結果が変化する境界付近では不具合が多く発生しやすい、という経験則に基づいています。
ITシステムに限らず一般的にも、境界値というものはヒューマンエラーが潜みやすく、不具合が頻発する箇所です。
例えば、設計書における「未満、以下、以上、超」の書き間違えや意味の取り違えは、どのような分野でも発生するミスです。
そのため、境界付近の入力値を重点的に検証することは、効果的に不具合を検出する手法といえます。


境界値分析の実施例

前提条件

境界値分析の例として、ペーパーテストを挙げてみます。
仕様は以下の通りです。

  • 点数が60点以上の場合には「合格」とする。
  • 点数が60点未満の場合には「不合格」とする。
  • 0から100までの整数を有効な値として扱う。(無効な値の場合はエラー表示)

1.同値クラスを分類する

入力データを同じ特性を持つグループに分けることを「同値クラスを作る」といいます。
ここでは、「合格という有効同値クラス」と、「不合格という有効同値クラス」と、それ以外の「無効同値クラス」に分類します。



2.各同値クラスの境界値を選定します。

各同値クラスの境界値を選定します。
通常、境界値は各同値クラスの最小値と最大値、または最初と最後の値になります

# 入力データ 期待値
境界値 1 0 これ以上ならば不合格と表示される。これ未満ならばエラーとなる。
境界値 2 60 これ以上ならば合格と表示される。これ未満ならば不合格と表示される。
境界値 3 100 これ以下ならば合格と表示される。これより超過ならばエラーとなる。


3.テスト条件を決定する

# 入力データ 期待値
Case 1 -1 エラーが表示される。
Case 2 0 不合格と表示される。
Case 3 59 不合格と表示される。
Case 4 60 合格と表示される。
Case 5 100 合格と表示される。
Case 6 101 エラーが表示される。

境界値分析の注意点

入出力が複雑なシステムでは有効でない場合がある

境界値分析は、複数の入力値に対して複雑に出力する仕様のシステムに対しては、テストケースが作成しにくい場合があります。
このような場合には、デシジョンテーブルなどの他テスト技法を利用する方が効率的といえます。


関連ページ