When one talks about testing automation, the first thing that comes to the mind is usage of automated tools which can execute test scripts faster than manual methods. My take is that testing automation should also incorporate streamlining of processes, operations and execution to ultimately improve the performance of systems and help bring products to the market faster.
In a typical product life cycle, if we consider 30-35% efforts on QA alone, then out of that, ~20% efforts are usually dedicated to test execution. That is about ~20% efforts on automation of test execution. Now, the important question to consider is what to do with the remaining 80% efforts? To answer that, one needs to think beyond test scripts. One should also consider the automation of requirements capturing, design, and automatic code generation, unit testing and test reporting. We should not limit automation to test script alone but anything which can help cut down on product lifecycle time.
We can also leverage latest technologies to cut down on product lifecycle time and consider early Time-To-Market. Agile methodology & DevOPs are good examples of this thought process. Product lifecycle can be reduced by extending automation beyond test scripts! Also, digitalization can help in automation of long time-consuming processes. E.g. leveraging digitization for requirements capturing & design documents. We should also think of digitizing test scripts, knowledge transfer, training, test results reporting etc.
Is automation worth it?
Another point to consider in automation is automation coverage. We are automating test scripts but there are other activities which need manual intervention. How can we reduce manual intervention? Sometime we think that scripts can’t be automated or only 60-70% automation is achievable. We need to think is it worth doing automation in terms of ROI? If no then we should not conclude and give up! We need to think thoroughly on which part of manual testing can be automated? In my experience, many times automated test scripts are used for up to 2-3 iterations and later on required major modifications are required so that we may consider reusability aspects in ROI. We have experienced that first iteration we think of ~70% automation but after 2-3 iteration it drops down drastically and the reason could be framework design, test case design, development changes & selection of test cases for automation.
Reasons to consider automation
It is important to consider below points before going for automation / during automation.
- ROI (Return on investments) including test scripts maintenance effort. Many time we are not considering test script maintenance due to development changes so it is important to consider while calculating ROI
- Selection of automation tools & technologies
- Selection of test scripts and redesign of test scripts for automation
- Reusability of test scripts
- Sustenance effort means future changes expected
- Framework architecture and design
- Test data & environment management
- Integration points
Overall, clients are demanding automation and it is becoming a must in today’s world. Before moving toward automation, we need to manly consider automation coverage, time saving and ROI before moving toward automation. Automation is not just test scripts; we need to think beyond test scripts to gain advantage of automation.