Automation Testing in simple terms means using an automation tool to execute your test case cases.
Benefits of automation testing are Speed, Efficiency, Increased ROI, Reliability, Reusability and Improved Test Coverage.
But just because you can Automate application testing, does it mean you should automate?
Only if you automate the right testing types at the right time, can the benefits be realized. So let’s see what to automate and when.
Agile methodology requires a “Shift Left” approach. This approach to the agile process means testing starts much earlier in the application lifecycle. As a result testers are often required to create test automation frameworks so that they can create automation scripts during iterations. Functional testing automation compliments the performance of Agile teams, making it easier for testers to automate. If the volume of test cases are high, and those cases are continuously regressed, then this form of automation will not work.
Regression Testing ensures existing code works when changes are triggered by adjustments in code, resulting in software regression. The objective is to catch bugs released into the system, as a result of enhancements or bug fixes. Automation of Regression testing, allows for checks into a variety of changes, leaving more time to conduct exploration of unusual cases.
Sanity/Smoke Testing is one of the fastest ways to make sure that the basic functions of an application work before starting any other type of testing. It also ensures the build is stable, before going through further testing. The automation is your answer for this type of testing.
Automation testing may not work when manual output is required for certain application functions which are subjective to validation, such as usability testing. Certain complex applications and functionality, may require a combination of manual and automated testing for a better coverage and results. Exploratory testing involves concurrent test case execution and design, where the tester creates the idea to explore the system. Random tests (or Ad-hoc) are necessary when domain expertise is required, this applies when tests need to be run urgently, and are best done manually.
Balance between manual and automated functional testing is the answer to achieving your desired outcomes.