Manual testing is performed by a human sitting in front of a computer carefully executing the test steps. Automation testing is to test the same modules again and again without any deviation automatically without a person initiating the process each time.
Test Automation demands ROI of money and resources. Each development process needs to be tested again and again. To reduce the testing time and cost, we have to automate the testing script. Automation testing is to reduce the human effort and cost.
Why Test Automation
- Automated Software Testing Saves Time and Money
Testing is repeated for each and every cycle, this increases effort, time and cost, to reduce this, we have to automate the repeating modules by the help of automation tools, in each and every testing cycle if we run the test scripts it saves lots of time and money.
- Vastly Increases Your Test Coverage
Automation testing increases the depth of testing. The lengthy test cases which are avoided during manual testing can be done by automation testing, We can even run the same script on multiple computers and different configurations. and internal program states to determine if the product is behaving as expected. Test automation can easily execute thousands of different complex test cases during every test run providing coverage that is impossible with manual tests.
- Testing Improves Accuracy
Even the most efficient tester will make mistakes during the repetition of manual testing. Automated tests perform the same steps consecutively every time they are executed and never forget to record detailed results. Testers freed from repetitive manual tests have more time to create new automated test script and deal with complex features
- Automation Does What Manual Testing Cannot
Even an efficient and largest team of tons of experience cannot simulate thousands of users in manual testing. Automated testing can simulate tens, hundreds or thousands of virtual users interacting with a network, software and web applications.
- Automated QA Testing Helps Developers and Testers
Automated tests shared by testers can be used by developers to catch problems quickly before sending to QA. Tests can run automatically whenever source code changes are checked in and notify the team or the developer if they fail. Features like these save developers time and increase their confidence.
- QA and Dev Team Morale Improves
By executing repetitive test case in automation testing gives more confidence which leads to work on many projects and which also improves the growth of the individuals and organisation.
Test Automation Process:
The test automation process has following steps. Each of these steps are explained below in detail.
- Assessment & Tool Evaluation
Test Tool selection largely depends on the technology the Application Under Test is built on.
Criteria for Tool Selection:
For automating any application, the following parameters should be considered.
- Data-driven capabilities
- Debugging and logging capabilities
- Platform independence
- Extensibility & Customisability
- E-mail Notifications
- Version control friendly
- Support unattended test runs
2. Planning & Design
After the identification of automation tool which lead to the realisation of potential benefits and before we start the implementation of automation, the technical feasibility of the process also needs to be established. During this process, QA teams need to understand the application requirement and validation types which would be required. next, they need to evaluate the project management tools available within the company to support these requirements, in which test management tools and automation tools are configured each other.
After the planning and design, the most important step in automation testing process is the selection of accurate automation framework. Teams can select the appropriate test framework based in the requirement, which leads to reuse easy to maintain large test suit. A data-driven framework is generally better suited for highly repetitive testing involving similar data while the keyword driven framework is typically adopted when testing involves performing actions on the applications. It is advisable to evaluate the framework by conducting a proof-of-concept on a small scale involving a handful of test cases.
4. Test Execution &Report
Automation Scripts are executed during this phase. Once executed they provide detailed test reports. according to the input test data given.
Execution can be performed using the automation tool directly or through the Test Management tool which will invoke the automation tool.
Maintenance is another important process in test automation when new functionalities are updated to the existing project with successive cycles, the automation script needs to be added based on the new requirements and which leads to easy maintenance for each release cycle, maintenance becomes necessary to improve the quality of automation scripts.
Who should be involved with test automation?
When evaluating a testing solution, it’s important to have a tool that fits the needs of all of the different team members who will be involved in the testing process. These include:
- Manual testers
Record and playback are important for manual testers, especially those who new to automation. while using the same recorded script with different input data can be a more easy while and finding and fixing problems across multiple environments.
- Automation engineers
For automation engineers, robust support for scripting languages, integrations with CI systems, and the ability to verify the test reports and maintain the test scripts are important
Implement testing into the development process requires the ability to configure tests within IDEs such as Eclipse and Visual Studio.
Limitations of Automation
Automation testing cannot completely replace manual testing. When ever there is UI changes, It needs script changes and continuous maintenance, in this cases manual is better than automation testing. It needs higher skill level of testers/team members. It can be performed only for positive flow, cannot handle negative flow. It needs more initial time to develop script for test case based on the requirement.