Software testing has changed a lot and there has been a huge transformation the way software is been tested. Before manual testing was performed where a human sitting in front of a computer used to execute the test steps. The accuracy level could not be 100% due to many factors. To overcome this and to achieve the best results Automation testing is used.
Automation testing means using an automation tool to execute your test case suite. Tools used to differ on the type of software being tested. Software testing automation tools and mobile automation testing tools are some of the types being used. The automation software can also enter test data into the system under test, compare expected and actual results and generate detailed test reports. Test automation demands considerable investments of money and resources. Successive development cycles will require execution of same test suite repeatedly. Using a test automation tool it’s possible to record this test suite and re-play it as required. Once the test suite is automated, no human intervention is required. This improved ROI of test automation.
Goal of Automation is to reduce number of test cases to be run manually and not eliminate manual testing all together.
Automated software testing is important due to following reasons:
- Manual Testing of all work flows, all fields , all negative scenarios is time and cost consuming
- It is difficult to test for multi lingual sites manually
- Automation does not require Human intervention. You can run automated test unattended (overnight)
- Automation increases speed of test execution
- Automation helps increase Test Coverage
- Manual Testing can become boring and hence error prone.
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