I think every tester faces a situation when he gets a new feature, then he identifies test cases (or test scenarios) and then he needs to decide what should be automated and what to automate first. In this article, I’d like to share my way of prioritizing test cases and choosing what to automate.
Possible steps to work with the feature are following:
Step 1: Give each scenario a value
Give each scenario a value from 1 to 5 based on answers to the following questions:
(the score 1 is the lowest score, meaning the scenario is not really unique and somehow repeats the other scenarios, not really important and the score 5 is the highest score, meaning the scenario is unique, really important and will be fixed immediately)
- How is important this scenario?
- If the scenario is broken, how quickly it will be fixed? Will it be fixed immediately, next day or next release?
- Is the scenario distinct from other scenarios?
Step 2: Identify the risk
Identify the risk and assign a risk score for each scenario from 1 to 5:
(the score 1 is the lowest score, meaning a customer will use it rarely and doesn’t really affect customers if it’s broken and the score 5 is the highest score, meaning a customer will use it very often and it will be very big impact if the scenario is broken)
- How often will customers use this scenario? Once a year or every day?
- If the scenario is broken, what the impact will be on customers? Customers can loose their data or it might be just a small inconvenience.
Step 3: Identify the cost of automation
Identify the cost of automation and assign a cost score for each scenario from 1 to 5:
(the score 1 is the lowest score, meaning the scenario is very difficult to automate and it will take a lot of time to automation and the score 5 is the highest score, meaning the scenario is easy and quickly to automate)
- How easy would be to write the test for this scenario?
- How quickly can you write this test?
Step 4: Select what to automate
Summarize all values and choose the score level to be automated.
In the end, you should get a table with different values and after sorting the table you can choose what cases you would like to automate by a total score.
For example, you get a table like this:
|Scenario description 1||5||5||5||15|
|Scenario description 2||5||4||3||12|
|Scenario description 3||4||4||3||11|
|Scenario description 4||4||3||3||10|
|Scenario description 5||2||3||1||6|
After sorting the table you may decide to automate scenarios with total score >= than 11 and keep test scenarios which have the total score < 11 for manual execution.
You can use the same method to prioritize your test cases across multiple features.
How do you decide what to automate? Please, share your experience with me!