The software development world has shifted towards a continuous delivery model, and the demand for test automation has skyrocketed. We’re also seeing the erosion of traditionally separate roles, as DevOps gathers pace, which spells opportunity for testers with coding skills.
Test automation offers the chance to boost efficiency and speed, and to establish greater consistency, but there are pitfalls to watch out for. Be aware of this trio of common test automation misconceptions to ensure they don’t jeopardize your project.
Automation will replace testers
Many people seem to believe that automation is a replacement for testers, but it’s best employed as a complement to them. For a start, you need automation testers to write your automated tests. The quality of your scripts depends heavily on the author, so you need testers with coding skills and the right experience to ensure test automation runs smoothly.
There’s also no substitute for an experienced tester’s skillset. They have been taught to investigate and think critically. They can explore software in depth, adjusting to target likely problem areas, and pivoting to discover related issues. Scripts are much more limited and focused right now.
At the end of the day, software is designed for people, so testers can provide valuable insight that a script cannot.
Automate UI test first
This is an easy trap to fall into, because UI tests are easier to write, but it’s to be avoided. Consider how often the UI changes during development. Each tweak necessitates a rewriting of the scripts. You must also remember that UI tests generally take a long time to run, so starting there can slow everything down.
If you begin with lower level tests instead, then you can increase the speed of each cycle. Component, unit, and integration tests don’t change as frequently as UI tests, so you’ll save a lot of time and effort that would be spent rewriting. That extra resource can be deployed as manual exploratory testing to validate the UI, while your scripts verify the core functions of the software.
Automation testers only script manual test cases
As a tester with coding skills, automation testers shouldn’t be limited to just scripting manual test cases. If you allow them to apply their knowledge and think about where they might make improvements, then you’ll reap the rewards. Instead of waiting for developers to create mock environments or create new time-saving tools, they might just do it themselves.
Problem solving skills and self-reliance are attractive skills in any role. Empowering automation testers to apply their skills beyond manual test scripting will potentially benefit your project and processes, and it can increase their job satisfaction at the same time.
There’s no doubt that test automation has a lot to offer, particularly in conjunction with a continuous delivery model, but it’s smart to stop and consider the best implementation plan. Make sure that you understand its strengths and limitations, use it in the right places, and fully leverage the skills of your automation testers.
Adam Satterfield is Vice President of Testing Services for KMS.