top of page

How Many Scenarios Should you Test on your Application?

Scenario testing is a powerful approach for ensuring that software applications are thoroughly examined for potential problems. By executing every user experience, they will help to identify issues and better understand how the application behaves under certain conditions. Additionally, it can save time and help software teams deliver high-quality products. Ultimately, scenario testing is a critical tool for engineering robust and reliable software applications.

How does scenario testing work?

While a user is going through your application there are many scenarios that can be taken. All scenarios have an input, desired output, and actual output. There are 2 outputs because you may be expecting the code to do one thing, but the code does something different. This is also called a bug or an issue.

First step: identify all your inputs. For example, in a newsletter subscription application, there are 3 main inputs: Email, Country, and Topic.

Second step: identify all the options for your inputs can have. The country will have 195 options to select from and the Topic let’s say has 5 options. For this example, we won’t use email.

Input 1 will be any of the 195 countries

Input 2 will be any of the 5 topics

Third step: identify all the scenarios. If you multiply 195 countries by 5 topics, you will get 975 scenarios that a user can take in your application.

Fourth step: identify the desired output for each scenario

Fifth step: identify the actual output. This can be done manually or through automation. If you are doing it manually you are opening the application and making the selections. We will talk about automation below.

Sixth step: Check to see which desired outputs do not match your Actual Output

I recommend you do both manual and automated scenario testing. You are probably already doing manual testing which covers a few scenarios, but with automation, we will cover all scenarios. Also, manual testing is always needed to cover visuals and others which can’t be covered through automation (inputs and outputs). Depending on what language or program your application is built your approach will vary. If you are using excel then use VBA to run every scenario or if you are using AWS use APIs to run the scenarios. Even with automation the process to test all scenarios might take a few hours to complete, but it’s much faster than doing it manually

Manual scenario testing would take this much:

  • Going to the website or application

  • Selecting the country

  • Selecting the topic

  • Pressing Submit button

  • Waiting for the program to complete

  • Seeing the results and checking if it's accurate

You need at least 20 seconds to complete one scenario. 20 seconds multiplied by 975 scenarios is almost 5 and a half hours.

Automated scenario testing would take this much:

Determining how much time it will take to set up the automation can vary depending on the programmer's expertise and the technology being used this could take 1-5 hours. After the application is built running all the scenarios would only take seconds.

Exponential benefits of automated scenario testing

All applications, websites, and apps get constant updates while being created and after being released. During these updates, you should retest the scenarios, but now that you have automated testing you can press a button and all the scenarios would be tested in seconds. If you had to do it manually this would take another 5 hours.

In the example above we considered only 2 inputs. Most applications will have more inputs. So, let's add a few more:

Input 1 will be any of the 195 countries

Input 2 will be any of the 5 topics

Input 3 will have 15 options

Input 4 will have 10 options

Input 5 will have 2 options

Input 6 will have 70 options

Input 7 will have 2 options

Input 8 will have 8 options

To manually test this will take you a total of 1,820,000 hours

Automating this will take you a little longer for the new inputs. After that, it may take you minutes or a few hours to run all scenarios. The benefits of automating are very worth it.

With automated testing should I test every scenario and how often?

Although it is preferred to test all scenarios it may not always be possible. Maybe the number of scenarios to test is too large for your server/system. This is where a randomizer can be used to identify which cases should be tested. Share this blog and I will post another with details on how you can create a randomizer. Every time there is an update to the code you can run the automated testing. With every new line of code and several people pushing more code, you need an easy way to test multiple scenarios. With automated testing, you can immediately see if something is now breaking.

Conclusion for doing scenario testing

As we can see, scenario testing is an essential tool for creating robust, reliable software applications. It provides a comprehensive approach to testing application behaviors. Investing effort into scenario testing can also save developers time and help software teams deliver high-quality products. If you're looking to improve your software application or website, consider utilizing the powerful features of scenario testing. For help implementing automated scenario testing on your website or app, contact me today – I'd be happy to provide my expertise and guidance every step of the way. Together we can help ensure the highest quality product possible.

bottom of page