はじめに
第1回は、探索的テストとは何かを俯瞰したあと、探索的テストのメリットとデメリットに言及します。第2回は、そのデメリットを我々がどのように克服したか、ソリューションを紹介したいと思います。そして第3回では、これから探索的テストを実際にやってみたいと思う読者のために、弊社で実際に行っている探索的テストのやり方を紹介します。
対象読者
- アドホックテストのテスト品質を上げたい人
- テストの抜け漏れがいつも発生しており、テスト品質を上げたい人
- テストセットが膨大になり、もっと効率的なテストを模索している人
- プロジェクト予算が限られており、もっと効率的なテストを模索している人
- 納期が迫っており、テストケースを作成している時間はないが、アドホックテストでは不安な人
- アジャイル開発にマッチしたテストを探している人
「探索的テスト」とは何か?
バルテス株式会社の高木陽平と申します。私はバルテスのフィリピン子会社 VALTES ADVANCED TECHNOLOGY Inc.(VAT)の現地責任者として、2018年から探索的テストを企画・サービス化し、推進してきました。サービス開始以来、現在では年間数十件の探索的テストを現地で実施するまでに成長しています。
中には「製品出荷前はバルテスで探索的テストを実施してからでないと出荷しない」というお客さまもいます。このように、今では多くのお客さまが弊社の探索的テストに頼っていただけるようになってきています。しかし、最初から多くのご支持があったわけではなく、ここまでくるのに多くの試行錯誤がありました。その試行錯誤を今回の連載ではご紹介したいと思います。
経験ベースのソフトウェアテストの1つである探索的テストは、仕様把握、テスト実施内容の決定、テスト実施の3つを同時に実施していきます。この時、基本的にテストケースを作成せず、ソフトウェアの振る舞いや結果を見て、次に何のテストをするか決めていくことになります。
例えば、「この機能でバグが出たのでもう少し深掘りをしてテストをしよう」とか、この機能は大丈夫そうだから次の機能のテストをしよう」などになります。つまり、探索的テストとは、あらかじめテストケースを作成しないで、テスターが頭の中でどのようなテストをするかその都度決めて、次々にテスト実行していくテストになります。
探索的テストは、Cem Kaner氏が著書『Testing Computer Software(邦訳:基本から学ぶソフトウェアテスト)』の中で、「進化型アプローチ」として紹介しました。その後、『Lessons Learned in Software Testing(邦訳:ソフトウェアテスト293の鉄則)』で、探索的テストとなりました。
日本では、Cem Kaner氏に直接師事した高橋寿一氏の著書『知識ゼロから学ぶ ソフトウェアテスト【改訂版】』で詳しく紹介されました。さらに、世界のソフトウェアテスト資格のデファクトスタンダードであるISTQB(日本ではJSTQB)で、経験ベーステストの1つの手法として紹介されています。
それでは、探索的テストについて詳しく見ていきましょう。