システムのリリース前に操作を確認する手法としてシナリオテストがあります。シナリオテストと類似しているのがユースケーステストです。当記事ではシナリオテストとユースケーステストとの相違、シナリオテスト実施のために必要な3つの事項、成功させるための3つのコツについて解説します。ソフトウェア開発担当者が手間のかかる設計から解放され、作業負担を削減可能な、システム開発における設計書作成用のCADツールも紹介しますので、ぜひ参考にしてください。
シナリオテストとは?
開発したソフトウェアやシステムはリリースする前に運用テストを行わなければなりません。そのひとつの技法であるシナリオテストの概要について、類似点の多いユースケーステストの概要とそれぞれの違いを含めて解説します。
シナリオテストの概要
シナリオテストはユーザーが実際の操作順序に従って、利用・操作に問題がないことを検証するシステム・ソフトウェアテスト技法です。
一連の業務フローでシナリオを想定し、一般的には仕様の使い勝手や改善点はないかをチェックするブラックボックステスト技法の一種を指します。ブラックボックステストとはシステムの内部構成の情報は考えず、ユーザー視点で仕様が満たされているかを測るテストです。システム開発の最後のステップで行われ、総合テストや受け入れテストで利用されます。シナリオとはシステムの始めから終わりまでの手順や操作方法、システム動作の一連の流れを示し、実際のシステムと動作の流れをテストします。相互関係の不整合がないかの確認が可能です。
ユースケーステストとは
ユースケーステストは、システム利用者が目的を果たすための具体的な手順や、操作結果のフローをまとめたユースケースに基づいてテストを行う技法です。一般的にシステム設計の初期段階で定義し、多くはユースケース図を作成します。例えば、ゲームソフトでプレイヤーがレベルをアップさせるための流れをユースケースの図解でまとめ、テストでチェックするといったものです。
ユースケースの対象者は利用ユーザーとは限らず、システム管理者や目的があって利用する外部システム自体が対象となる場合もあります。基本となるユースケースが記述や図解で明確になるため、システム開発の経緯を把握し、網羅性を高めるというメリットがあります。
シナリオテストとユースケーステストの違い
両者は共通点も多く、同義のテストとされることもありますが、正確には違います。シナリオテストは開発の最終確認として行い、ユースケーステストは初期チェックとして行います。シナリオテストはシステムの利用ユーザーが現実の業務で利用して支障がないかという視点で検証し、ユースケーステストはシステム管理者や外部システムを含め、システムを利用する全員の要求が検証の対象です。
シナリオテストのシナリオはいくつかのユースケースを組み合わせたり、ユースケースにないものを作成できます。ユースケースを含めたシナリオテストの作成が可能で、より自由にケースを想定できるのが特徴です。
シナリオテストの実施に必要なこと
シナリオテストを実施する際に知っておきたい必要なことがあります。なるべく工数や時間をかけずに目的を達成し、シナリオテストの成果を得るために、必要な3つのポイントについてそれぞれ詳しく解説します。
テストで明確にすべき点を把握する
シナリオテストではまず、テストの目的や要件などにより方針を明らかにします。始めに方針を明確にすると、テスト全体のイメージを把握でき、テストする範囲もはっきりします。逆にテストで何を検証するのかについて明確な定義がなければ、テストの効果を測れません。
設計者によって操作確認にかかる時間にバラつきがあるなどの課題を解決し、テストのフロー全体を明らかに分かりやすく作成する必要があります。設計者の前提に違いがなくなれば、シナリオテストの経験値やスキルにかかわりなく、手間をかけないシナリオテストの設計ができます。
テスト内容を書き出す
システムの始まりから終わりまでの業務プロセスで検証する内容を書き出します。テストする内容をすべて洗い出すことで、それぞれの業務フローで的確な検証を行うことが可能です。ひとつのテストケースを作り、操作内容を全部書き出すようにしてみましょう。複数の業務フローの検証を組み合わせる場合は、対応表を作成すると組み合わせの漏れを防げます。
テスト内容の書き出し方は時系列のステップごとにする、または条件別に分岐させる、優先順位を決めるなどさまざまな記述方法があります。どの方法を選択しても業務フローに十分対応したテスト内容になっていることがポイントです。
利用者の行動・操作を考えて書き出す
実際の業務を担当する利用者の動き、操作を想定することで、より精度の高い確認作業となります。利用者の心理と行動パターンをイメージし、単独の動きではなく、利用者が操作の目的を達成するまでのフローを考えることがポイントです。この作業により利用者のニーズやシステムを利用する際の行動パターンが分かるので、さまざまなテストを行えます。
テストのバリエーションが増え、利用者の満足度を高められるようになり、システムの質的向上が可能になります。ただし、テストの目的や要件に基づく方針に従って、最初に決めたテストの範囲で実施するようにしてください。
シナリオテストの成功に必要な3つのコツ
シナリオテストを支障なく成功させるためにはコツがあります。シナリオテストの成果を最大限得られるようにするため、必要な3つのコツについてそれぞれ詳しく解説します。
コツ1. 利用者からフィードバックを得る
シナリオテストは開発担当者だけで行うと、実際の操作フローからズレた設計になるおそれがあります。ほかのシステムの開発要件や、ユーザーの操作ミスなど過去の事例を参考にすることもできます。可能なら実際の業務でシステムを使用するユーザーに、シナリオテストに参加してもらい、フィードバックを得るのが良いでしょう。
開発者チームでは発見できない不備や不足が見つかることも少なくありません。シナリオテストは最終段階で行うため、受け入れテスト(UAT)とは別に実施することもあります。ちなみに受け入れテストを実施する際は、サーバー強度など実際の業務環境と同じにすることが望ましいです。
コツ2. テスト内容をできるだけ網羅的にする
実際にシステムを稼働した場合、ユーザーの操作状況はケースバイケースで複雑です。そのため、できる限り多くのケースをカバーできると効果的です。単独の操作機能でトラブルがなくスムーズだったとしても、別の操作機能を同時に行う、または組み合わせるとシステムの不具合が起きるケースもあります。
システムの開始から終了まで具体的な利用ケースを可能な範囲で設定し、操作機能の組み合わせパターンを増やしてテストすることがコツです。その際はユーザーがミスなく正しい動きや操作を行うことを前提にするのではなく、操作ミスのケースもテストするようにします。
コツ3. 実施者が変わってもテスト内容や手順が分かるものにする
シナリオテスト作成で注意したいのは、実際の業務に即してさまざまな操作ケースを想定するため、確認項目や操作手順が細かく、複雑になりやすいことです。シナリオテストを作成するときは、担当者が変わっても困らないように、テストの手順や正しい操作の定義、テスト結果などを分かりやすいテスト仕様書にまとめるようにしましょう。
確認項目や操作手順が複雑になり過ぎると、準備の時間や工数が膨大になります。タイトルや手順、ステータスなど、記載する必要項目などを定め、誰がテストを実施しても同じ結果になることが重要です。
まとめ
システム開発の最後の確認であるシナリオテストは、ユーザーの利便性や満足度を高めるために、さまざまな操作ケースを想定する必要があります。そのため、確認項目や手順が複雑になりがちですが、担当者が変わってもテスト内容が分かるようにすることが重要です。
シナリオテストの効率化には、OBPM Neoのようなプロジェクト管理ツールの導入がおすすめです。
- カテゴリ:
- キーワード: