Automation Testing
Automation Testing or Test Automation is a software testing technique that performs using special automated testing software tools to execute a test case suite. On the contrary, Manual Testing is performed by a human sitting in front of a computer carefully executing the test steps.
The automation testing software can also enter test data into the System Under Test, compare expected and actual results and generate detailed test reports. Software 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. The goal of Automation is to reduce the number of test cases to be run manually and not to eliminate Manual Testing altogether.
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 repeatedly executed
- 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 at least once
- Test Cases for which the requirements are frequently changing
- Test cases which are executed on an ad-hoc basis
Automated Testing Process:
Following steps are followed in an Automation Process
Step1) Test Tool Selection
Step2) Define scope of Automation
Step3) Planning, Design and Development
Step4) Test Execution
Step5) Maintenance
Practices adopted for automation testing
To get maximum ROI of automation, observe the following
- The scope of Automation needs to be determined in detail before the start of the project. This sets expectations from Automation right.
- Select the right automation tool: A tool must not be selected based on its popularity, but it's fit to the automation requirements.
- Choose an appropriate framework
- Scripting Standards- Standards have to be followed while writing the scripts for Automation. Some of them are-
-
- Create uniform scripts, comments, and indentation of the code
- Adequate Exception handling - How error is handled on system failure or unexpected behavior of the application.
- User-defined messages should be coded or standardized for Error Logging for testers to understand.
- Measure metrics- Success of automation cannot be determined by comparing the manual effort with the automation effort but by also capturing the following metrics.
- Percent of defects found
- The time required for automation testing for each and every release cycle
- Minimal Time is taken for release
- Customer Satisfaction Index
- Productivity improvement
Practices adopted for automation testing
- Smoke Testing
- Unit Testing
- Integration Testing
- Functional Testing
- Keyword Testing
- Regression Testing
- Data Driven Testing
- Black Box Testing