シナリオテストとは?作り方と効率的に行うコツを解説
COLUMN
最終更新日:2023年06月05日 / 投稿日:2022年12月13日
システムやソフトウェアのテストの1つに「シナリオテスト」があります。シナリオテストはユーザーの視点に沿って、実際にユーザーの行いそうな動作を確認していくテスト方法であり、開発の最終工程で実施される、非常に重要なテストです。
当記事では、シナリオテストがどのようなテストなのか解説した上で、シナリオテストの設計方法と効率よく行うコツを解説します。ユーザビリティの高いシステムを開発するためにも、シナリオテストをしっかり実施しましょう。
目次
1. シナリオテストとは?
シナリオテストとは、シナリオ(ユーザーの利用手順や実際に行う操作)を想定し、問題なくシステムやソフトウェアが動作するか確認するテストです。システムの内部構造は考えず、仕様を満たしているか確認するブラックボックステスト技法の一種で、ユーザー視点でテストを実施します。
シナリオテストはシステムチェックの最終工程で行われます。ユーザーが実際に操作したときに起こる問題点や不具合を発見し、改善に生かせるのがメリットです。複数の機能を横断するようなシナリオも組めるため、整合性のチェックも行えます。
小規模なシステム開発でない限り、ありとあらゆるシナリオを想定してテストするのは非常に手間です。多くの場合、シナリオは典型的な操作方法のみを想定して作成するため、イレギュラーな事例の問題点は捉えられないデメリットがあります。
1-1. ユースケーステストとの違い
シナリオテストとよく似たテストに、ユースケーステストがあります。ユースケースとは、アクターがシステムを使用して目的を果たすまでの流れを明確にしたものです。アクターは対象システムにかかわる外部の存在を示し、ユーザーや外部システムなどが含まれます。
ユースケーステストとは、想定したユースケースにもとづいて実施するテストのことです。アクターの行動を図式化したユースケース図や、アクターとシステムのやり取りをテキスト化したユースケース記述によって条件を明確化します。テストケースが散乱するのを防ぎ、網羅的にチェックできるのが特徴です。
ユースケーステストとシナリオテストの違いは、テストの自由度です。ユースケーステストはユースケースの制約内で実施し、機能を横断するようなテストは行いません。シナリオテストはある程度自由にシナリオを作成できるため、ユースケースに含まれないテストを実施できます。
テスト自動化ツールならATgo
1か月トライアル無料:詳細はこちら
2. シナリオテストの作り方
シナリオテストを実施すれば、効率的にシステムをチェックでき、改善点などを洗い出せます。しかし、シナリオテストをどのような流れで実施すればよいのか、具体的なことが分からない人もいるでしょう。シナリオテストを実施するには、大きく分けて3つのポイントがあります。
ここでは、シナリオテストの作成方法を詳しく解説します。
2-1. テスト方針を決める
シナリオテストの目的や全体像を把握するために、まずはテストの方針を決めます。テストの方針を決めておけば、テスト設計者ごとに実施内容が異なったり、内容に過不足があったりすることを防げます。設計やレビューにかかる時間も短縮でき、効率よくテストを進められるでしょう。
さらに、テスト条件や目的を明確にしておくことで、ユーザーの行動や思考を想像しやすくなります。誰が設計を担当しても内容に相違が起こりにくくなるため、個人の経験やテストスキルによって内容が変わることを防ぎます。
2-2. ユーザーの想定を行う
次のステップでは、テストの方針にもとづいた範囲内で、ユーザーの心理や行動を想定します。ユーザーの想定を行えば、ニーズや行動過程を把握でき、さまざまなパターンを想定したテストが実施可能です。シナリオテストの質が向上すれば、ユーザー満足度やシステムの品質向上も目指せます。
ユーザーの想定を行うときは、ユーザーが成し遂げたいことは何か、目的を達成するために取る行動パターンはどれくらいあるか、などを考慮して網羅します。それぞれの行動ごとにテスト項目を振り分け、内容を整理しましょう。
2-3.テスト内容を洗い出す
最後に、ユーザーの想定を考慮した上で、テスト内容の洗い出しを行います。テストケースの操作内容を書き出し、あらゆる組み合わせを網羅しましょう。組み合わせが多いとテスト漏れが発生する可能性があるため、フローに沿った対応表を作成しておくのがおすすめです。
また、テスト内容はユーザーのニーズに沿わない項目、目的達成を阻害する項目を洗い出すことも大切です。無駄な情報があったり、システムが使いにくかったりすると、ユーザー満足度の低下につながります。抜けや漏れがなく、網羅的にチェックできるシナリオテスト作成を目指しましょう。
3.シナリオテストを効率よく行うコツ
シナリオテストには時間がかかるケースもあるため、進め方に悩んでいる人もいるのではないでしょうか。シナリオテストは、いくつかの工夫を行うことで効率的に実施できるようになります。ポイントを押さえて、さっそく取り入れてみましょう。
ここでは、シナリオテストを効率よく行うコツを3つ紹介します。
3-1.シナリオテストの書き方を工夫する
シナリオテストを書く際は、「時系列別」「条件別」「優先度別」になるように行います。以下では、それぞれについて詳しく解説します。
時系列別 |
---|
まず、ユーザーの行動過程で起こる動きを想定したシナリオを、時系列別に設定しましょう。「検索→比較検討→注文→注文取消し→再注文→注文確定→発送」のように、途中で処理を変更した場合の動きも確認します。 |
条件別 |
---|
ユーザーが実行する可能性がある行動の組み合わせを、条件別に書き出したシナリオを設定します。条件を設定する際は、過去のユーザーの行動や操作、顧客の要件を参考にするとよいでしょう。また、システムの使いやすさを意識し、煩雑な操作はないか、分かりにくくないかなどもチェックします。 |
優先度別 |
---|
シナリオは、顧客満足度を向上させるために、優先度が高いものを先に設定しましょう。すべてのパターンを網羅するのが望ましいですが、時間やコストを考慮すると難しいこともあります。優先度を決めておけば、テストを効率よく実施できます。 |
3-2.ユーザーへの理解を深める
質の高いシナリオテストを実施するには、ユーザーへの理解を深めることが大切です。年齢や性別、価値観などを設定したペルソナをもとに、ユーザーがどのように行動するのかというユーザーシナリオを作成しましょう。
ユーザーシナリオをもとにテストを実施すれば、ユーザーが本質的に求めているもの、行動の理由などの分析につながり、システムの改善点が浮き彫りになります。ユーザーのニーズを考慮せず、企業側の都合のみでシステムを作成するとユーザーが離れる原因になるため、ユーザー目線でシナリオを設定することが重要です。
3-3. 確認項目を細かく設定しすぎない
網羅的にシナリオテストを実施しようとすると、工数が膨大すぎてテスト実施者が困惑することがあります。確認項目や操作手順を詳細化しすぎないことも大切です。
確認項目は、主に以下の3つを押さえるとうまくいきます。
流入経路を網羅する |
---|
サイトへの流入経路には、アプリ・メール・Webブラウザ・プッシュ通知などがあります。サイトへ流入する可能性がある経路はすべて網羅しましょう。 |
シナリオのゴールを明確にする |
---|
シナリオのゴールを明確にすることで、確認すべき内容を整理できます。例えば、ユーザーが商品を購入した場合、ユーザーに注文確定のメールが届くこと、システムで注文確定した情報が正しく処理されることがゴールになります。 |
プロトタイピングツールを使用する |
---|
プロトタイピングツールとは、製品のレプリカを作成できるツールです。シナリオを想像しながらテストするよりも、レプリカを用いて実際に操作するほうが多くのことに気付けます。 |
まとめ
シナリオテストとは、ユーザーが実際に行う操作を「シナリオ」として設定し、シナリオに沿ってシステムがきちんと動作するかを確認するテストのことです。シナリオテストでは、イレギュラーが起こった際の問題点は見過ごしやすい一方、自由度の高いテストを行えるため、ユーザー満足度の向上にもつながります。
シナリオテストにかかる手間は、テストの書き方を工夫したり、ポイントを押さえた確認項目を設定したりすることである程度軽減できます。シナリオテストの作り方を覚え、効果的なシナリオテストの設計を進めましょう。