What is Automation Testing?
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. 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
The following category of test cases are not suitable for automation:
Automated Testing Process:
Following steps are followed in an Automation Process
Test tool selection
Test Tool selection largely depends on the technology the Application Under Test is built on. For instance, QTP does not support Informatica. So QTP cannot be used for testing Informatica applications. It's a good idea to conduct a Proof of Concept of Tool on AUT.
Define the scope of Automation
The scope of automation is the area of your Application Under Test which will be automated. Following points help determine scope:
Planning, Design, and Development
During this phase, you create an Automation strategy & plan, which contains the following details-
Test Execution
Automation Scripts are executed during this phase. The scripts need input test data before there are set to run. Once executed they provide detailed test reports. Execution can be performed using the automation tool directly or through the Test Management tool which will invoke the automation tool. Example: Quality center is the Test Management tool which in turn it will invoke QTP for execution of automation scripts. Scripts can be executed in a single machine or a group of machines. The execution can be done during the night, to save time.
Maintenance
As new functionalities are added to the System Under Test with successive cycles, Automation Scripts need to be added, reviewed and maintained for each release cycle. Maintenance becomes necessary to improve the effectiveness of Automation Scripts.
Framework for Automation
A framework is set of automation guidelines which help in
There are four types of frameworks used in automation software testing:
Automation Tool Best Practices
To get maximum ROI of automation, observe the following
The above guidelines if observed can greatly help in making your automation successful.
Benefits of Automation Testing
Following are benefits of automated testing: