How to decide when to use test automation
Are you thinking to automate your manual test cases but confused which test cases to automate? This question intrigues engineers when they try to automate testing for the very first time and they don’t know which parameters to choose to automate.
This article will answer all of your questions about when to use automation testing.
We use automation testing to save our time and energy to execute manual test cases repeatedly. We mimic our manual test case step into a script and ensure that test case will execute with same pre-conditions and expected output every time this test case is run.
Before starting to automate your test cases, you should understand that simply knowing how to automate does not mean that you should apply automation testing anywhere and everywhere in your project. It is a fact that 75% of functional testing in industry is still manual and there are many valid reasons behind it.
Before starting to automate test cases, thoroughly analyze your test suite and decide which test case is best to automate and which test case will be suitable if we go with manual testing for this test case. It totally depends upon nature and requirement of your project on which you want to automate your testing cycles but there are some general and common parameters on which you can decide what to automate.
Test cases that should be automated
Business logic related test case
If a test case is related to your business logic and business path, then its failure will cause a lot of damage. Some business workflows are prone to human error such as formulas calculation. In such instances, it’makes total sense to go for automation.
Test cases in the regression suite
When an application is emerging to newer versions, test cases are continuously added to its suite which makes the regression suite bigger and bigger with the passage of time. It’s better to automate regression suite because test cases in that suite need to be run against each build/release.
Static and repetitive tests against different configurations
It’s difficult and hectic to run same test cases against different browsers/ configurations. Just one single script can do this for all platforms which require a large human effort if we do it manually.
When you have to execute a test case with very a large amount of data set, it’s difficult to perform it manually. It’s always a good approach to automate this type of test cases.
A large number of input fields
If your test case is about to fill up large forms including multiple input fields then it’s very difficult to test it manually.
Performance and load testing
Performance and load testing can be done by different tools which create virtual users to perform same or different actions simultaneously. It’s highly recommended to automate performance, stress and load testing.
Test cases that should NOT be automated
Test cases that need to be run once
Test cases that need to be run just once in their lifetime should execute manually except that condition in which you have to run test case with the very large amount of data.
GUI test cases do not check the functionality of element. They just verify if that element is placed in the right position. It is not a viable thing to automate UI test cases due to low ROI
Test cases that need to be run on an urgent basis such as when a new change in functionality is introduced and you just want to verify the change as soon as possible, then first run that test case manually. After verification, you can automate the test case.
Test cases that are ad hoc based meaning they just require experience of the domain to test the application are not good candidates for automation such as they require exploratory testing.
Changing requirements of a test
Whenever there are rapidly changing requirements, it’s not useful to test that type of application automatically. In such scenarios, you have to modify your test cases many times and this will require much more effort than manually testing this change.
Testing is an important part of any software project. The type of testing in a project totally depends upon time, cost and expertise. Every project has a different testing requirement. Choosing between manual or automated testing depends upon how can you deliver quality output within your time limit and cost. Here is the link of a youtube video which explains a detailed view of the solution to this problem: Where to use automation testing.