What is a Test Scenario?
According to my understanding, one functionality can have many Test Scenarios and one Test Scenario can have many test cases. We are writing test scenarios or keeping track of test scenarios because it is an definite aid for our End to end testing. For end to end testing we cannot be executing all the test cases, so we have a set of test scenarios covering all the functionalities in a high level way.
How to prepare Test Scenarios?
Go through the functional spec or the backlog item and determine all the use cases or basically high level scenarios that you have to test. Basically you figure out these first and narrow down the test scenarios to test cases.
Example of How to come up with Test Scenarios for a particular functionality?
Assume the functionality you have to test is purchasing Unit trust which can be Lump sum or Monthly and which can be paid using different payment methods like Cash, SRS or CPF? Minimum amount for purchasing is $1000. Purchased funds are visible to customer.
So basically you can come up with following test scenarios:
- Purchase Lump Sum unit trust
- Purchase Monthly unit trust
- Purchase both monthly and Lump sum unit trust together
- Purchase unit trust with different payment methods
- Can't purchase due to Account having not sufficient funds
You can derive test cases as the following:
- Verify Lump Sum field only accepts numeric
- Verify Lump Sum field minimum should accept $1000
- Verify Monthly field only accepts numeric
- Verify Monthly field minimum should accept $1000
- Verify when Lump Sum unit trust is purchased, it is displayed to customer
- Verify when Monthly unit trust is purchased, it is displayed to customer
- Verify the records in backend whether purchase successful
- Verify pay with Cash
- Verify pay with CPF
- Verify pay with SRS
- Verify pay with Cash/ CPF/ SRS when customer don't have the relevant account
- Verify the error message displayed when customer don't have sufficient funds
- Verify purchasing unsuccessful screen
Hope this article helps to identify the differences between Test scenario and Test case.