Testing a software includes writing test cases once and then executing them again and again when required. The test execution when performed manually takes a lot of time. Automation testing helps reducing this test execution time by providing means of creating test scripts that can be run automatically 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 begin when the application is stable and frequent changes in the application (or component of the application to be automated) is not anticipated.
Which test case 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 perform using manual testing).
Advantages of automation testing
- Automation testing reduces the overall test execution time.
- It reduced 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 wont be feasible with manual testing.
- Helps in creating Continous Integration environment where in, after each code push, automatic test suite execution takes place in 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 the application with frequent changes, updation is required in the tets script too, in order for them to remain usable.
- Incorrectly written test scripts e.g. use of incorrect validation can lead to false positive test results.