I hope you enjoyed my earlier blog post on Software Testing Life Cycle. In this blog post, we will pitch in to Test Automation and discuss about Test Automation Life Cycle. Today’s world is very fast, everybody wants their job should be finished as early as possible along with quality. This applies for software testing too. Manual testing validates the right product delivery whereas Test Automation expedites the testing process.
Consider a test engineer who executes regression test cases which has complex data and validation or more time and effort required to complete. It is not possible to execute the same set of test cases repeatedly. He may miss to validate few data points which lead to miss defects.
It is ideal to switch from manual testing to test automation. Test automation tools accomplish complex test cases quickly and effectively. Following are the advantages of Test Automation
- Increase in test coverage
- Schedule adherence
For regression testing, already requirements would have been in place. It is not mandatory to collect the Functional requirements specifications. However, it is ideal to collect the regression test pack from the manual testing team.
Now we will see how to approach and implement test automation in the project.
Following are the phases involved in Test Automation Life Cycle. This can be varied from organization to organization or project to project.
- Automation Feasibility Analysis
- Test Strategy
- Environment Set up
- Test Script Development
- Test Script Execution
- Test Result Generation and Analysis
Below is the snapshot of Test Automation Life Cycle.
1. Automation Feasibility Analysis
Before kicking off implementing test automation, it is mandatory to analyze the feasibility of the application under test (AUT). Whether AUT is a right candidate or not for the test automation?
Also, feasibility analysis should be done on the manual test case pack which enables automation engineers to design the test scripts.
Apart from above feasibility, tool check can be done if your client insists to use their recommended tool selection.
Following are the feasibility check to be done to begin test automation:
- AUT automation feasibility
- Test Case automation feasibility
- Tool feasibility
2. Test Strategy
Test Strategy is the most critical phase in test automation. This phase defines how to approach and accomplish the mission. First and foremost in test strategy is selection of test automation framework.
Following are the types of test automation framework:
- Record and Playback Framework
- Functional Decomposition Framework
- Keyword/Table Driven Framework
- Data Driven Framework
- Hybrid Framework
- Business Process Framework
Most of the projects prefer Hybrid framework which is the combination of Keyword driven and Data driven framework. Because it has high reusability, more robust and pros when compared with other kinds of frameworks.
Other factors which involves in test strategy as follows
- Number of resources
- defining SLA
- Mode of communication process
- Defining in-scope and out-of-scope
- Return on Investment analysis
3. Environment Set up
It is ideal to execute test automation scripts in regression environment. Test environment set up phase has following tasks:
- Sufficient tool licenses
- Sufficient add-ins licenses
- Sufficient utilities like comparison tools, advance text editors etc.
- Implementation of automation framework
- AUT access and valid credentials
4. Test Script Development
This phase is the inception of implementing test automation. Activities of Automation test engineers as follows:
- Object Identification
- Creating Function Libraries
- Building the scripts
- Unit testing the scripts
- Warm-up test execution
5. Test Script Execution
Unit tested and signed-off Test scripts will be delivered to automation testing team for script execution. Following are the tasks involved with test script execution team.
- Test script execution
- Updating the execution or coverage tracker
- Defect Logging
6. Test Result Generation and Analysis
Result generation and analysis is the last phase and important deliverables in test automation. Results must be baselined and signed-off. Following are the important activities in this phase:
- Result analysis
- Report generation
- Documenting the issues and knowledge gained
- Preparation of client presentation
In next blog post, we will discuss about Performance Testing Life Cycle. If you like us, please subscribe for our free updates.