Best Practices for QA Automation
Chelsey Lang provides a list of best practices when considering automation for the quality assurance process.
Join the DZone community and get the full member experience.Join For Free
The following article is a guest post to Zephyr from Chelsey Lang, Clearvision. Clearvision is a partner of Zephyr that helps software teams and IT programs implement tools and processes that bring high quality software to the market.
Work With Testers
We’ll start off with the big one. Let go of any worries you might be harbouring: automation won’t replace manual testing. We’re a long way off robots stealing jobs.
That fear can be present, though, which is just another reason collaboration between testers and QA automation engineers is so important. From the outside, it might be tempting to group these roles together under the umbrella of “testing”. But that’s a vast umbrella, and it’s vital to keep in mind that manual testers and automation engineers both have very different skillsets, and both bring something essential to the process.
Automation will save significant time and money, but only when it’s done correctly, and that means manual testers and engineers need to work together to devise the correct processes, test data, prerequisites and more. And far from eliminating the role of the tester, automating your more repetitive processes will free up testing time! There will be more opportunities to focus on test planning, design, and risk assessment.
Automate the Right Tests
You can’t automate everything, and in fact you shouldn’t. As we’ve already mentioned, manual testers bring a whole different skillset to the process that development would sorely miss.
It’s important, then, to make sure you automate the right tests. What tends to be monotonous and repetitive? These tests tend to be where mistakes occur in manual testing, which has nothing to do with the skill of your testers and everything to do with the human mind when confronted with too much of the same thing.
When you’re wondering where to begin with automation, look to these areas first. Regression tests are a great example of this.
Test Early and Often
The earlier you test, the more you can test; the more bugs you’ll find, and the more time the QA team will have to find fixes. It’s simple!
By testing frequently, you’ll also reduce the potential for disconnect between the coding and testing phases of your application lifecycle. Frequent testing means feedback will be going back and forth between your testing and development teams on a regular basis. They’ll end up working much more closely together than before, and it will move the whole development lifecycle towards a continuous integration method of working.
Review Automated Tests
Automated testing stops saving you time and money as soon as it becomes outdated. Likewise, if you automate repetitive tests but there’s a mistake or issue with the test, that mistake will be replicated over and over again.
It’s always a good idea to peer review tests, as well as to schedule regular checks your tests are still up to date, particularly after any major change or upgrade.
Test Using the Right Tools
You obviously need to make sure you’re working with a testing tool which meets the requirements of your QA team.
More than that, though, you should opt for a tool that integrates with the rest of the tools used across your organization. Having an integrated set of tools promotes a common mindset and language across the company. It will unify departments under one overarching goal: to satisfy your customers.
It means that teams will understand each other even when their work is very different, and this will help considerably when they need to work together. Consider testing and marketing, for example. Both need to understand the end user; marketing will have a very different perspective than testers, but the feedback they get from customers can offer invaluable contributions to the feedback loop already established between testing and development.
Tools like those that make up the Atlassian stack integrate nicely in this way — testers might use Bamboo and JIRA Software, while marketers may use JIRA Core and Confluence. And even if teams use tools provided by different vendors, or Open Source tools, there are platforms that exist to bring these tools together in the same way. It’s why Clearvision has developed Spectrum: it brings together best of breed tools from a variety of vendors, including Open Source tooling, and makes them accessible and easily manageable from one location.
When your tools talk to each other, your teams talk to each other, and that’s best practice across all departments.
Published at DZone with permission of Chelsey Lang. See the original article here.
Opinions expressed by DZone contributors are their own.