Introduction to Automation Testing Process
Automation testing involves using an automated tool to execute test cases. Automation testing is a step by step process in which the automation tool executes test suites, in successive development cycles, in which minimal human intervention is required. This step-by-step process starts with convincing the management about the implementation of automation in the software development life cycle and ends with the maintenance of the test scripts. The entire process incorporates selecting the right testing tool, selecting the automation tool and building and training of the development team for the project, creating the automation framework, developing an execution plan and writing test scripts.
Steps of Automation Testing Process
Given below are the steps of automation testing process:
1. Convincing the Management
Automation testing tools are quite expensive, and there can be large license fees associated. It is important to do a cost-benefit analysis and convince the management about the time savings resulting from limiting manual testing.
The methodology used to convince management about automation involves:
- Preparing detailed reports about the benefits of test automation.
- Preparing a cost-benefit analysis of the upfront expenses incurred in purchasing licenses for the automation tools.
- A waiting period to see the benefits of automation testing.
- The savings in human resources by requiring the least number of manual testers.
2. Recruiting Automation Tool Experts
The automation testing process involves recruiting requisite experts for the automation tools, they consist of automation architects and automation engineers. Automation architects are responsible for building automation frameworks, they are experienced in various automation tools and understand all advantages and disadvantages associated with that tool, coordinate with the management to select the right automation tool by analyzing the applications and technologies and help in building the automation framework, create rules for scripting and also assist the right test cases for automation.
Automation engineers are those who convert manual test cases into automated test scripts that are run by the automation tool. Fresh hires must be well-versed in programming, specifically in object-oriented programming.
3. Choosing the Right Automation Tool
Selecting the right automation tool from numerous choices available in the market depends on the application. The important considerations when selecting the right automation tool are:
- The automation tool must be within budget since these tools are expensive, the right automation tool should be chosen.
- The automation tool must support all technologies used in the application, for example, if an application is using silver light or flash, the tool must execute scripts which support it. If the application runs on a mobile platform, the tool must be able to run on mobile platforms as well. Selenium can be used for web applications, MS coded UI for desktop applications and Robotium for android applications.
- It is necessary to recruit the right skilled resources who can operate the tool. An automation architect who has experienced only in QTP is not effective if the company purchases an MS coded UI, hence tools must be well understood by the project resources.
- The tool must have proper reporting mechanisms to demonstrate the results to all stakeholders after test execution.
4. Selecting the Applications Best Suited for Test Automation
All tests need not be automated, it is important to select the right tests for automation. The factors influencing the selection process are:
- The application selected for automation must not be in the early stages of development. It should have some or all models tested by manual testers first.
- The application’s UI must be stable and not change often.
- The selected application should have all the manual test cases in a written format.
- Manual testers must ensure that the application is bug-free.
- The application should have written test cases, the testing team would convert them into test scripts and run them.
5. Training the Automation Teams
Manual testers and automation engineers should know automation technologies and concepts regarding the automation tool. Automation architects should have product knowledge about the application to be tested.
The automation team must be given proper and adequate training and a time frame to come up with a proper automation strategy. Resources must be well-versed in Bug-tracking software and other requisite software as necessary. Strong inter-communication between developers, manual testers, automation engineers and architects is essential.
6. Developing the Automation Testing Framework
The automation framework consists of rules and planning strategies to write the test scripts in such a way that requires minimal maintenance in the long run. Any necessary changes in the application, minimum updating of the scripts as required, to conform to that change. Automation frameworks consist of data-driven, modular, hybrid, keyword-driven and linear frameworks.
7. Preparing an Execution Plan
The execution plan incorporates environments for executing the scripts. Environment selection includes the browser, OS and hardware. If the test case requires checking in three different browsers then the automation team should write the scripts executable in all the three different browsers. The execution plan also involves the people who will write the scripts, normally the automation team executes them, but it is variable.
8. Writing the Scripts
Proper naming conventions should be used while writing the scripts which must be written in an organized manner to avoid code loss. It is important to maintain the source code in source control. History and Version control should also be maintained. It is important to have the best programming practices while writing the scripts. Manual test cases should be translated into automated scripts.
Reporting provides an essential feature of providing a progress report about what is the development of the application to the management. The development team should create custom reporting systems like auto-emailing, to report their findings to their management. Test reports can be created after each execution cycle in the form of tables and charts, which can be better understood by the management.
10. Script Maintenance
Scripts maintenance involves a request for a change in the application. Scripts are updated to cope with any changes to ensure proper execution and smooth running of the application. Regular maintenance of the scripts is important for the smooth running of applications and ensuring bug-free operation. A majority of automation projects fail due to poor script maintenance.
This article elaborates on the Automation testing process, which is a step-by-step process that must be implemented correctly to achieve the smooth running of the application and timely delivery of the project. It involves following the right set of guidelines and processes for implementing the automation process.
This has been a guide to Automation Testing Process. Here we discuss the introduction and different steps of automation testing process. You may also have a look at the following articles to learn more –
- Mobile Automation Testing
- Interoperability Testing
- What is Test Automation Frameworks?
- iOS App Testing