Introduction to Test Automation
Test automation refers to the activities and efforts that intend to automate engineering tasks and operations in a test process using well-defined strategies and systematic solutions.
The major need for automation is to reduce the redundant manual effort as much as possible.
- To free engineers from tedious and redundant manual testing operations
- To speed up the testing process, and to reduce testing cost and time during the software life cycle
- To increase the quality and effectiveness of the test process by achieving defined adequate test criteria in a limited schedule.
- To reduce manual testing activities and redundant test operations using a systematic solution to achieve a better testing coverage.
Speed, Efficiency, Quality and the Decrease of Costs
Automated tests run fast and more frequently, due to reused modules within different tests.
Increase of Test Coverage
Sufficient coverage of software projects is often achieved only with great effort. Frequent repetition of the same or similar test cases is laborious and time-consuming to perform manually.
Increase in Tester´s Efficiency
Manual testing can be mundane, error-prone. It alleviates testers’ frustrations and allows the test execution without user interaction while guaranteeing accuracy and repetition.
Quick return on investment ( ROI )
More efficient use of manual QA resources.
Feasibility analysis refers to a checklist on the basis of which we can decide that we should proceed with the automation of the test cases or not. Some of them are as follows:
Functional Knowledge of Application
Status of development of the Application
The automation tool is able to identify the application in form of objects or not.
Required Access/Privileges for the application is granted to automation tester or not.
Percentage of the automation that can be achieved in application etc
Automation Tool Selection
Success in any Test Automation effort lies in identifying the right tool for automation. We need detailed analysis of various tools before selecting a tool. This requires a lot of effort and planning. Also, the effort and learning obtained during tool evaluation will in turn help during the execution of the project. Furthermore, while selecting tools it is important to remember that no single tool will satisfy all the requirements.
We need automation tool proficiency to write the automation tests.
Debugging the test script is a major issue. Any issue with automation may lead to false-positive/ negative.
Maintenance of test data files is difficult if the test script tests more screens/ pages.
Minimum refactoring to adapt to new changes in application under test.