Testing Automation – Do you really need it?
Sreeram Gopalakrishna
Senior Vice President- Yubi Group Companies| Engineering, Product, Data, Customer,Delivery * Loves Startup * Convergys, Subex, Tiket.com, pickyourtrail.com, go-Yubi.com
Automation has taken the world by storm and testing has also not been spared.
Testing Automation is considered a mandatory development for competency in the IT industry. While technology-intervention comes with its own advantages, it may not always be required.
Before companies decide to adopt testing automation, they have to consider three critical questions. This i had asked myself and came up with answers
1. What part of testing has to be automated?
2. When should it be automated?
3. How should automation be planned and executed?
Let’s address each of these questions in detail:
What types of testing have to be automated?
Even though the general notion is that all types of testing should be automated, it doesn’t work that way. Certain types of tests perform better when automated than certain others.
The following types of testing can be automated:
- Functional
- Unit->devs
- Data Driven
- Regression
- Integration
- Smoke/Sanity
- API
Which test cases cannot be automated?
Not all tests can be automated. As with all technologies, automation testing also has some limitations to implement. Test cases where the expected output cannot be defined cannot be automated. The following types of tests perform best when run manually:
- Exploratory tests
- UX tests
When should it be automated?
Once the test cases to be automated are identified, the next question to address is when they should undergo the transformation. Test automation is usually preferred in the following circumstances:
a. Test cases that have to be run repeatedly
b. Accuracy seems to be a major concern
c. Need faster completion
d. It’s time to get more cost-efficient
e. Need to increase the test coverage
f. When there’s a resource shortage
g. There’s a lot of data entry involved
h. Test cases are not complicated
i. Test cases having unambiguous results
j. The UI is normal & the controls are regular
How should test automation be planned?
Since the critical what and when to automate have been addressed, the next step, how to automate comes into the picture. For different types of test automation, different tools can be used. Every tool works in a different way and will have its own standard procedures to be followed. In general, though, test automation can be planned systematically to yield maximum results.
Analyse the requirements
Requirement analysis is the most important aspect of test automation. Once the automation goals are analysed, identified and established, the team can move on to planning.
Plan well
Automation has to be planned in advance and in detail. Every step should be charted out so that the right team can be formed and task distribution done. The budget for automation can also be drawn.
Identify the right tools
The test cases have to be prepared which is coded as smaller units for optimal usage. The right tools have to be identified that will support more platforms and industries.
Use the best technologies available
Technology plays an important role in the success of test automation. With more open-source tools being preferred globally, using the right technologies matter to its successful implementation.
Choose or design the right framework
Once the tool and technologies are fixed, the right framework has to be identified. In case, it is not available, it has to be created. This is another critical aspect that contributes to the success of implementing test automation.
Chart out the test scope
The scope of testing has to be clearly defined. It is based on this that the test automation strategy and test cases are prepared.
Prepare the test cases
The test cases are prepared based on the inputs received during analysis and scope preparation.
Identify what’s common
Similar test cases are packaged and formed into a test unit which can be repeatedly used.
Execute the test cases
Now comes the most import part of executing the test cases. Now we will get to know the actual performance. Document everything for easier maintenance.
Review the test cases
The test cases have to be reviewed frequently to understand how well automation is working. Any shortfalls or deviations from the set goals should be identified and corrected quickly.
Continuous improvement
As long as there’s software and development, the company has to identify the scope for improvement and continuously strive to attain perfection.
Now that we have seen in detail what, when and how to automate testing, its time to update and upgrade the knowledge base. While automation is proven to be beneficial for most of the industries, this task has to be taken wisely.
The right tools, domain knowledge and the right strategy will yield the best results.
#selenium #pickyourtrail #automation #devops #CI #CD
Experienced QA Consultant helping Organizations and Clients improve Overall Quality | Lean Six Sigma, TMMi, Test Process Improvements, Program Test Management
4 年Automation is kind of "abused" word as per me and also unfortunately people now and then come with jazzy names for things in the industry. It has great potential but only if rightly used. People don't do proper "Return on Investment (ROI)" before they begin automation. I have seen instances where teams have automated test cases of an application which was sunset/ decommissioned in just couple of months after automation; wasting all the efforts and cost :-( I feel automation at right time, for right apps brings lots of value. But getting that "right" is most important