概要
事前にテストケースなどを用意するこなく、ソフトウェアの振る舞いを見ながら実施者が柔軟にテストの内容を調整しながら行うテストです。
テスト対象の振る舞いに着目し、そのフィードバックを元にテスト内容を改善していくことから「対話型」のアプローチと言われることもあるそうです。
事前にテスト設計を行う必要がないので、仕様書や設計書といったドキュメントを必要とせず
すぐに実施できることからアジャイル開発と相性が良いとされています。
テストの目的を大まかに定めておき、その目的から逸脱しないように進めていくのが一般的。
実施した手順や思考の過程を記録に残すことが推奨されています。
アドホックテストとモンキーテストとの違い
探索テストと混同されがちな「アドホックテスト」「モンキーテスト」とは明確に異なります
アドホックテスト
場当たり的に思いついたテストを実施する。
事前のテスト設計や方針決めを行わず、テスターの直感や経験を頼りに実施します。
テスターの経験によるため、経験豊富なテスターが担当する必要があります。
探索的テストとの違いは「指針がないこと」と「テストの実施記録が残らないこと」
モンキーテスト
製品の使用方法について全く考慮せずに操作を行うテストです。
特定のキーを繰り返し連打したり、通常のシナリオではまず発生しないような手順などを実施したりする。テストの再現性は期待できません。
スクリプトテストとの違い
スクリプトテストはテストの具体的な手順や内容、期待値などをまとめたテストケースを作成して実施する。テスト計画 > 設計 > 実施の順番で行います。
テストケースを事前に作成するので実施までに時間がかかるが探索的テストと仕様に対して網羅性の高いテストが実施できます。
また、設計したテストケースをもとに実施するので個人のスキルに左右されず、属人性も低くなります。
探索的テストのメリット・デメリット
メリット
1. 素早く実施
仕様書や設計書などのドキュメントが不十分でも実施可能です。
ドキュメントを作成しない分、工数やコストを抑えやすく、素早く実施できます。
2. 柔軟性が高い
実際のものに合わせながらテストできます。
必要なところをピンポイントでテストすることも可能です。
テスターの暗黙知や明文化されていないところを活用できます。
デメリット
1. 属人性が高い
テスターの経験や能力によって結果・品質が変動します。
経験が少ない人が担当するとアドホックテストと変わらなくなってしまいます
2. 品質保証には向かない
漏れや網羅性がわかりにくいため、品質保証には向きません
まとめ
探索的テストは素早くできる反面、品質の保証ができず属人性の高いテスト方法です。
網羅的に作成するスクリプトテストと補完する形で組み合わせて実施すること良いといえます