はじめに
この記事では、ISTQBアドバンストテストアナリスト(Advanced Test Analyst)のシラバス「3.2 Specification-Based Techniques(仕様ベーステクニック)」の中から、**3.2.2 境界値分析(Boundary Value Analysis, BVA)**を取り上げます。
境界値分析は、テスト対象の入力値や出力値の「境界(境界線)」付近でバグが発生しやすいという経験則に基づいたテスト設計技法です。
Foundation(基礎)レベルでも登場しますが、アドバンストレベルではより複雑なシナリオと判断力が求められます。
境界値分析とは?
境界値分析(Boundary Value Analysis)とは、
同値分割で作成された入力クラスの“境界部分”に注目してテストデータを選ぶ手法です。
例えば、入力が「1〜100の範囲で有効」と定義されている場合:
-
有効境界:1、100
-
無効境界:0、101
このように境界値を中心にテストケースを作成することで、最小限のテスト数で最大の欠陥検出率を狙うことができます。
BVAの種類:2点法と3点法
アドバンストレベルでは、以下の2種類のBVAが登場します。
|
種類 |
概要 |
例 |
|---|---|---|
|
2点法(Two-point BVA) |
境界の内側と外側の2つの値をテスト |
境界が50なら、49と50を使用 |
|
3点法(Three-point BVA) |
境界の「外側・境界上・内側」の3つをテスト |
境界が50なら、49・50・51を使用 |
例題①:速度制御システムの境界値分析
シナリオ:
ある車の速度制御・警告システムにおいて、以下の仕様が定義されています。
|
条件 |
動作 |
|---|---|
|
50km/h 以下 |
何も起きない |
|
51〜55km/h |
警告が表示される |
|
56〜60km/h |
罰金が科せられる |
|
61km/h 以上 |
免許停止となる |
速度は**整数値(integer)**として扱われます。
この仕様に基づいて、境界値分析を適用して境界値を求める問題が出題されます。
Step 1. 同値クラスを特定する
まず、仕様から同値クラスを分けます。
|
同値クラス |
範囲 |
意味 |
|---|---|---|
|
クラス① |
〜50 |
安全 |
|
クラス② |
51〜55 |
警告ゾーン |
|
クラス③ |
56〜60 |
罰金ゾーン |
|
クラス④ |
61〜 |
免許停止ゾーン |
Step 2. 各境界を抽出する
各クラスの境界は以下のようになります。
-
50 ⇔ 51
-
55 ⇔ 56
-
60 ⇔ 61
Step 3. テストすべき境界値を選定する
2点BVAに基づくと、各クラスの内側・外側の値を選びます。
|
境界 |
境界値 |
|---|---|
|
50 ⇔ 51 |
50, 51 |
|
55 ⇔ 56 |
55, 56 |
|
60 ⇔ 61 |
60, 61 |
✅ 正解となる境界値セット
正しい境界値セットは以下:
50, 51, 55, 56, 60, 61
試験での注意点
このような問題は、同値分割と混同させるように出題されることがあります。
問題文の最後に「boundary values」や「boundaries of equivalence classes」と書かれていれば、**境界値分析(BVA)**を選択します。
例題②:自動車構成システムの仕様から適用技法を選ぶ問題
シナリオ:
自動車ディーラー向けのシステムを開発しています。
このシステムでは、ユーザーが以下のようなオプションを組み合わせて車を構成できます。
-
エンジンサイズ
-
外装トリム(グレード)
-
カラー
-
オプション装備
既存システムでは1つの設定のみ可視化できますが、
新システムでは設定を変更しながらリアルタイムに価格を算出できるようにします。
開発はプロトタイプ方式で、短期間(rapid delivery)で成果を出す必要があります。
問題文(例)
次のうち、限られた期間で受け入れ可能なテスト網羅率を達成するのに最も適したテスト設計技法の組み合わせはどれか?
(2つ選択)
選択肢
A. 同値分割法(Equivalence Partitioning)
B. 分類木法(Classification Tree Method)
C. 境界値分析(Boundary Value Analysis)
D. 状態遷移テスト(State Transition Testing)
✅ 正解:B と C
-
B:分類木法(Classification Tree)
→ 複数パラメータ(エンジンサイズ・カラーなど)の組み合わせを効率的に整理できる。
-
C:境界値分析(Boundary Value Analysis)
→ 数値的なパラメータ(価格・排気量など)の境界で不具合を検出できる。
このように、仕様の性質に応じて技法を組み合わせる問題も出題されます。
Foundationとの違い
|
比較項目 |
Foundation |
Advanced Test Analyst |
|---|---|---|
|
問題の内容 |
単純な入力範囲 |
複数条件+文脈理解が必要 |
|
技法の使い分け |
同値分割 or 境界値分析を単独で |
技法の組み合わせ判断も問われる |
|
出題形式 |
計算中心 |
シナリオ型+選択問題が多い |
まとめ
-
境界値分析は「境界でテスト」する手法。
-
2点法・3点法の違いを理解しておく。
-
同値分割法との違いは、「クラスの代表値」か「境界値」か。
-
アドバンストレベルでは複数技法を組み合わせて判断する問題も多い。


コメント