What is Automated Testing Life-Cycle?
Automated Testing Life-cycle Methodology is the process of testing which is executed in planned and a systematic manner. In this process, different activities are carried out to improve the quality of the product. It is best to increase the efficiency, coverage, and effectiveness of your software testing.
Let’s see what all stages are involved in it:
1. Automation Feasibility Study:
Before we start to automate the manual test cases, firstly we need to verify that the test cases are feasible to automate or not. On the basis of the feasibility study, we can give accurate estimates, so a feasibility study must be done. Let’s take an example: An automation team has given an estimate to the client and started to automate the test cases without analyze it. During automate the functionality they facing some issues like in one test case client want to submit a form with a captcha but they are unable to automate a captcha or various types of issues.
Now you need to discuss it with your client, at that time it will leave a bad impression on the client. Here the first question of the client is “Why did not analyze it in the first phase?” I think now you understand the importance of a feasibility study. There must be a checklist for a feasibility study by using it we decide the automation:
i) Walkthrough of Software
ii) Client requirement for automation
iii) Development and stability status of the application
iv) Categorizing the test cases (Smoke/Regression)
v) Automation Percentage
vi) Return on investment
[ Related Read: Test Automation ROI ]
How To Calculate ROI:
TA = Time taken for automation testing
TM = Time taken for manual testing
TS = Time saved due to test automation
TS = TM-TA
CHS = Cost of hardware and software
CT = Cost of training staff on automation
CDM = Cost of development and maintenance of script
CA = Cost of Automation
CA = CT+CDM+CHS
The formula of Return on Investment = Benefits from automation over manual / Cost of automation over manual
2. Automation Test Plan and Design:
This phase contains what, when and how to automate the test cases. We can plan it in a well-organized manner only if we study the feasibility of the test cases category (Smoke and Regression). In this phase we can plan for:
i) The architecture of the automation framework
ii) Effort estimation to automate the test cases
iii) Automation resources allocation
iv) In-Scope and out of scope items
v) Scheduling and Timelines
vi) Automation tool
vii) Test data
In the test plan, we can also consider the limitations, risks, and dependency of the automation over the application. After preparing the automation plan, it is shared with the client for review and approval.
3. Setup Environment and Tools:
In this phase, we set up the machine or remote machine in which we develop or execute the test cases. In this, we can mention hardware and software requirements, necessary machines. We need to set up a separate instance of the application as there must be no disturbance during the development and execution of the scripts. In this phase, we also set up an automation testing framework according to the application requirements.
4. Automation Test Cases Development:
Once the automation framework is set up, testers start automating the test cases according to the plan. In this, we create common functions that can be reused in further scripts. Developed scripts should be easy to understand, well structured and documented in case of peer review or client understanding. Use the process of reporting that is easy to understand and contains screenshots when the test scripts fail.
The script should be created as per the code standard and the code should be optimized. The assertions must be used in all the test scripts. Make sure that in this phase all the test cases get automated and run independently.
5. Test Execution and Analysis:
In this phase, we perform the actual execution of all automated scripts and analyze the result. Make sure that created scripts are stable to run in multiple environments and multiple browsers (as per the client’s requirements). All the created scripts must be executed in this phase. In case, any failure occurs during execution then it should take the screenshot for the same. One can also create a batch file to execute the scripts as it will save time and effort. Test management and continuous integration tools must be integrated within the script which invokes the test automation tool. By using these tools, execution can be done overnight to save time.
6. Test Result and Deliverable:
In this phase, we gather the test automation result and share the result with the team, stakeholders and client. Test results must be easy to understand for everyone involved. Proper filters must be used in the report. You should have a good report like TestNG, Extent Report, etc.
This is a continuous improvement process phase. In this phase, test cases are updated regularly as per the functional or UI changes. In this, we can also automate new test cases that were not included during the planning phase. Effort estimations, scheduling and timelines are also set for this phase.