ISTQB Advanced Test Analyst シラバス第3章「仕様に基づくテスト技法(Specification-Based Techniques)」の中で、今回は 「決定表テスト(Decision Table Testing)」 について解説します。
この技法は、複数の条件や組み合わせがあるシナリオを効率的にテストするために使われる、非常に重要なブラックボックステスト技法のひとつです。
🔹 決定表テストとは?
決定表テストとは、複数の条件とそれに対応するアクション(結果)を表形式で整理し、すべての条件の組み合わせを体系的にテストできるようにする方法 です。
これにより、テストケースの抜け漏れを防ぎ、必要最小限のテストで最大限のカバレッジを得ることができます。
目的:
-
条件が多いビジネスルールの組み合わせを整理する
-
不要なテストケースを削減して効率化する
-
条件の組み合わせによる「漏れ」や「矛盾」を防ぐ
🔹 Foundationレベルとの違い
Foundation(基礎)レベルでは、単純な条件と結果の対応を学びました。
Advanced(上級)レベルでは、さらに一歩進んで「Collapsed Decision Table(圧縮型)」と「Non-Collapsed Decision Table(非圧縮型)」という2つの手法を区別して理解する必要があります。
🔸 例題:保険会社の割引シナリオ
架空の保険会社 「Good Health」 の新しい医療保険プランを例に考えましょう。
【仕様】
-
標準保険料: $500
-
健康診断テストへの「参加承諾」をした顧客には、
実際に受けなくても $25割引
-
以下の4つの医療テストを受けるごとに、追加で $25割引
- BMI(体格指数)
- 血圧(Blood Pressure)
- 血糖値(Glucose)
- コレステロール(Cholesterol)
-
さらに、4つすべてのテストを受けた場合は、追加で $75割引
🔹 条件と出力の整理
|
条件 |
内容 |
|---|---|
|
C1 |
テストへの参加承諾(Yes/No) |
|
C2 |
BMIテスト実施(Yes/No) |
|
C3 |
血圧テスト実施(Yes/No) |
|
C4 |
血糖値テスト実施(Yes/No) |
|
C5 |
コレステロールテスト実施(Yes/No) |
出力(結果):
→ 割引額の計算(総割引額)
🔹 Non-Collapsed Decision Table(非圧縮型)
すべての条件の組み合わせを網羅する方法です。
-
「参加承諾しない」場合:1パターン(他のテストは適用外)
-
「参加承諾する」場合:4つのテストそれぞれに「受ける/受けない」があるため
→ 2⁴ = 16通りの組み合わせ
したがって、
合計 17テストケース(1 + 16) が必要になります。
🔹 Collapsed Decision Table(圧縮型)
実際には、すべての16通りをテストするのは非効率的です。
そこで、同等の結果を生むテストケースをまとめて省略 するのが「圧縮型」です。
圧縮の考え方:
-
「参加を承諾しない」ケース → 必須(1件)
-
「参加を承諾したが、テストを1つも受けていない」ケース → 必須(1件)
-
4つの医療テストをそれぞれ少なくとも1回は含むように → 各テストを代表する4ケース
これで合計:
6テストケース(1 + 1 + 4)
これが Collapsed Decision Table における最小テスト数です。
🔹 試験に出る代表的な質問
保険シナリオをもとに、次の問いに答えなさい。
質問:
-
このシナリオで必要なテストケース数はいくつか?
選択肢:
A. 4
B. 5
C. 6
D. 17
E. 32
正解:
-
Collapsed Decision Table → 6テストケース
-
Non-Collapsed Decision Table → 17テストケース
🔹 ポイント整理
|
種類 |
意味 |
テストケース数 |
特徴 |
|---|---|---|---|
|
Non-Collapsed |
すべての組み合わせを網羅 |
17 |
網羅性は高いが非効率 |
|
Collapsed |
同等結果のケースを統合 |
6 |
効率的・現実的な実施が可能 |
🔹 実務での活用例
決定表テストは、特に次のようなケースで役立ちます。
-
価格計算、割引、課金ロジックなどの ビジネスルール
-
保険、銀行、eコマースなどの 条件分岐が多いドメイン
-
入力条件の組み合わせが多く、抜け漏れのリスクがある機能
例:ECサイトの送料計算
「購入金額」「会員ランク」「地域」「キャンペーン期間」などの条件を整理し、
どの組み合わせで送料無料になるかを決定表で管理することで、
仕様の矛盾や漏れを防ぐ ことができます。
🔹 まとめ
|
要点 |
内容 |
|---|---|
|
技法名 |
Decision Table Testing(決定表テスト) |
|
分類 |
仕様ベース(ブラックボックス)技法 |
|
応用範囲 |
複数条件の組み合わせを持つビジネスロジック |
|
Advancedでの追加概念 |
Collapsed / Non-Collapsed Decision Table |
|
試験対策の要点 |
テストケース数を正しく導けること |
🧩 学習ヒント
-
「2ⁿ」の考え方(条件がn個あるときの組み合わせ数)を理解しておく
-
同等結果をまとめてテスト数を削減できる理屈を説明できるようにする
-
試験では「条件の数 → 組み合わせ → 圧縮」までを論理的に答える練習を!
📘 まとめ:Decision Table Testingの本質
「条件の組み合わせを整理して、漏れなく・重複なく・効率的にテストする」
これが決定表テストの本質です。
単なる表作りではなく、「条件と結果のロジックを明確化する分析ツール」としての価値を理解しましょう。


コメント