Automation Testing is the process of automating the overall software testing, so as to automate the repetitive & necessary test scripts and overcome the problems of time consuming due to repetitive and manual execution of test scripts. Automated software testing can increase the depth and scope of tests to help improve software quality.
Manual testing is performed by a human sitting in front of a computer carefully executing the test steps. Automation Testing means using an automation tool to execute your test case suite. The automation software can also enter test data into the System Under Test, compare expected and actual results and generate detailed test reports.
The main purpose and the importance of implementing the automation testing is it:
- Saves time as well as money,
- Provides more efficient and effective test results,
- Increases Test Coverage.
- Improves Testing Accuracy, etc.
- Automation increases speed of test execution.
- Automation helps increase Test Coverage.
Some of the widely used Automated software testing tools by testers and QAs are:
1. Selenium,
2. TestingWhiz,
3. Ranorex,
4. Sahi,
5. Test studio, etc.
Which Test Cases to Automate?
Test cases to be automated can be selected using the following criterion to increase the automation ROI
- High Risk – Business Critical test cases
- Test cases that are executed repeatedly
- Test Cases that are very tedious or difficult to perform manually
- Test Cases which are time consuming
The following category of test cases are not suitable for automation:
- Test Cases that are newly designed and not executed manually atleast once
- Test Cases for which the requirements are changing frequently
- Test cases which are executed on ad-hoc basis.