ISTQB Foundation 4.0 第4章「テスト分析と設計」では、テスト技法(Test Techniques)について学びます。
この記事では、その最初のトピック「4.1 テスト技法の概要(Test Techniques Overview)」をわかりやすく整理します。
🧩 テスト技法とは?
テスト技法(Test Techniques)とは、「テストケースの数を最適化し、効果的にカバレッジを確保する方法」のことです。
ソフトウェアテストの原則第2条では、「完全なテスト(Exhaustive Testing)は不可能」とされています。
つまり、すべての入力パターンを試すことは現実的ではありません。
ではどうやって限られた時間・リソースの中で高い信頼性を確保するのか?
その答えが「テスト技法」です。
テスト技法を使うことで、
-
必要最小限のテストケースで
-
最大限のカバレッジ(網羅性)を確保し、
-
効率的に不具合を発見できます。
🎯 テスト技法の目的と役割
テスト技法は、次の2つのステップをサポートします。
-
テスト分析(Test Analysis):何をテストすべきかを特定する
-
テスト設計(Test Design):どのようにテストするかを決める
これにより、次のような作業を効率化できます。
-
テスト条件の定義
-
カバレッジ項目の特定
-
テストデータの導出(正のケース・負のケースを含む)
テスト技法は、網羅性を保ちながらテストケース数を最小化する「知的な省エネ手法」です。
⚫ ブラックボックステスト技法(Black Box Test Techniques)
ブラックボックステストは、仕様書や要件定義に基づいてテストケースを設計する技法です。
内部構造(コードや設計)は考慮しません。
特徴
-
別名:仕様ベース技法(Specification-Based Techniques)
-
入力と出力の関係に注目し、要件通りに動作するかを検証
-
詳細な仕様書・要件定義が必要
-
コードが変更されても、要件が変わらない限りテストケースは有効
主な技法(いずれもK3レベル:適用が問われる)
-
同値分割法(Equivalence Partitioning)
-
境界値分析(Boundary Value Analysis)
-
状態遷移テスト(State Transition Testing)
-
判定表テスト(Decision Table Testing)
これらの技法は、限られたテストケースで効率的に不具合を見つけるための基礎となります。
⚪ ホワイトボックステスト技法(White Box Test Techniques)
ホワイトボックステストは、コードや内部構造に基づいてテストを設計する技法です。
主に開発者やテスト自動化エンジニアが使用します。
特徴
-
別名:構造ベース技法(Structure-Based Techniques)
-
コードや設計を理解している人が適用可能
-
設計や実装後に使用される
-
コードの流れを可視化してカバレッジを測定
主な技法(K2レベル:理解が問われる)
-
ステートメントテスト(Statement Testing)
→ ステートメントカバレッジで測定
-
ブランチテスト(Branch Testing)
→ ブランチカバレッジで測定
ホワイトボックステストは、コードの品質を高め、見落としを防ぐ役割を持っています。
🧠 経験ベーステスト技法(Experience-Based Test Techniques)
このカテゴリーは、テスターの経験・直感・ドメイン知識に基づいた手法です。
仕様やコードが不十分な場合でも、過去の経験をもとに重要な欠陥を発見できます。
特徴
-
過去の類似システムでの経験を活かす
-
ドメイン知識や典型的な不具合パターンを利用
-
ブラックボックス・ホワイトボックス両方を補完する役割
主な技法(K2レベル)
-
エラー推測(Error Guessing)
-
探索的テスト(Exploratory Testing)
-
チェックリストベーステスト(Checklist-Based Testing)
特に、探索的テストは「計画+即興」の融合であり、短時間で高い効果を発揮する技法として注目されています。
✅ まとめ:3つのテスト技法カテゴリ
|
カテゴリ |
基準 |
主な技法 |
レベル |
|---|---|---|---|
|
ブラックボックス |
仕様書・要件 |
同値分割、境界値分析、状態遷移、判定表 |
K3(適用) |
|
ホワイトボックス |
コード・構造 |
ステートメント、ブランチ |
K2(理解) |
|
経験ベース |
テスターの経験 |
エラー推測、探索的、チェックリスト |
K2(理解) |
💡 学習のポイント
-
ブラックボックスは「要件」から、ホワイトボックスは「コード」から。
-
経験ベースは、他の技法で漏れる不具合を補完。
-
K2/K3レベルの違いを意識して試験対策を。
これらの技法は今後の章でそれぞれ詳しく学習します。
🧭 ISTQBにおけるKレベルのおさらい
ISTQBでは、各学習項目に「知識レベル(Kレベル)」が定義されています。
これは**Bloomの分類法(教育心理学)**をもとにしており、理解の深さや試験で問われる内容を区別するために使われます。
🧩 K2 / K3 の意味と違い
|
レベル |
名称 |
学習目標 |
試験で問われる内容 |
例題イメージ |
|---|---|---|---|---|
|
K1 |
Remember(記憶) |
用語や定義を覚える |
用語の定義、概念の一致 |
「ブラックボックステストとは?」など |
|
K2 |
Understand(理解) |
概念や目的を理解する |
意味の説明、特徴の比較 |
「ブラックボックスとホワイトボックスの違いは?」など |
|
K3 |
Apply(適用) |
学んだ知識を実際に使う |
与えられた仕様からテストケースを導出 |
「この仕様書から境界値を求めよ」など |
|
K4 |
Analyze(分析) |
情報を分析して結論を導く |
高度な分析問題(※Foundationではほぼ出題なし) |
– |
🧠 具体例で見る:K2とK3の違い
● K2(理解レベル)の例
質問:「ブラックボックステスト技法の特徴として正しいものはどれか?」
→ 要件に基づく、内部構造を考慮しない、仕様ベースの技法である、など概念理解が問われる。
● K3(適用レベル)の例
質問:「入力値が0〜100のとき、境界値分析を用いるとテストケースはいくつ必要か?」
→ 実際に技法を適用して計算・判断する力が問われる。
🏁 試験対策のポイント
-
K2問題は「定義・違い・目的」を説明できるようにする。
→ 公式シラバスや用語集で用語の意味をしっかり押さえる。
-
K3問題は「実際に手を動かして解く」練習をする。
→ 境界値分析、同値分割、判定表、状態遷移などはK3レベルなので、
例題を多く解いて“使える知識”にしておく。
-
問題文に「どの技法を使うべきか?」と書かれていたら、それはK3の合図。
→ 技法名を覚えるだけでは不十分。適用方法まで理解する必要があります。
✅ Kレベルまとめ
|
比較項目 |
K2 |
K3 |
|---|---|---|
|
学習目標 |
理解する |
適用する |
|
問題の特徴 |
用語・概念の理解 |
実際の仕様を使った問題 |
|
出題例 |
「特徴を選べ」 |
「テストケース数を求めよ」 |
|
対策法 |
シラバスの理解・暗記 |
模擬問題・演習で実践練習 |
💬 一言アドバイス
「理解」から「使える」へ。
K2で概念を理解した上で、K3で手を動かす練習を積むことが、ISTQB試験合格のカギです。
次のチュートリアルでは、「ブラックボックステスト技法」の具体的な適用方法を解説します。



コメント