A full execution path through Use Cases, listing only observable actions of the system and actors. These are mainly great for discovery where we use these to capture goals, context and constraints as well as success criteria. These expose assumptions and risks but are not complete or specifications.

Can also be thought of as a “user flow”.

Can have a main scenario, alternative scenarios (achieves the goal of the primary UC through alternative means), and exceptions.

Things to consider…

  1. Identify specific goals and triggers
  2. Capture context and constraints
  3. Define success outcomes and what counts as failures

Here, you want to be specific and concise and end with an observable success criterion.

Scenario Graph

These are generated from Use Cases.

  • Node: point where we are waiting for the next event to occur
  • 1 starting node and 1 finish node
  • Edge: An event occurrence which may include conditions or special looping edges
  • One path is a scenario
  • We graph the main scenario as well as any alternative paths
  • The number of times a loop can be taken needs to be restricted for a finite number of scenarios

Scenario Ranking

  • If there are too many scenarios to test, we rank them based on criticality and frequency
  • We always need to include the main scenario
  • We typically do all branches in the scenario graph, all scenarios, and the n most critical scenarios
  • Then we generate test cases