探索的テストとは

探索的テストとは、テストの実施者がテスト内容の作成とテスト実施を同時並行で対応するテスト手法の一つです。
形式的なテストのように事前にテストケース(テスト仕様書)を作成せず、テスト実施者の経験や過去の事例、知見に基づき潜在的な不具合を検出するテストを行います。探索的テストでは、テストケースで行うテストのように網羅性を重視したテストでは検知が難しい不具合を検出することが可能性が高くなります。
探索的テストとアドホックテストの違い
| 探索的テスト | アドホックテスト | |
|---|---|---|
| 共通点 | テストケースを事前作成しない | テストケースを事前作成しない |
| 異なる点 | テストに対して方向性と目指すべき目標を設定して着手する | テスト実施者の場当たり・思いつきでテストを実行する |
| テスト実行の手順やデータ準備方法、再現方法を記録して行う | テスト内容は手順・使ったデータなどの記録を残さないことが多い | |
| 再現性を確保しながら行う | 再現性がないため不具合の確保が難しい |
探索的テストはよく、似たようなテストである「アドホックテスト」と混同されることがあります。
両者の違いはテスト目的や内容が定義されているかどうかという点において異なります。
探索的テストでは、テストケースを事前準備しないとはいえ、テストに一定の方向性や目的を定めておくことが必要となります。
一方でアドホックテストはランダムテストのように場当たり的・思いつきでのテストとなり、検出した不具合への再現性が低下することがデメリットです。そのため、品質向上のためのテスト手法としては探索的テストを採用するべきと言えます。
探索的テストの効果範囲

探索的テストとは、その性質上テスト工程のどのフェーズからでも導入が可能です。
更に効果的に導入をする場合、弊社ではシステムテスト(総合テスト)や受入テストなどの広範囲且つ多岐に渡るテストに対しての導入をおすすめしております。
また、テスト工程にかける工数の確保が難しい場合や、アジャイル開発、仕様書や設計書がない場合などにも有効なテスト手法となるため、テスト実施者の経験を活かし、最小限のテスト工数で成果を上げることが可能となります。
メリット
- テスト工程のどこからでも導入可能
- テスト実施に対してのインプット(仕様書・設計書)が揃っていなくても対応が可能
- テスト準備工数の削減
- テスト工程全体の工数のコントロールが可能
- アジャイル開発での導入が容易
デメリット
- 属人性が高い
- 網羅性は保証されない
- 開発メンバーへの仕様質問や確認工程が多くなる
- 非機能要件に対してのテストには向かない
- 定量的な品質評価ができない
テストチャーターについて
探索的テストでは「テストチャーター」と呼ばれるドキュメントを事前に作成することがあります。
テストチャーターとは、探索的テストにおける方向性や目的を明記したもので、テストの方針を指し示すコンパスのようなものです。
このテストチャーターを用いることで、経験不足や知識不足のテスト実施者であっても探索的テストで迷わずにテストを進めることが可能となります。
弊社では、このテストチャーターを独自の観点でまとめ探索的テストに応用しております。