ISTQBアドバンスドレベルの第3章「経験ベースのテスト技法」では、「エラ―推測」「チェックリストベースドテスト」に続き、**探索的テスト(Exploratory Testing)**が紹介されています。
この手法は、事前にテストケースを詳細に定義せず、実際の操作を通じてシステムを探索するテスト技法です。
単なる“アドホックテスト”と混同されがちですが、実際には計画性と創造性を兼ね備えた手法です。
🔍 探索的テストとは?
探索的テストとは、テスターの経験・直感・創造性を最大限に活かしてアプリケーションを探索し、欠陥を発見する手法です。
従来のように詳細なテストケースを用意するのではなく、実際にアプリを操作しながら「この動作は正しいのか?」「ここは想定外の入力で壊れないか?」といった観点で確認していきます。
テストの過程で気づいたことは、口頭のデブリーフィング(debriefing)や簡易的なメモとして残し、チーム内で共有します。
🧭 探索的テストの特徴
|
特徴 |
内容 |
|---|---|
|
計画性 |
完全なアドホックではなく、テストセッションごとに目的や範囲を定義します。 |
|
創造性 |
テスターの経験・直感に基づき、通常のテスト設計では見落とされがちな欠陥を見つけます。 |
|
相互作用 |
開発者や他のテスターとフィードバックを交換しながら進めます。 |
|
軽量ドキュメント |
詳細なテストケースを残さず、代わりに「テストチャーター(Test Charter)」で管理します。 |
🧾 テストチャーター(Test Charter)とは?
探索的テストでは、「テストチャーター」というドキュメントを使って、テストセッションの目的・範囲・実施者などを簡潔にまとめます。
テストチャーターの一般的な構成例:
|
項目 |
内容 |
|---|---|
|
テスト目的 |
例:ログイン機能の脆弱性を確認する |
|
テスト対象 |
Webアプリのログイン画面 |
|
担当者 |
田中テスター |
|
開始/終了時間 |
10:00〜11:30(90分) |
|
セッション時間 |
通常30〜120分(時間制限あり) |
|
前提条件 |
テストデータが準備済み、ネットワーク接続良好 |
|
完了条件 |
主要な入力パターンを探索し、発見事項を記録 |
このように、テストチャーターは探索的テストを「時間で区切る(Time-boxed)」設計図のような役割を果たします。
🧠 探索的テストが有効な場面
探索的テストは、次のような場面で特に効果を発揮します。
-
仕様が曖昧、またはドキュメントが不十分なとき
-
新しいアプリや未知の領域を素早く理解したいとき
-
リリース直前の短期間でテスト範囲を広げたいとき
-
チーム内に経験豊富なテスターがいるとき
⚠️ 探索的テストの課題と対策
|
課題 |
対策 |
|---|---|
|
再現性の欠如 |
テストツールの「キャプチャ&リプレイ(Capture & Playback)」機能を活用し、実行手順を自動記録。 |
|
証跡が残りにくい |
テストチャーターやメモで、重要な操作手順・入力値・出力を簡易的に記録。 |
|
評価が属人的になる |
チームでデブリーフィングを行い、発見事項を共有・レビューする。 |
一部の企業では、**探索的テスト専用ツール(例:Session-based Test Managementツール)**を導入して、実行ログを自動で保存する仕組みを採用しています。
💡 具体例:ログイン画面の探索的テスト
たとえば「ユーザーログイン機能」を探索的にテストする場合、以下のような流れになります。
-
目的の設定:ログイン機能のセキュリティと入力検証を確認
-
操作例:
-
正しいID/パスワードでログインできるか
-
大文字・小文字を入れ替えても認証されるか
-
空欄、SQLインジェクション文字列(例:‘ OR 1=1 —)を入力した場合の挙動
-
同時ログイン制限が正しく機能するか
-
-
観察・記録:
-
意図しないエラーメッセージ
-
認証バイパスの可能性
-
UIの崩れや異常応答
-
このように、探索的テストは「経験豊富なテスターほど高い発見力を発揮できる」点が大きな強みです。
🧩 まとめ:探索的テストは“計画的な創造性”
探索的テストは「計画された即興(planned improvisation)」とも言われます。
単なるランダムテストではなく、テスターの知識と直感を活かして未知のバグを発見する科学的アプローチです。
テストチャーターをうまく活用し、短時間で効率よく高リスク領域をカバーしましょう。


コメント