セッションシートの作成、テスト実施、セッションレビューなどそのほか探索的テストのやり方を紹介
4. セッションシート(テストチャータ)の作成
弊社では、以下のようなセッションシート(テストチャータ)を使っています。ここに、セッションミーティングで決まった内容を記述してきます。
先ほどのセッションミーティングでのテストリーダーとテスターの会話の例をセッションシートに記入すると、以下になります。下部の「目的の達成度合い」と「各不具合について」は、テスト実施中または完了後に記入します。
セッションシートは、どのようなテストを実施するかの指針を記載しますが、テストケースよりもかなり粗い粒度になります。慣れていければ、数分で記入できるでしょう。
5. テスト実施
上記で作成したセッションシートに沿って、テストを実施していきます。セッションシートでテストの指針は決まっていますが、テスターの裁量がかなり残っています。そのため、テスターはクリエイティビティを発揮して、バグが発生しそうなパターンを時間内にどんどん試していきます。時間がきたら、テストが途中だとしても一旦中断して、テスト結果(目的の達成度合いと各不具合について)を記載します。テスト結果がOKであれば、下記のようになります。
テストで不具合を発見した場合は、セッションシートとは別にインシデントレポート(不具合報告書)を記載します。インシデントレポートは、通常のテストと同じフォーマットを使用しています。案件によって、スプレッドシートの場合もあれば、RedmineなどのBTS(バグ・トラッキング・ツール)の場合もあります。以下はスプレッドシートの例です。インシデントレポートには、セッションシートの番号を記入して、トレーサビリティを確保します。
セッションシートには、テストの結果とインシデントの情報を記載します。「各不具合について」の部分には、インシデントNo.とインシデントのタイトルを記入して、トレーサビリティを確保するとともに、どんな不具合が発生したか、すぐに分かるようにします。こうすることで、次のセッションレビューが実施しやすくなり、あとでセッションシートを確認した時に確認しやすくなります。
6. セッションレビュー(続ける場合は3に戻る)
1つのセッションが完了したら、テストリーダーとテスターでセッションレビューを実施します。セッションレビューでは、セッションシートをもとに、どんなテストを実施したのか、どんな不具合があったのかを話します。この時、テストリーダーはテスターが実施したテスト内容を評価し、フィードバックを行います。テストが足らないと判断した場合は、同じテスト観点のセッションを追加します。テストが十分だと判断した場合は、別のテスト観点に移り、テストが完了と判断した場合は、次のテスト終結作業に移ります。
同じテストを継続する場合と、次のテストに移る場合は、3番に戻ってセッションミーティングを実施します。実運用では、セッションレビューとセッションミーティングを同時に実施します。セッションレビューおよびセッションミーティングは、対面で実施する場合もあれば、チャットで実施する場合もあります。
7. テスト終結作業の実施
テスト終結作業では以下の4つを実施します。
- a. テスト資産の保管
- b. テスト環境のクリーンアップ
- c. 教訓の特定
- d. テスト完了報告
それぞれについて詳しく見ていきましょう。
a. テスト資産の保管
ここでは、再利用可能なテスト資産を保管します。探索的テストの場合は、主にセッションシートとインシデントレポートが該当します。他にも、Q&Aやツール、テストデータなどを作成した場合はそれも該当します。
b. テスト環境のクリーンアップ
テスト環境のクリーンアップでは、テスト環境を元の状態に戻します。途中にテストデータを作成した場合は、その削除なども実施します。どのような状態に戻すかは、テスト実施前にステークホルダーと合意しておくと良いでしょう。
c. 教訓の特定
案件終了時に振り返りミーティングを実施し、プロジェクトで得た教訓やノウハウをまとめます。また、製品や市場ごとにまとめたテスト観点のアップデートを行います。これらの情報をまとめることによって、次回のプロジェクトのインプットとします。
d. テスト完了報告
テストサマリーレポートを作成し、顧客に提出します。報告会を実施することもあれば、レポートを提出するだけの時もあります。探索的テストでは、以下のようなサマリーレポートを作成します(通常のサマリーレポートよりも簡易なレポートになります)。
最後に
いかがでしたでしょうか。探索的テストについて3回にわたり解説してきました。第1回は、探索的テストとは何かを俯瞰したあと、探索的テストのメリットとデメリットについて述べました。第2回は、探索的テストのデメリットを、どのように対策を講じたのか説明し、今回は、探索的テストの基本7ステップを紹介しました。
すでに見てきたように、探索的テストを上手に活用すれば、テストの質を上げてコストを抑え、しかも期間を短縮させることが可能です。一方で、デメリットをきちんと認識してその対策を打たなければ、テストの質が不安定になり、品質への悪影響が懸念されます。
本記事で紹介したように、探索的テストのメリットを活かすとともにデメリットを抑える対策を併せることで、探索的テストの有効活用を図り、ソフトウェアテストの品質向上に役立てていただきたいです。