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 the best to increase 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 the accurate estimates, so 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 captcha but they are unable to automate 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 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
How to calculate Return on investment:
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
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 test cases category (Smoke and Regression). In this phase we can plan for:
i) The architecture of 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 test plan, we can also consider the limitations, risk 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 development and execution of the scripts. In this phase we also setup automation testing framework according to the application requirements.
4. Automation test cases development: Once automation framework is setup, testers start automating the test cases according to the plan. In this, we create common functions that can be reused in the 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 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 efforts. Test management and CI tool 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 deliverables: In this phase, we gather the test automation result and share the result with the team, stakeholder and the 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.
7. Maintenance: This is 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.