用語集 · テストの基礎
探索的テスト
英語: Exploratory testing
別名: 探索的テスティング, セッションベースドテスト, exploratory test, session-based exploratory testing
定義
テスターがテストの設計と実行を同時に行い、各結果から得た情報をもとに次に何を試すかを決めていくテスト手法です。
探索的テストとは、学習、テスト設計、テスト実行を同時に行うことです。事前に書かれた手順に従う代わりに、テスターはプロダクトを調査し、どこで失敗しそうかという仮説を立て、それを試し、その結果に基づいて次のテストを組み立てます。ランダムにクリックすることではなく構造化された思考であり、誰もテストケースを書こうと思わなかったバグを見つけます。
具体例:時間を区切ったセッション
チームは通常、チャーター(憲章)を書いたうえで、セッション単位で探索的テストを行います。
チャーター: プロフィールページのファイルアップロードを通常とは異なるファイルで探索し、不正な入力の扱いを明らかにする。60 分。
セッション中、テスターは 0 バイトのファイル、50 MB の画像、実際には PDF である .png、絵文字を含むファイル名や 255 文字のファイル名、短時間での 2 回連続アップロード、途中でのキャンセルなどを試すかもしれません。予想外の結果が出るたびに、それを掘り下げるテストにつながります。メモには、カバーした範囲、見つかったバグ、生まれた疑問、別のセッションに残した領域を記録します。
探索的テストとスクリプトテストの比較
| 探索的テスト | スクリプトテスト | |
|---|---|---|
| 設計 | 実行中に行う | 実行前に行う |
| 強み | 予想外のバグを見つけ、素早く適応できる | 再現可能で監査しやすく、自動化しやすい |
| 弱み | テスターのスキルに依存し、再現しにくい | 想定したものしか見つからない |
両者は互いに補完し合います。スクリプトテストや自動テストは既知の振る舞いを守ります。探索は未知のものを見つけ、その優れた発見の多くは新しい自動回帰テストになります。
よくある間違い
- チャーターもメモもない。 焦点と記録がなければ、何がカバーされたか誰にも分からず、セッションを報告できません。
- アドホックテストと混同する。 アドホックテストは非公式で記録を残しません。探索的テストは意図的で、時間を区切り、終了後に振り返り(デブリーフ)を行います。
- 最後に回す。 機能がまだ作られている早い段階で探索すれば、対応コストが最も低いうちに開発者へフィードバックできます。