探索的テストはいつ行なうか | 組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題

探索的テストはいつ行なうか

テスト技法のひとつに「探索的テスト」があります。探索的テストにおいてはテスト設計とテスト実行を同時並行的に行ないます。テストを行なった結果を考察し、バグを見つけるために有効と思われる次のテスト方法を頭の中でテスト設計し、それをもとにテストを行ないます。これを繰り返すことでバグを見つけようとするものです。


ほとんどのテスト技法は何らかのテストドキュメントをもとに行なう「スクリプトテスト」というカテゴリに属しますが、探索的テストではテスト担当者が即興で頭の中でテスト設計を行なうのでテストドキュメントは用いません。テスト技法を解説した書籍では、探索的テストがどのような場面で用いられるかについては特段説明されていないようです。


探索的テストはバグを発見したときに、どのような条件でバグが発生するのかを明確にするために必要となります。バグを発見すると不具合レポートを作成することになりますが、テストで見つかったバグがどのような条件の場合に発生するのかを明確にするためには探索的テストが欠かせません。テストで偶然見つかったバグ発生条件だけでなく、それ以外の条件ではどうなのかも明確にした不具合レポートを作成した方が、バグを解析する開発担当者にとってありがたいことになります。


ある条件でバグが発生するとき、条件の一部を変更してテストを行ない同じようにバグが発生するかをテストします。この作業を繰り返し、バグが発生する必要充分条件を突き止めます。この一連の作業が探索的テストにあたります。同時にバグ発生時のタスク間のメッセージ通信などのログ情報も収集し、不具合レポートに添付します。


開発担当者が不具合レポートに書かれたバグ発生条件を参考にすることはもちろんですが、多くの場合、ログ情報を読んだだけでバグ発生箇所が特定できるようです。


バグの発生条件を明確にする以外に、通常のテストの一環として探索的テストを行なうとしたら、あまり有効でないように思われます。なぜならどこをどのようにテストするのか見極めに必要な情報がそれほどないからです。そのような場合は「エラー推測テスト」が適しているとおもいます。