What is Test Automation- Layman’s perspective!
Let’s not talk in terms of technical jargons and try to figure out in Layman’s terms- What is meant by Test Automation? Every organisation defines a set of measurable benchmarks of quality for their product and it’s their job to make sure that it never fails below them. Those benchmarks of quality can be related to many aspects of the product like usability, performance, functionality, integration, etc. Test automation is a program using a tool or language or set of tools or languages that allows the organisation to measure the quality of the product in a consistent and timely way.
Why to Automate – Tell me the Benefits?
- Continuity – Running tests 24/7.
- Reusability – test scripts are reusable.
- Simultaneity – test in multiple environments simultaneously.
- Reliability – less chances of human error.
- Volume – in a given time big chunk of cases can be tested.
- Increase in throughput or productivity.
- Improvement in predictability of quality.
- Improvement in robustness of processes or product.
- Increase in consistency of output.
- Reduction in direct human labor costs and expenses.
Can Automation fail – What is so challenging?
Its said “automating chaos just gives you faster chaos”. Automation can be an awesome productivity booster within testing teams and a quality enhancer for your systems when done correctly or else can be a disaster when done incorrectly. The key is to make sure that it is used the right way, which is the hardest part when starting out. Here we will look at the most common challenges that should be conquered before real Automation.
Challenge 1: Getting GO signal from Management for High Upfront Investment.
Testers may already know that automation offers both business and IT benefits but how can testers convince the finance department and the management to allocate the necessary time and funds for implementing test automation. Moreover, when turning into the cost, management have many concerns. As a matter of fact, the initial phase of test automation is usually expensive. Although there is a huge payoff in the long run, convincing the stakeholders to have a consensus about this investment is a big challenge. Actually, just due to budget constraints, many organisations tend to give up test automation even though they agree with an executable goal and high ROI.
- It is important to also be very transparent with any and all stakeholders.
- Like any other proposal set the milestones, timelines and proposed end dates.
- Highlight the risks involved and plan for handling those risks as well.
- Don’t lie to stakeholders and say that automation doesn’t require much effort up front, because it surely does, but in the end, it’s worth it!
Challenge 2: Effective Communication and Collaboration in Team
This sounds like a straight forward challenge, but proves time and time again to be a real sore point in the testing process, whether manual or automated. Whatever the cause of this eternal struggle to keep a clear line of communication between testers and the rest of the stakeholders.
- Like any other investments, identify test automation objectives, set targets, and then spend significant efforts on communication, provide huge evidence, historical data, and even do a proof of concept.
- Have regular meetings between everyone involved to discuss- What to Automate and What not to Automate.
Challenge 3: Selecting the Right Tool
Nowadays, there are a variety of testing tools, ranging from free/open-source tools like Selenium to commercial tools like UFT; each of these tool tends to support particular situations. Vendors of testing products have a tendency to exaggerate the ability of their products. Vendors often assume that they have a “secret recipe” for all automation tastes. This causes misconceptions and confusions for us to select an appropriate testing tool satisfying our needs.
- Don’t go by popular commercial tools in market, decide based upon your needs.
- Most of the tools provide a trial licence for same purpose, try it before buying.
- Perform an adequate evaluation for advantages and disadvantages of using the tool before finalising the tool for automation.
Challenge 4: Demanding Skilled Resources
Test automation requires necessary technical skills to accurately design and maintain test automation framework and test scripts, build solutions, and resolve technical issues. Automated testing resources need to have strong knowledge of framework’s design and implementation. To fulfill these job requirements, obviously, these resources need to have both strong programming skills and solid testing skills.
- Never ever go for resources only with development skills only, it has to be a combination of development and testing skills.
- Try to appraise manual testers with automation skills by training them.
- Ensure to have a role like Architect to support the automation team with technical challenges.
Challenge 5: Setting Realistic Expectations for Automation
Talking about test automation, most of us agree to the benefits of automation.Everyone prefers automation as it promises better quality, does not need human intervention, faster regression testing and many more. Here are some expectations which need to be considered when automating an application.
- Manual Testers can never be fully replaced by Automation.
- Don’t expect 100% automation execution during test execution without any failures.
- When setting the timeline for automation, one need to factor in the time needed for requirement gathering, design, coding and testing the script.
- Not always Automation gives faster execution when compared to manual testing.
- Automation is not the best choice for dynamic and functionally changing apps.
- One need to be patient with Automation, the ROI might be low at initial stages.
If you like my posts on Software Testing and Quality Analysis, please support by subscribing or sharing my blog (https://qanalysisblog.wordpress.com).Feel free to share your thoughts in the comments section below as I learn just as much from you as you do from me.