テストシナリオとは
「テストシナリオ」は、テストケースの集合的なセットであり、一連のテストの流れをパターン化したものです。プログラムの潜在的な欠陥を特定するために、プロジェクトのプラス面とマイナス面を決定して、考えられる結果を評価するシナリオの一種です。
ちなみに「シナリオテスト」は、システム開発のプロセスで必要なテストそのものを言い、「テストシナリオ」は各テストにおいて、テストを正しく行うためのテストの道筋を立てることを言います。
また、混同しやすい用語として「テストケース」があります。テストケースは、ソフトウェアテストを実行する手順や利用するデータ、条件、期待される結果などを文章化したものを指しますので、しっかりと区別しましょう。
テスト計画から実施までのプロセス
【テストのプロセス】 1. テスト計画 2. テスト設計 3. テスト実施 |
シナリオテストにおけるシナリオの作成方法
この章では、シナリオを作成するために一般的に考慮していただきたいことや、シナリオの作り方をステップでご紹介します。
順番に、それぞれ詳しく解説します。
テスト方針を決める
まずは、シナリオテストの目的や前提条件といったテスト方針を決めことから始めます。
これらを設定することで、全体像を把握でき、テストすべき範囲が明確になります。テストプロセス全体を明確にすることで、「設計者ごとに、設計やレビューにかかる時間が異なる」といった、テスト設計者によるブレを軽減できるという利点があります。
ユーザーの心理&行動パターンを想定する
上記のテスト方針の範囲内で、ユーザーの心理&行動パターンを想定すると良いでしょう。
ユーザーのニーズ、システム利用時の行動&心理パターンがわかれば、様々なバリエーションのテストが可能になります。
ユーザーの行動過程と心理状態を想定することで、ユーザー満足度を向上させるためのシナリオテストとしての質が向上します。行動を列挙する際は、ユーザーが達成したいことや、それを実行する際の行動バリエーションを考えて網羅していきましょう。
その結果、ユーザー満足度を上げるためのシナリオテストが完成します。
テストすべき対象を洗いだす
最後に、ユーザーの行動&心理パターンに応じて、操作内容を書き出していきます。
ここでは、はじめに想定したテストケースにおける操作内容を書き出すところから始めます。
複数の組み合わせが発生するテストでは、あらかじめ対応表を作成してからテストを行うのが良いでしょう。こうすることで、組み合わせの漏れを防ぐことができます。
加えて、テスト内容を考える際には、ユーザーが達成したいことだけでなく、ユーザー満足度をさげる可能性のある項目も洗いだすことも重要になります。
シナリオテストのシナリオは網羅性がポイント
シナリオテストにおけるシナリオは、ユーザーが達成したいこと、そのバリエーション、それを妨げる事象を洗い出し、できるかぎり網羅することがとても大事です。
【テストシナリオを網羅するポイント】
- 時系列でシナリオを設定する
- 条件別でシナリオを設定する
- 優先度の高いものから設定する
上記の3つのポイントについて、ひとつずつ解説します。
時系列でシナリオを設定する
時系列でシナリオ設定するとは、通常業務で想定される処理の流れを意識したシナリオにするということです。
このような時間経過によるステータスの変更が反映されるか、一連の操作に使いにくい点やわかりにくい点がないかを設定していくと漏れが少ないです。実際に起こりうる流れであること、境界値の前後を確認できるようにすることを意識すると良いでしょう。
条件別でシナリオを設定する
条件別のシナリオ設定とは、様々な組合せを網羅することを意識したシナリオのことです。
「各区分・条件を組み合わせたデータを作成した際、集計内容に不具合はないか」「各区分・条件を組み合わせたデータを変更した際、集計内容に不具合はないか」ということを考慮しておきましょう。
条件別のシナリオは一から考えるよりも、クライアントの要件や過去のユーザーの捜査事例を参考にすることをおすすめします。
優先度の高いものから設定する
顧客の目的達成のためにも、優先度の高いものから設定をしましょう。
条件別のシナリオは無数にあります。しかしながらテスト工数は有限であり、また納期遵守も求められます。すべてのバランスを保つためには、優先度付けを行い、絞り込みを行う必要があります。優先度の算出は、ユーザーの利用頻度の高い項目や、変更部分の影響範囲から算出するのが自然な流れです。
全部を網羅するに越したことはありませんが、すべてをテストできないケースは取捨選択しましょう。
まとめ
いかがでしたでしょうか?
テストケースはソフトウェアテストでも重要な物のひとつであり、テストシナリオを構築および評価して、ソフトウェアまたはアプリケーションが問題なく動作することを確認するのに非常に役立ちます。
テストシナリオを設定する際に、すべてを網羅することは難しいといえます。しかし、ポイントをおさえれば、様々なパターンに対応したシナリオを作成することができます。
この記事を参考に、効果的なテストシナリオの設定を進めていただけば幸いです。