同値分割(Equivalence Partitioning)は、テストケースを効率的に減らすための設計技法です。
ISTQB Foundationレベルでも学習した内容ですが、Advanced Test Analystでは、より複数の入力パラメータを組み合わせて考える応用力が求められます。
この記事では、同値分割の基本を復習しながら、ISTQBアドバンスド試験レベルの例題を詳しく解説します。
■ 同値分割法とは?
同値分割法とは、入力値の範囲や条件を、同じ結果を生むグループ(分割クラス)に分けてテストを行う方法です。
各クラスから代表的な1つの値を選ぶことで、最小限のテストケースで最大のカバレッジを得ることができます。
たとえば:
|
条件 |
入力範囲 |
分割クラス |
|---|---|---|
|
年齢の入力 |
0〜17 |
無効クラス(未成年) |
|
年齢の入力 |
18〜64 |
有効クラス(成人) |
|
年齢の入力 |
65〜120 |
有効クラス(高齢者) |
この場合、各範囲から1つずつ代表値を選び、
例:10, 30, 70 の3つのテストで全体を網羅できます。
■ アドバンスレベルでの考え方
Advanced Test Analystレベルでは、単一条件ではなく、複数の入力パラメータを組み合わせることがポイントです。
各条件ごとに分割クラスを定義し、それを組み合わせて効率的なテストケースを導く必要があります。
■ 例題:健康保険プレミアム割引プログラム
シナリオ:
ある会社が従業員向けに健康保険プレミアム割引プログラムを導入しました。
標準保険料は $400 とします。
このプログラムでは、従業員の健康状態や行動に応じて保険料が割引または加算されます。
ルール一覧:
-
禁煙誓約+BMI30未満
→ 保険料から 10% 割引(=$40)
-
健康リスク調査票を提出
→ 追加で $25 割引
-
年次健康診断に参加
→ BMIによって以下の割引:
-
BMI ≦ 27.5 → $50 割引
-
27.5 < BMI < 30 → $25 割引
-
BMI ≥ 30 → 割引なし
-
-
喫煙状況に応じた加算・割引:
-
非喫煙者 → $50 割引
-
禁煙プログラム参加者 → $25 割引
-
喫煙者 → $75 加算
-
問題:
Equivalence Partitioning(同値分割法)を用いて
入力パラメータの100%カバレッジを達成するために、
何個のテストケースが必要ですか?
また、最小および最大の最終保険料はいくらですか?
■ ステップ1:入力パラメータの特定と分割
|
パラメータ |
値の分類 |
クラス数 |
|---|---|---|
|
誓約(禁煙+BMI) |
する / しない |
2 |
|
健康リスク調査票提出 |
する / しない |
2 |
|
BMI範囲 |
≦27.5 / <30 / ≥30 |
3 |
|
喫煙状態 |
非喫煙 / 禁煙中 / 喫煙 |
3 |
■ ステップ2:同値クラスの組み合わせ
通常、これだけで
2 × 2 × 3 × 3 = 36通り の組み合わせが生まれます。
しかし、アドバンスレベルでは効率化が求められます。
つまり、「複数の条件を1つのテストケースでカバーする」考え方です。
このシナリオでは、代表的な3つのケースで全ての同値クラスをカバー可能です。
■ ステップ3:代表的なテストケース設計
|
テストケース |
誓約 |
リスク調査票 |
BMI |
喫煙状態 |
合計割引/加算 |
保険料 |
|---|---|---|---|---|---|---|
|
TC1(最大割引) |
する |
する |
27.5以下 |
非喫煙 |
$40 + $25 + $50 + $50 = $165割引 |
$235 |
|
TC2(中間) |
しない |
する |
28.5(<30) |
禁煙中 |
$25 + $25 + $25 = $75割引 |
$325 |
|
TC3(最大加算) |
しない |
しない |
31(≥30) |
喫煙者 |
$0 + $0 + $0 + $75 = $75加算 |
$475 |
■ 結果まとめ
-
必要なテストケース数:3
-
最大保険料:$475(喫煙・不参加・BMI高い)
-
最小保険料:$235(禁煙・積極的参加・健康体)
■ ポイントまとめ
-
同値分割法では「同じ結果を生むグループ」を作り、代表値を1つ選ぶ。
-
アドバンスでは、複数の入力パラメータを効率的に組み合わせる必要がある。
-
目的は「全クラスを網羅しつつ最小テスト数にする」こと。
-
現実のQA現場でも、テスト設計の効率化に非常に役立つ技法。
■ 例題の理解ポイント
ISTQBアドバンス試験では、次のような問い方をされます。
「Which of the following statements best describes how many test cases are required to achieve 100% coverage using Equivalence Partitioning technique?」
つまり、
「何個のテストケースで全ての同値クラスをカバーできるか?」
という視点が重要です。
単に組み合わせを全列挙するのではなく、代表的な値を戦略的に選ぶ力が問われます。
まとめ
|
項目 |
内容 |
|---|---|
|
技法名 |
同値分割法(Equivalence Partitioning) |
|
目的 |
同じ動作をする入力群を1つのテストで代表させる |
|
試験レベル |
Foundationでも登場、Advancedでは組み合わせ重視 |
|
例題の答え |
テストケース3個、最小$235、最大$475 |
💡実務でのヒント
実際のQA現場では、
複数のビジネスルールや割引条件が組み合わさる場面が多くあります。
このとき、全パターンを網羅するのは現実的ではないため、
同値分割法で効率的に重要なケースを選ぶことが、
テスト設計者としてのスキルになります。


コメント