Designing and implementing an automation test strategy can be overwhelming. There are multiple points to consider, and if you’ve ever researched the topic online, you know there are many different points of view to think about. How you develop and implement an automation strategy should be unique to your organization’s needs and abilities.
In this multi-part blog series, I will provide some in-depth thoughts about how I’ve designed and implemented test strategies, things I’ve learned, and other industry gurus’ thoughts on the topic. At the end of these installments, you’ll feel comfortable enough to design your own automation testing strategy! 💪 After reading my previous post you should now have a solid understanding of what your automation goals are and who will own the various tasks for your automation.
Before you can jump in and start writing scripts, you first have to identify what tool(s) your organization will need to implement your automation testing. This is extremely unique to your organization, so instead of outlining all of the hundreds of tools on the market, today’s blog will walk you through some things to consider when selecting your toolset 🔧
- Scripting language: Choose a tool that pairs with a language consistent with your developer’s coding language. Doing this makes it easier for your developers to contribute to the automation project.
- Code and development tool support: Does the tool support all other tools and objects used in the code?
- Tools don’t test: Dorothy Graham specifically talks about what tools do vs. what people do. Tools execute tests; people write them. It’s an important concept to understand. Here’s the talk if you’re interested 💡
- Ease of use: Choose a tool that best assists your team in developing and maintaining scripts, executing tests, debugging, and validating failures.
- Understand the applications under test: Will you be writing automation for mobile, desktop, and/or web? Are there considerations to be had around cross-browser/device testing?
- Consider your budget: There are solid low or no-cost solutions on the market. Perhaps you have a larger project or unique requirements to consider. Understanding what your budget is upfront, will help ensure you pick an automation technology stack that fits that budget. Don’t forget to verify how they charge you for their project (seated license vs. group).
- Do a Proof of Concept (POC): Take the time to vet the tool you think you want to implement. Start with a handful of scenarios at each layer. Get a feel for scripting, executing, and reporting. Determine if you can get all the features you need in a trial version.
- Metrics or reporting needs: Some tools do a great job at reporting while others leave that for you to figure out. If reporting and metrics are important to your organization, make sure you consider this in your POC 📃
- Pick a tool that has a large community for support: Any developer will tell you that having community support is imperative to their success. If you’re new to automation, picking a tool that has a large community is advisable.
- Give thought to your CI/CD strategy: Will your toolset need to integrate with your DevOps tools? Executing your automation as a part of a build-and-deploy pipeline might be a goal for your organization. If so, ensure you’re picking a tool that supports that goal.
- Load testing: Will this tool need to be used to automate scripting to simulate load on your application?
- Test data: Ensure the tool you’re considering allows easy data input from multiple data files such as XML, JSON, Excel, etc…
- Defect management integration: You may wish to have defects filed as your automation executes. If this is a need, ensure your automation tool stack integrates with your defect management tool.
You’ll notice in this post I don’t mention any specific tool or language. I was careful not to do that because everyone’s organization is unique. The above points will give you things to think about and consider as you go through the automation tool analysis stage.
Picking a toolset that fits your existing technology stack and budget are two of the most important considerations. Try making a spreadsheet matrix so you can compare and contrast tools against one another. There are a lot of tools on the market so it can quickly get overwhelming! Stick to what you need and you’ll certainly find a toolset that will help enable your automation strategy 🚀