Testing a software includes writing test cases once and then executing them again and again whenever required. The test execution, when performed manually is very time consuming and tedious task. Automation testing helps in reducing the test execution time as the test scripts written once can be run automatically any number of time without any human intervention.
Automation testing is a type of testing that involves automated running of test cases using an automation tool.
When should we automate?
Scripting of automation test cases should be started when the application is stable and frequent changes in the application (or component of the application to be automated) are not anticipated.
Which test cases should be chosen for automation?
- Test cases that test critical functionality of the application.
- Test cases that require repeated test execution with a large dataset.
- Tests that are time consuming.
- Test cases that are required to be run in parallel or distributed environment(which are not feasible to be performed using manual testing).
Advantages of automation testing-
- Automation testing reduces the overall test execution time.
- It reduces the cost and resource requirement of the project, as the script created once can be made to run any number of time, as long as there is no change in the application.
- Helps in working with large set of input which won't be feasible with manual testing.
- Helps in creating Continuous Integration environment where in, after each code push, automatic test suite execution takes place with the new build.
Disadvantages of automation testing-
- Skills and expertise of an automation tool and\or programming language is required to create robust scripts.
- Success of automation testing heavily depends on the test cases chosen for automation. Incorrectly chosen tests leads to wastage of resource and time invested in automation.
- For applications with frequent changes, parallel updation is required in the test scripts.
- Inefficiently written test scripts e.g. scripts using incorrect or limited validation can lead to false positive test results.