対象読者
- 探索的テストを実際にやってみたいエンジニア読者
探索的テストの具体的なやり方とは?【基本の7ステップ】
ここでは、弊社の探索的テストの具体的なやり方を紹介していきます。弊社の探索的テストは、以下の7ステップです。
- キックオフミーティング
- 機能の抽出
- セッションミーティング
- セッションシート(テストチャータ)の作成
- テスト実施
- セッションレビュー(続ける場合は3に戻る)
- テスト終結作業の実施
それぞれについて、詳しく見ていきましょう。
1. キックオフミーティング
キックオフミーティングは、探索的テストだからといって特別なことはなにもなく、通常のキックオフミーティングを実施しています。だいたい以下の内容をメンバーに説明しています。
- プロジェクトの背景
- テストの目的
- 顧客の期待値
- システムの概要
- メンバーの役割
- スケジュール
- コミュニケーション方法
- ノウハウや観点表の情報……など
2. 機能の抽出
キックオフ会議の次は、機能の抽出です。その目的は、探索的テストがシステムの全体をどれくらいカバーしたのか、どの機能をどれだけテストしたのかを判断できるようにするためです。この抽出をしないとテストの抜けもれや、偏りが大きくなります。ただし、抽出といっても、開発時に作成されたものがあれば、それを流用します。また、機能一覧がない場合も、要件一覧や画面一覧があれば、それで代用することもあります。
流用できる資料がない場合は、システムを触りながら作成することになります。例えば、ECサイトの場合、以下のような機能が挙げられるでしょう。挙げた機能は、ステークホルダーに確認してもらい、抜けもれがないか確認します。
大分類 | 小分類 |
---|---|
ログイン/登録 | ログイン、アカウント登録 |
商品管理機能 | 商品の登録/削除/更新 |
カート機能 | 商品をカートに入れる、カート落ち、カートの商品削除/追加/削減 |
支払い/キャンセル機能 | 支払い処理、商品をキャンセル、払い戻し |
領収書機能 | 領収書発行 |
メール機能 | キャンペーンメールの送付、登録メールの送付、購入メールの送付 |
システム管理 | システム管理者の登録/削除、顧客アカウントの編集 |
レポート機能 | 管理レポートの表示、管理レポートの印刷 |
配送機能 | 配送依頼、出荷状態の更新 |
このように、機能一覧が示されるとテスト対象が一気に具体化します。また、顧客、テストリーダー、テスターの中で、どのテストをするか共通認識ができます。これだけでも行き当たりばったり感が薄れて網羅性が高まります。
3. セッションミーティング
機能の抽出が終わったら次は、セッションミーティングを実施します。セッションミーティングでは、テストリーダーとテスターがどのテストを実施するかを協議検討します。例えば、上記のECサイトの例では、テストリーダーとテスターが以下のような会話をします。
テスター「お金が絡むので、支払い/キャンセル機能が、一番リスクが高いと思います」
リーダー「そうですね。そこを手厚くやりましょう。ただ、カート機能の品質が確保されていないと、支払い/キャンセル機能も、きちんと動作しないかもしれないですね」
テスター「それでは、カート機能の品質を確保してから、支払い/キャンセル機能をテストするのは、どうでしょうか?」
リーダー「では、それでお願いします」
テスター「以前、日またぎでカートの中身がキャンセルされてしまう不具合があったので、日またぎのテストもしましょう」
リーダー「日またぎも、やりましょう。ただし、日またぎはシステム時間を変更しないといけないので、調整が必要になります。なので、『カートに商品を入れる』と、『カートの商品削除/追加/削減』の基本パターンを先にやりましょう。複数商品を入れるなど、いろいろなパターンを試してみてください。その間に、システム時間の件は、調整しておきます」
テスター「承知しました」
リーダー「最初のセッションは、とりあえず1時間でお願いします」
テスター「わかりました」
このように、どの機能をどのようにテストするのかを協議して決めます。ほとんどの場合、5分~10分の短時間で終わります。