Is there any general approach or methodology to create complex user scenarios for any application or is it completely context-driven.

Are there some general test ideas/patterns/strategies to create complex scenario's for any application or does it depend upon the thinking ability of the QA.

Also, please suggest some tips to improve in creating scenario's. Any resources, books etc.

6 Answers 6


Is there any general approach or methodology to create complex user scenarios for any application or is it completely context-driven.

In the BBST Test Design slides Cem Kaner describes a scenario as "a hypothetical story about the software. A scenario test is a test based on a scenario." He then says a good scenario test has 5 characteristics:

  1. The test is based on a coherent story about how the program is used, including goals and emotions of people.
  2. The story is credible. Stakeholders will believe that something like it probably will happen.
  3. Failure of the test would motivate a stakeholder with influence to argue it should be fixed
  4. The story involves complexity: a complex use of the program or a complex environment or a complex set of data.
  5. Test results are easy to evaluate. This is important for scenarios because they are complex.

These characteristics are meant to differentiate scenario testing from other techniques like use-case or user-personas testing. Use cases, for example, don't need to be complex tests and can abstract out the humans who may use the software. On the other hand, scenario tests can offer a much richer view of the system and of the people who use it.



Two methods in Scenario Testing

  1. System Scenario
  2. Use-case and role-based scenarios

Test Scenario steps for any application

  • In system scenario, you can use step by step module wise system scenario. In that using module & sub module functionality.

example for system scenario Application:

Test Scenario 1: Check the Login Functionality

enter image description here

Test Scenario 2: Check that a New Order can be created

enter image description here

Test Scenario 3:Check that an existing Order can be opened enter image description here

Test Scenario 4: Check that a user, can FAX an order

enter image description here

Test Scenario 5:Check that the information displayed in the HELP section is correct

enter image description here

  • 2
    The first scenario is verify login functionality, the 3rd scenario is for verify the existing order scenario. But, these screenshots are same.I don't find any difference in both screen shots Feb 23, 2016 at 6:47

You can probably think of an algorithm to walk through the system's states and triggers, but that will not make it a " user scenario".

I think that if you want the "user" then it must be context dependent.


It's context-driven - it has to be.

That said, the method I use for generating scenarios can be broadly summarized:

  1. Use cases or user stories will include at least one scenario (the steel thread scenario). That's my first one. So, for example, the user story:
    • As an administrator, I need to see a report of who has logged into the system and when so I can ensure my employees are logging in when they're at work generates the scenario:
    • If I log on as a user with administrator rights, and navigate to the reports section, the user logon report is available, can be run, and generates correct data for the date range I use.
  2. Next, I look at scenarios that are implied by the user story/use case. The example above implies a few:
    • If I log on as a non-administrator user, I will not be able to see the user logon report.
    • If I am not logged in, I will not be able to see the user logon report.
    • If I log in as a user who is not an administrator but who has administrator right (e.g. a superuser) I will be able to see and use the user logon report.
  3. If I think this isn't enough or there's something missed, I start looking for edges and interactions, for instance:
    • If I am logged in as an administrator and my connection is lost, I will be able to see the report on the reports page, but I will not be able to run the report: additionally I will receive a friendly error message.

You can use Personas.

Personas are used in marketing and are fictional character that condensate the attributes of a category of users. Each persona will have his/her unique story, needs and goals and will use an application to satisfy them.

You should create at least a persona for each segment of the expected audience of your application, you can also reuse personas defined for other application if they applies.

Each way a persona in your set will use your application to satisfy their needs or goals, should be tested scenarios.

  • To be fair, personas are different than scenarios. Mar 1, 2016 at 19:38
  • 1
    @ChrisKenst Yes, but you can use personas to help you wrote the scenarios
    – Serpiton
    Mar 1, 2016 at 19:54

Maybe this will help, looks interesting:


  • thanks for contributing, but we discourage link-only answers. Please edit your answer to summarize the parts of the article that relate to the OP's question.
    – user246
    Mar 9, 2016 at 21:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.