Skip to content
Latchkey

探索的テストとは?

探索的テストは、人がソフトウェアを学びながら同時にテストを設計し実行する、実践的で台本のないテストです。

すべてのバグを事前に予測できるわけではなく、自動テストは誰かが書こうと思ったことしか確認しません。探索的テストはそのギャップを埋めます。熟練したテスターは好奇心と意図を持ってソフトウェアを突き、直感に従い、入力を変え、台本化されたテストでは決して到達しない奇妙な点に気づきます。それは自動化に対する、創造的で人間的な対の存在です。

台本化されたテストとの違い

台本化されたテストは、あらかじめ定義された計画に従います。探索的テストには固定の台本がありません。テスターは、直前に起きたことに基づいて次のアクションを決めます。学習・設計・実行が同時に行われるため、適応的であり、予期しないものを見つけるのが得意です。

チャーターとセッション

探索的テストは無目的ではありません。多くの場合、「チェックアウトフローのエッジケースを探索する」といったミッションであるチャーターを持つ、時間を区切ったセッションとして構成されます。チャーターは焦点を与えつつ、テスターが見つけたものを追う自由を残します。

自動化を補完する場面

  • 誰も自動化しようと思わなかったバグを見つける。
  • 正しさだけでなく、ユーザビリティや使い心地を評価する。
  • 新規または変更された機能を素早く探索する。
  • 新しい自動テストのアイデアを生み出す。

実践的な注意点

探索的テストは、自動化と対立させるのではなく組み合わせたときに最も強力です。自動化は既知の振る舞いを低コストで守り、探索は未知を発見します。探索によって見つかったバグは、修正され続けるように、しばしば新しい自動リグレッションテストになります。

探索的テストと CI

探索的テストは人間による手動作業なので、pipeline 自体では実行されません。しかしその出力は CI を養います。発見された興味深いバグはそれぞれ自動テストになり、その後すべての push で実行されるようになります。高速で信頼できる自動スイートは、テスターが基本の再確認ではなく探索に時間を使えるようにします。

重要なポイント

  • 探索的テストは台本がなく、人間が主導し、適応的です。
  • 自動化では決して到達しないバグやユーザビリティの問題を見つけます。
  • その発見は CI における新しい自動リグレッションテストになります。

関連ガイド