問題18:ユースケーステスト(2)スキルポータルの最少テストケース数
問題 #18
Section titled “問題 #18”TSは、すべてのITプロフェッショナルが利用できるスキルポータルです。ITプロフェッショナルは、マネージャーから受け取ったバウチャー(引換券)を使用して、特定のコースを選択し予約を行います。
あなたは、以下のユースケースの最小カバレッジを達成するために必要なテストケース数を特定する必要があります。
ユースケース:コース登録(UC-15504)
- アクター: ITプロフェッショナル(ITP)、TSスキルポータル(SP)
- 事前条件: なし
【メインの振る舞い(基本フロー)】
- ITPがSPを起動する
- SPがホームページを表示し、バウチャーコードを要求する
- ITPがバウチャーコードを入力する (例外 E1)
- SPが、コースの日程、場所、現在の登録者数をリスト表示する (例外 E2)
- ITPが日程と場所を選択する
- SPが選択したコースのコンテンツ概要を表示する
- ITPが「登録」ボタンを押して選択を確認する
- SPがITPを参加者リストに載せ、登録完了メッセージを表示する
- ITPがログアウトする
【代替の振る舞い(Alternative behavior)】
- 3a: ITPはホームページから直接ログアウトできる
- 8a: コースがすでに定員(12名)に達している場合、SPはITPをキャンセル待ちリストに載せ、その旨を表示する
【例外(Exceptions)】
- E1: 無効なコードが入力された場合、エラーメッセージを表示してステップ2に戻る
- E2: 利用可能なコースがない場合、エラーメッセージを表示してステップ2に戻る
このユースケースに対して「最小のカバレッジ」を達成するために必要なテストケース数はいくつか?
- a) 1
- b) 2
- c) 4
- d) 3
c) 4
JSTQB AL TAにおけるユースケーステストの「最小のカバレッジ」は、基本フローおよび各代替・例外フローの分岐を少なくとも1回は実行する**シナリオ(パス)**の網羅を指します。
今回のユースケースをグラフとして捉え、エンドポイント(終了点)または異なる結果に至るパスを数え上げると以下のようになります。
- パス1(基本フロー): 登録完了まで至る正常なパス。
- パス2(代替 3a): ホームページから何もせずにログアウトするパス。
- パス3(代替 8a): 登録ではなく「キャンセル待ち」という異なる結果に至るパス。
- パス4(例外 E1/E2): エラーが発生し、元の画面(ステップ2)に戻るパス。
※例外E1とE2は発生ポイントは異なりますが、結果(ステップ2へ戻る)が同じであるため、最小カバレッジの文脈ではこれらを1つのテストケースにまとめる、あるいは代表させる形でカウントすることがあります。選択肢に基づくと、主要な「結果のバリエーション」を網羅する4つが正解となります。
実務において、ユースケースからどのようにテストケースを抽出するかは、プロジェクトの「網羅性の定義」に依存します。
- 最小カバレッジの境界: 多くの試験問題では、「基本フロー + 各代替フロー + 各例外フロー」を数え上げますが、選択肢にその合計がない場合は、至るべき「最終状態(Outcome)」の種類に注目します。
- 代替フローと例外フローの違い: 代替フロー(8aなど)は「目的は達成できるが手順や結果が異なるもの」であり、例外フロー(E1など)は「エラーにより目的が達成できないもの」として区別されます。
- 現場での運用: 実際のQA現場では、例外E1とE2は原因が異なるため、それぞれ独立したテストケースとして作成します。JSTQBの「最小」という言葉は、あくまで理論上の最低限のパス数を指している点に注意してください。