シナリオテスト 【scenario testing】
概要
シナリオテスト(scenario testing)とは、ソフトウェアテストの手法の一つで、利用者の実際の利用手順に沿って操作を行い、問題なく利用できるか確かめるテスト。システムの内部構造についての情報を利用しないブラックボックステストの一つ。機能的にはほぼ完成しているシステムの最終段階で行われるテストで、システムテストや受け入れテストの一環として行われることが多い。利用者の業務手順や想定される利用方法などに沿って「シナリオ」(scenario:脚本)と呼ばれる操作手順を作成し、これに従ってテストを実施する。
シナリオは利用開始から終了まで想定される操作の流れと期待されるシステムの挙動が記述され、実際に操作を行って問題が生じないか確認する。複数の機能を横断的に利用するようなケースで矛盾や不整合が生じないかを確かめることができる。
シナリオは想定される利用方法に応じて複数用意するが、よほど小規模なシステムでない限り、ありとあらゆる操作手順の組み合わせを網羅的に調べることは意義が薄く工数的にも現実的ではないため行わないのが一般的である。ただし、典型的な操作法のみでは例外的な対応が必要な事例で生じる問題を捕捉できないという欠点はある。
ユースケーステスト (use case testing)
システムの設計時などに定義されたユースケースを元にテストを行うことを「ユースケーステスト」と呼び、シナリオテストの同義とする場合がある。
ユースケースは「アクター」(actor)と呼ばれるシステムと関わる主体(利用者や他のシステムなど)とシステムとの関わりを明らかにしたもので、設計の初期段階にユースケース図などとして定義することが多い。
ユースケーステストではこれを利用してテスト手順を作成し、アクターの振る舞いを実際のシステムで試して目的を達成できるかを確認する。他のシステムとの連携も含め想定される使用法を網羅的に調べられるが、シナリオテストはユースケースに無いシナリオを試す場合もあり、シナリオテストの方が自由度が高いとされる。
(2021.10.28更新)