1. HOME
  2. IM-Press
  3. お役立ち情報
  4. シナリオテストとは? ~作成のコツから注意点まで解説~

シナリオテストとは? ~作成のコツから注意点まで解説~

シナリオテストとは、システム開発における総合テスト(システムテスト)の手法の一つで、ユーザーがシステムを使用する際に想定される操作や、公式な使用手順などを踏まえた上で、そのような操作のもとでシステムに不具合が起きないか、問題なく使えるかどうかを確認します。

シナリオテストを行うことで、単にシステム上の不具合だけでなく、ユーザー視点でよりストレスの改善を行うことができるようになります。

本コラムでは、シナリオテストの実施方法や注意点などをご紹介いたします。

 

シナリオテストとは

シナリオテストとは、システム開発における総合テスト(システムテスト)の手法の一つで、ユーザーがシステムを使用する際に想定される操作や、公式な使用手順などを踏まえた上で、そのような操作によってシステムに不具合が起きないか、問題なく使えるかどうかを確認するものです。

ユースケーステストとの違い

シナリオテストと似たものに「ユースケーステスト」があります。
ユースケーステストを理解するにはまず、「ユースケース」について理解する必要があるでしょう。ユースケースとは、「アクター」とテスト対象システムとの相互作用を示す言葉です。なお、アクターとは、テスト対象システムとやり取りを行うユーザーやシステムのことです。ユースケースには、開発プロジェクトのメンバーを始め、開発を依頼した顧客やスポンサー、ユーザーなどのステークスホルダーの目的や狙いが反映されています。

このため、ユースケースは、あらかじめ厳格に定まっているケースが多く、ユースケーステストは、用途が限られたソフトウェアでの適用が向いています。

一方、シナリオテストにおけるシナリオは、ある程度、自由に設定できます。
たとえば、ゲームのようなソフトウェアでの適用が向いています。

つまり、ユースケーステストは、一定の条件のもとでの使用に不具合が起こらないかを確認するために、シナリオテストは制約がない状態での使用に不具合が起こらないかを確認するために実施されます。

ただ、日本におけるソフトウェアテスト技術者資格認定の運営組織である「JSTQB」は、両者を区別せず、同じものとして扱っています。

シナリオテストの作成方法

では、シナリオテストで使用するシナリオは、どのように作成すれば良いのでしょうか?

目的や前提条件を明確にする

まずは、シナリオテストを実施する目的や前提条件を明らかにしておきましょう。
目的を明確にすることで、作成するシナリオの範囲を決めることができます。
またこれらの準備をしておくことで、シナリオの作成者やテストの実施者が複数人いたり、テスト実施日が複数日にまたがったりしたとしても、テスト結果の信頼性を維持できます。

ユーザーの心理状態と操作パターンを想定する

シナリオテスト実施の目的と前提条件を決めたら、対象システムを使用するユーザーの心理状態と操作パターンを想定します。

ユーザーがどのような心理状態でシステムを使用するかを想定しておくことで、よりユーザーの満足度を高めるようなシステム改善につなげられます。複数パターンの心理状態が想定されるケースもあるでしょう。

さらに、各心理状態のユーザーがシステムに対してどのような操作を行うかを想定します。ユーザーが取り得る操作パターンをすべて網羅するように意識しましょう。

テストすべき内容を書き出す

前項の操作パターンを細分化してテスト項目に分け、さらにほかの組み合わせを検討して、テストすべき操作パターンを作り上げます。

この時、「目的や前提条件を明確にする」で明らかにした目的・前提条件と合わないものについては排除しましょう。

テストを実行する・テスト結果を記録する

ここまでに準備した内容を元に、シナリオテストを実行します。
実行後は、その結果を後の改善に活かすために、記録する必要があります。システムがユーザーに対して期待していた結果を出せるよう、理想とのギャップを軸に記録しましょう。

テスト結果を分析する

記録したテスト結果を分析します。
「なぜ、想定していた結果に至らなかったのか?」「なぜ、想定通りだった(成功した)のか?」その理由を探ります。
いずれの結果でも、次のシステム開発に活かすために分析を行います。

テスト結果をまとめ、報告する

最後に、テストの実施内容から分析結果までをまとめ、ステークスホルダーへ報告しましょう。

シナリオテスト作成のコツ

シナリオテストを作成する際は、次の3つのコツを意識することで成功が期待できます。

時系列でシナリオを設定する

ユーザーが通常の業務や日常の中で使用するシーンを考えると、時系列に沿ってシナリオを作成することが大前提となります。

ただ、操作項目によっては、同列に並ぶものもあるでしょう。たとえば、ECサイトを構築する場合、ユーザーが商品名を検索窓に入力するのか、それとも、カテゴリから選ぶことは同列になります。また、カテゴリから選ぼうとしたら、該当のカテゴリがなかったために、キーワード検索しなくてはならないというケースもあるでしょう。

このように、途中で操作を変更した場合もシナリオに盛り込む必要があります。

条件別でシナリオを設定する

シナリオテストは、ユースケーステストと異なり、前提条件となるような制約はありません。
このため、条件別にシナリオを設定して整理し、テスト実施後の分析やレポートを行いやすくすることが一つのポイントになります。

最終的にテスト結果を修正や改善にフィードバックすることを考慮した上で、条件のカテゴリ分けを行うと良いでしょう。

優先度別でシナリオを設定する

ここまでに何度かお伝えしてきたように、シナリオテストは自由度の高いテスト方法であり、シナリオは無限に作成できできます。このため、優先順位を付け、範囲を限定する必要が出てきます。

システムが提供する価値の中で重要なものから設定していくと良いでしょう。

シナリオテストを作成する際の注意点

最後に、シナリオテストを作成する際の注意点を2つ、お伝えいたします。

ユーザーのインサイトを理解した上で作成する

シナリオテストを実施する際は、ユーザーのペルソナやカスタマージャーニーを作成するなどして、ユーザーのインサイトを理解した上でシナリオを作成する必要があります。
過去に同様のターゲットユーザーでシステムを構築したことがある場合は、操作事例を参考にするというのも一つの方法です。また、実際にテストユーザーにレビューしてもらうというのもおすすめです。シナリオで想定するユーザーが現実のユーザー像と乖離しないような工夫をこらしましょう。

システムの機能や正常な利用方法を起点としないこと

シナリオテストで明らかにしたいのは、想定していなかったユーザーの操作によるシステムの不具合をあぶり出して修正することです。このため、開発したシステムの機能や、想定している正常な操作、利用方法を起点としてシナリオを作成してしまうと、不具合が見つかりにくくなってしまいます。
あくまでもターゲットユーザーのインサイトに基づいて作成することを徹底しましょう。

まとめ

シナリオテストの概要や実施の際の注意点などをご紹介しました。
システム構築の最終段階でシナリオテストを実施することで、リリース後に不具合が発覚してユーザーの信頼を損ねたり、改修までの間、ユーザーに迷惑をかけるのを避けることができます。
まずは、ターゲットとなるユーザーのペルソナやカスタマージャーニーを確実に作成してユーザーを理解するところからスタートしましょう。

Concept Book

ローコード開発・業務プロセスのデジタル化で豊富な実績を持つintra-martが、お客様のビジネスにどのような効果をもたらすのか、特長や導入効果など製品コンセプトを詳しくご紹介しています。

Concept Book

お困りごとがありましたら、お気軽にご相談頂ければと思います。

お役立ち資料ダウンロード

8分でわかるイントラマート

intra-martのローコード開発

お役立ち資料