ISTQB Foundation(CTFL)試験で頻出の「同値分割法(Equivalence Partitioning)」と「境界値分析(Boundary Value Analysis)」。
これらは理論だけでなく、実際にどのようにテストケースを導き出すかを理解しておくことが重要です。
🧩 問題1:パスワード長の境界値分析(Boundary Value Analysis)
■ 問題文
あなたは「パスワード入力フォーム」のテストを担当しています。
このフォームでは、パスワード長が 6文字以上12文字以下 の場合のみ受け付け、それ以外はエラーになります。
-
パスワード長が「6〜12文字(両端を含む)」 → 正常(有効)
-
それ以外 → エラー(無効)
-
入力欄が空の場合 → パスワード長は0
あなたのチームは、すでに 2値境界値分析(Two-Value BVA) で100%カバレッジを達成しています。
しかし、この機能は重要度が高いため、さらに 3値境界値分析(Three-Value BVA) も100%カバーすることになりました。
では、追加でどのパスワード長をテストすべきでしょうか?
■ 選択肢
A. 1, 5, 6, 12, 13
B. 0, 5, 6, 12, 13
C. 1, 4, 6, 12, 14
D. 4, 7, 11, 14
■ 解説
まず、問題を整理して考えましょう。
ステップ①:同値分割(Equivalence Partition)
|
区分 |
内容 |
範囲 |
|---|---|---|
|
無効(短すぎる) |
0〜5文字 |
例:0, 3, 5 |
|
有効 |
6〜12文字 |
例:6, 9, 12 |
|
無効(長すぎる) |
13文字以上 |
例:13, 15, 20 |
ステップ②:2値境界値分析(Two-Value BVA)
2値境界値分析では、各パーティションの最小値と最大値をテストします。
つまり、以下の値がすでにテスト済みです。
|
クラス |
境界値 |
|
|---|---|---|
|
無効(短すぎ) |
0, 5 |
✅ |
|
有効 |
6, 12 |
✅ |
|
無効(長すぎ) |
13 |
✅ |
したがって、これら(0, 5, 6, 12, 13)はすでにテストされています。
ステップ③:3値境界値分析(Three-Value BVA)
3値境界値分析では、**「境界の1つ下」「境界そのもの」「境界の1つ上」**をテストします。
各境界に対して次の値を考えます。
|
境界 |
試す値 |
意味 |
|---|---|---|
|
5 |
4, 5, 6 |
無効→有効の境界 |
|
6 |
5, 6, 7 |
有効の開始 |
|
12 |
11, 12, 13 |
有効→無効の境界 |
|
13 |
12, 13, 14 |
無効側の下限 |
これらをまとめると、
候補値 = 1, 4, 5, 6, 7, 11, 12, 13, 14
ステップ④:すでにテスト済みの値を除外
2値BVA(0, 5, 6, 12, 13)を除くと、
追加すべき値は → 1, 4, 7, 11, 14
✅ 正解:D(4, 7, 11, 14)
💡 ポイント
この問題のように、境界値分析では必ず「1つ上・1つ下」を意識することが大切です。
また、現場でのフォーム検証や入力制限テストでも頻繁に応用できます。
例:
-
年齢入力欄(18〜65歳)
-
パスワード長(8〜16文字)
-
文字数制限付きコメント欄(最大200文字)
⚙️ 問題2:決定表テスト(Decision Table Testing)
■ 問題文
次の決定表は、コレステロール値と血圧によって動脈硬化リスクを判定するルールを示しています。
あなたは以下の5つのテストケースを設計しました。
これらで、決定表の何%がカバーされているかを求めなさい。
■ 決定表
|
ルール |
コレステロール |
血圧 |
リスク判定 |
|---|---|---|---|
|
R1 |
≤124 |
≤140 |
非常に低い(Very Low) |
|
R2 |
≤124 |
>140 |
低い(Low) |
|
R3 |
125〜200 |
≤140 |
中程度(Moderate) |
|
R4 |
125〜200 |
>140 |
高い(High) |
|
R5 |
>200 |
任意 |
非常に高い(Very High) |
■ テストケース
|
テストケース |
コレステロール |
血圧 |
結果(カバーするルール) |
|---|---|---|---|
|
TC1 |
125 |
141 |
R4(高い) |
|
TC2 |
200 |
201 |
R4(高い) |
|
TC3 |
124 |
201 |
R2(低い) |
|
TC4 |
109 |
200 |
R2(低い) |
|
TC5 |
201 |
140 |
R5(非常に高い) |
■ 選択肢
A. 40%
B. 60%
C. 80%
D. 100%
■ 解説
それぞれのテストケースがどのルールをカバーしているか整理します。
|
テストケース |
該当ルール |
リスク |
|---|---|---|
|
TC1 |
R4 |
高い(High) |
|
TC2 |
R4 |
高い(High) |
|
TC3 |
R2 |
低い(Low) |
|
TC4 |
R2 |
低い(Low) |
|
TC5 |
R5 |
非常に高い(Very High) |
→ カバーしているルール:R2, R4, R5
→ 全5ルール中3つをカバー
決定表カバレッジ = (3 / 5) × 100 = 60%
✅ 正解:B(60%)
💡 ポイント
決定表テストは、複数条件の組み合わせを漏れなくテストするための技法です。
現場では、ビジネスルール(例:価格計算、リスク評価、顧客分類など)のテストに最適です。
🧭 まとめ
|
テスト技法 |
概要 |
試験頻出度 |
|---|---|---|
|
同値分割 |
入力を「有効/無効」に分ける |
★★★★☆ |
|
境界値分析 |
各クラスの境界を重点的にテスト |
★★★★★ |
|
決定表テスト |
複数条件の組み合わせを整理 |
★★★☆☆ |
ISTQB試験では、これらのテスト設計技法を理解しているかを問う問題が数多く出題されます。
特に「境界値分析」は、試験にも実務にも使える最重要技法です。



コメント