Selecting Automation Tool with 5Ws & 1H
Welcome back and a very happy new year, everyone!
We know everyone is still “suffering” from the post synonyms from the long holidays (Christmas and New Year). Since this is the first post of the year, nothing too technical today. We promise.
When we first want to bring automation testing into a project, one of the common questions asked is “So what automation tool should we use?”
Tons of results popped out. How to choose?
Fear not, we’re here to share some questions that you can ask yourselves with 5Ws and 1H!
Why do you need automation testing?
This helps you focus on the objective(s) you want to achieve and drill in to ensure that the tool selected meets your requirements such as:
- What is the project type (web/desktop/mobile)?
- What type of testing are you doing (unit /functional/regression)?
- Is it for one project or enterprise level?
The ROI of the tool depends on your needs. For instance, if one of your main objectives is meant for the DevOps/DevSecOps integration and testing only on web applications, it will be pointless to select an automation tool that covers automation testing for web, desktop, mobile to API but has limitations in the Continuous Integration (CI) tool that your project is using.
Who is using the tool?
Take into consideration the skill sets and proficiency level your automation team has.
There is a huge variety of automation tools out in the market ranging from scripting-based to little-to-no-scripting-based. If the automation testers aren’t so proficient in programming, a tool with lesser coding required may be a better choice for them to pick up easily. Otherwise, consider the programming language the team is more well-versed in. In the situation where your team members are proficient in Java but the tool does not support Java, additional time and effort are required to learn the new language.
Learning new things is good. However if time is a constraint, it is wiser to choose one which supports the language that your team is familiar with so as to shorten the learning curve.
What does the tool support?
Here we are talking about the technology supported, programming languages, suitability for your project environments, reporting features, test tools integration capability, CI/CD integration capability, etc.
This question links back to the first “Why” question on what your requirements are. Do not get too fascinated by what the tools can do but rather, whether the tool meets your project’s needs. If there’s no one tool that is able to satisfy all your requirements, you can explore integrating various tools together! Just remember to ensure the integration is able to work seamlessly before implementing them.
Also, consult the developers on what technologies are being used in the application to ensure that the automation tool supports them. If the tool claims to support those technologies, download a free/trial version to test it out if possible. If you encountered any blocker during this trial period or the tool does not work as it claims to be (e.g. failure to identify the object/element for the specific technology used in your application), early discovery will save you from a huge ordeal afterwards.
One good way to make sure you are on track is to tabulate your essential criteria and compare against the different automation tools.
Where is the technical support team located?
A technical support team is important as they assist in resolving any issues you’re facing so that you can use the product more effectively. Hence it’d be good to know what kind of support works best for your team and check if that product’s support team can fulfill it.
For the open-source tools, the support mainly comes from the user community/forums from all over the world. As for commercial tools, they usually have their own dedicated support teams located in different countries. If the only support team is not in the same timezone as you, they may not be able to attend to your ticket/incident fast enough due to the time difference. Chances are, they may only be able to attend your tickets hours later or after your office hours.
What type of resources are available?
Resources refer to any materials or tutorials available with regards to the tool. All commercial tools have their own official websites with online videos, tutorials, webinars or various materials that users can check on.
For those popular tools (regardless of commercial or open-source), there are numerous forums or questions/comments left by other users which can be a good reference on how to use the tools or solutions to common issues faced.
How much budget do you have?
Last and the most obvious and important aspect — money!
Well, definitely budget plays a part in the real world. Needless to explain further about this point, right?
Each organisation/project has different sets of requirements. It is up to your organisation’s decision to determine the final automation tool(s) to go for after you’ve compared and mapped out your findings on the various tools. What we’ve provided here are some pointers for your reference.
Whether the tool is good or bad, it really depends on your needs. Selecting the appropriate tool is one of the key factors to successful automation!
Last but not least, stay safe and wear your mask!
Stay tuned for the next post ~ ✌🏻
Team Merlin 💛
Application security is not any individual’s problem but a shared responsibility.