Manual Testing is performed by a human sitting in front of a computer carefully executing the test steps. All operations are carried out by a human from writing test cases to test execution. In contrast to manual testing, 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 goal of automation is to reduce the number of test cases to be run manually and not eliminate manual testing.
Why automation testing?
Automated testing is important due to the following reason:
- Manual testing of all workflows, all fields, all negative scenarios is time and cost-consuming.
- It is difficult to test for multilingual sites manually.
- Automation does not require human intervention. You can run automated test unattended (overnight).
- Automation increases the speed of test execution and test coverage.
- Manual testing can become boring and hence error-prone.
Which test cases to automate?
Test cases to be automated can be selected using the following criterion to increase the automation ROI:
- Test cases that are executed repeatedly.
- Test cases that are very tedious or difficult to perform manually.
- Test cases which are time-consuming.
- High risk – business critical test cases
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 the ad-hoc basis.
The 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 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.
- Planning, design, and development
– During this phase, you create the automation strategy and plan test.
- Test execution
– Automation scripts are executed during this phase.
– As new functionalities are added to System Under Test with successive cycles, automation scripts need to be added, reviewed and maintained for each release cycle.
– Maintainance becomes necessary to improve the effectiveness of automation scripts.
The more popular automation tools are:
- QTP: It is the market leader in Functional Testing Tool.
- Rational Robot: It is an IBM tool used to automate regression, functional and configuration tests.
- Selenium: It is an open source Web Automation Tool.
The following criterion will help you select the best tool for your requirement:
- Ease of use (scripting language used)
- Support for various types of test including functional, test management, mobile, etc.
- Support for multiple testing frameworks.
Tool selection is one of the biggest challenges to be tackled before going for automation. First, identify the requirements, explore various tools and its capabilities. Set the expectation from the tool and go for a proof of concept.
Framework in automation
A framework is a set of automation guidelines which help in:
- maintaining consistency of testing
- less maintenance of code
- improves re-usability
There are four types of frameworks used in software automation testing:
- Data-driven automation framework.
- Keyword-driven automation framework.
- Modular automation framework.
- Hybrid automation framework.
Automation best practices
To get maximum ROI of automation to 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 popularity, but it’s fit to the automation requirements.
- Choose the appropriate framework.
- Scripting standards: standards have to be followed while the scriptings for automation.
- Measure metrics: the success of automation cannot be determined by comparing the manual effort with the automation effort but also capturing the metrics like the perception of defects found, and productivity improvement, etc.
The above guidelines if observed can greatly help in making your automation successful.
The right selection of automation tool, testing process, and team, are important players for automation to be successful. Manual and automation methods go hand-in-hand for successful testing.
Note: This video is contributed by Guru99.Trigger modal