SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

「探索的テスト」でテスト経験を最大限に活かそう

探索的テストの具体的なやり方とは? ソフトウェアテスト専門企業が実践する基本の7ステップを解説

「探索的テスト」でテスト経験を最大限に活かそう 第3回

  • X ポスト
  • このエントリーをはてなブックマークに追加

 本記事では、ソフトウェアテスト専門会社 バルテス株式会社のフィリピン子会社 VALTES ADVANCED TECHNOLOGY Inc.の現地責任者で、2018年に探索的テストサービスの立ち上げ、推進してきた筆者が3回にわたって探索的テストについてまとめています。第1回は、探索的テストとは何かを俯瞰したあと、筆者が感じている探索的テストのメリットとデメリットについて述べ、第2回では探索的テストのデメリットをどのように対策を講じたのか、実際の対策事例を説明しました。第3回となる本記事では、これから探索的テストを実際にやってみたいと思う読者のために、弊社で実際に行っている探索的テストのやり方をご紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

対象読者

  • 探索的テストを実際にやってみたいエンジニア読者

探索的テストの具体的なやり方とは?【基本の7ステップ】

 ここでは、弊社の探索的テストの具体的なやり方を紹介していきます。弊社の探索的テストは、以下の7ステップです。

  1. キックオフミーティング
  2. 機能の抽出
  3. セッションミーティング
  4. セッションシート(テストチャータ)の作成
  5. テスト実施
  6. セッションレビュー(続ける場合は3に戻る)
  7. テスト終結作業の実施

 それぞれについて、詳しく見ていきましょう。

1. キックオフミーティング

 キックオフミーティングは、探索的テストだからといって特別なことはなにもなく、通常のキックオフミーティングを実施しています。だいたい以下の内容をメンバーに説明しています。

  • プロジェクトの背景
  • テストの目的
  • 顧客の期待値
  • システムの概要
  • メンバーの役割
  • スケジュール
  • コミュニケーション方法 
  • ノウハウや観点表の情報……など

2. 機能の抽出

 キックオフ会議の次は、機能の抽出です。その目的は、探索的テストがシステムの全体をどれくらいカバーしたのか、どの機能をどれだけテストしたのかを判断できるようにするためです。この抽出をしないとテストの抜けもれや、偏りが大きくなります。ただし、抽出といっても、開発時に作成されたものがあれば、それを流用します。また、機能一覧がない場合も、要件一覧や画面一覧があれば、それで代用することもあります。

 流用できる資料がない場合は、システムを触りながら作成することになります。例えば、ECサイトの場合、以下のような機能が挙げられるでしょう。挙げた機能は、ステークホルダーに確認してもらい、抜けもれがないか確認します。

大分類 小分類
ログイン/登録 ログイン、アカウント登録
商品管理機能 商品の登録/削除/更新
カート機能 商品をカートに入れる、カート落ち、カートの商品削除/追加/削減
支払い/キャンセル機能 支払い処理、商品をキャンセル、払い戻し
領収書機能 領収書発行
メール機能 キャンペーンメールの送付、登録メールの送付、購入メールの送付
システム管理 システム管理者の登録/削除、顧客アカウントの編集
レポート機能 管理レポートの表示、管理レポートの印刷
配送機能 配送依頼、出荷状態の更新

 このように、機能一覧が示されるとテスト対象が一気に具体化します。また、顧客、テストリーダー、テスターの中で、どのテストをするか共通認識ができます。これだけでも行き当たりばったり感が薄れて網羅性が高まります。

3. セッションミーティング

 機能の抽出が終わったら次は、セッションミーティングを実施します。セッションミーティングでは、テストリーダーとテスターがどのテストを実施するかを協議検討します。例えば、上記のECサイトの例では、テストリーダーとテスターが以下のような会話をします。

テスター「お金が絡むので、支払い/キャンセル機能が、一番リスクが高いと思います」

リーダー「そうですね。そこを手厚くやりましょう。ただ、カート機能の品質が確保されていないと、支払い/キャンセル機能も、きちんと動作しないかもしれないですね」

テスター「それでは、カート機能の品質を確保してから、支払い/キャンセル機能をテストするのは、どうでしょうか?」

リーダー「では、それでお願いします」

テスター「以前、日またぎでカートの中身がキャンセルされてしまう不具合があったので、日またぎのテストもしましょう」

リーダー「日またぎも、やりましょう。ただし、日またぎはシステム時間を変更しないといけないので、調整が必要になります。なので、『カートに商品を入れる』と、『カートの商品削除/追加/削減』の基本パターンを先にやりましょう。複数商品を入れるなど、いろいろなパターンを試してみてください。その間に、システム時間の件は、調整しておきます」

テスター「承知しました」

リーダー「最初のセッションは、とりあえず1時間でお願いします」

テスター「わかりました」

 このように、どの機能をどのようにテストするのかを協議して決めます。ほとんどの場合、5分~10分の短時間で終わります。

次のページ
セッションシートの作成、テスト実施、セッションレビューなどそのほか探索的テストのやり方を紹介

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
「探索的テスト」でテスト経験を最大限に活かそう連載記事一覧

もっと読む

この記事の著者

高木 陽平(VALTES ADVANCED TECHNOLOGY INC.)(タカギ ヨウヘイ)

  東京理科大学大学院 技術経営修士(MOT)卒業。バルテスのフィリピン子会社であるVALTES ADVANCED TECHNOLOGY INC.の取締役。今まで、多数のソフトウェアテストやテストプロセス改善の業務に従事。大学でソフトウェア工学の研究室に入り、プロセス改善を研究。そのこともあり、CM...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/14423 2021/07/13 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング