ソフトウェア開発におけるシナリオとは何か?代表的なユースケースシナリオと探索的シナリオを解説

ソフトウェア開発におけるシナリオとは

ソフトウェア開発において、「シナリオ」という言葉が扱われることがあります。
使用場面によって意味は異なりますが、基本的には「インプットしたデータに対して想定されるアウトプットのプロセス」をシナリオと呼びます。
この場合のプロセスは、ソフトウェアが使用される業務内容であったり、ソースコードの挙動そのものであったり、やはり使用場面によって都度意味を持っています。

ユースケースシナリオ

ここからはソフトウェア開発で特に耳にする2つのシナリオを紹介していきます。
まずはユースケースシナリオです。

ユースケースシナリオは特にソフトウェアの設計時に使用されます。
「ユースケース」とは、シナリオを文章や図で書いたものです。
ユースケースを書くことによって、システムの振る舞いや、要求される機能を把握することが出来ます。

ユースケースの作成者

主にユースケースを作成するのは、ビジネスアナリストと呼ばれる人々、そしてエンドユーザーです。
ビジネスアナリストとは「ソフトウェアの要求を取りまとめる人」であり、事前にユーザーとソフトウェアの要望について把握を行います。
ビジネスアナリストは、エンドユーザーとともにユースケースを作成します。

ユーザーと共同で作成するため、ユースケースにIT的な専門用語が使用されることはあまりありません。
代わりに一般的な言葉や、ユーザーが扱っているビジネスの専門用語を使用する傾向があります。

ユースケースの内容

ユースケースでは「システム」と「ユーザー」のやり取りを分かりやすく描きます。
この場合のユーザーは、利用者である人間を指すこともあれば、ソフトウェアがデータを送る別システムを指すこともあります。

ユースケースは基本的に1つの目標・タスクに対して1つ作成されます。
複雑なソフトウェアや規模の大きなプロジェクトの場合、ユースケースも複数作られます。

探索的シナリオ

探索的シナリオは、特にソフトウェアのテストで使用されます。「探索的テスト」と呼ばれることもあります。

探索的シナリオの特徴

一般のテストは事前にテスト内容を作成しますが、探索的シナリオによってテストする場合、詳細なテスト内容は事前に用意せず、テストの作成と実行を同時に行うという手法を取ります。

探索的シナリオに基づくテストでは、事前にテストの方向性のみを定めます。
テスト実行の手順や過程を記録しつつ、テスト実行者の知見や経験に基づいてテストが進められます。
基本的なテストだけでは発見できない潜在的な不具合を検知するのが特に大きな目的です。

探索的シナリオのメリットとデメリット

探索的シナリオによるテストは事前にテストを作成しないため、テスト工数を省きやすいというメリットがあります。
ただしデメリットとして、テストの精度はテスト実行者に依存するため、ソフトウェア全体の網羅性を確保しづらいという点があります。

参考