Automation for the People
When discussing automation in the context of testing, we often limit ourselves to talking about using tools to control the execution of tests. But the potential of automation is much greater—and rarely fully exploited.
We also tend to contrast automated and manual testing, whereas in reality, these are complementary and should support each other. Automated and manual testing are not opposites, but strongly coupled and interdependent—there is only testing.
The key is to define what our testing objectives are, then build the solution needed to achieve them, which will typically include a combination of manual and automated testing. We should not let the method become more important than the results.
The increased focus on automated testing is reflected in current job ads for tester roles. Ads typically include required automation skills—or, to be more specific, experience using certain test automation tools—but rarely other technical or nontechnical skills. Is there no longer room for manual testers? Is the tester role going to disappear? If it did, who would ask the questions that testers ask?
Yet there seems to be a general movement encouraging all manual testers to learn automation. A quick search online reveals a plethora of articles that suggest ways to make the transition from manual to automated tester. Some even use the term “automated tester.” To me, that expression says something about how we often view automated testing. We seem to want to remove the humans completely from the equation. It sometimes feels like we are more interested in removing the humans from testing than making testing better.
Automated testing—just like manual testing—requires planning, preparation, execution, and analysis, but often we are focused on the coding and the execution. How important, really, are coding skills for planning and analysis? Maybe you need different skills at different stages, or for different aspects of automation. I would argue that the skills needed for test automation are the same skills needed to do manual testing, but weighted differently.
Skills are often more versatile than we give them credit for, and they might have less obvious uses. We need to acknowledge that testing requires a number of different skills, whether the testing is automated or not, and critically look at our own skill sets and understand how we can contribute to test automation efforts.
Unnecessarily narrow definitions of what test automation is, and what test automation skills testers must have, risk decreasing the likelihood of our automation efforts being successful and may prevent harnessing the true potential of testers. Don’t let self-imposed constraints hold you back.
Christin Wiedemann is presenting the session Automation for the People at the Agile Testing Days USA 2018 conference, June 25–29 in Boston, MA.
This is an excellent point: "Is the tester role going to disappear? If it did, who would ask the questions that testers ask?" I have worked a combined 13 years in two testing shops that produced highly scientific software for oil exploration. In both places, there was a team of manual testers and a separate team of automation testers. My function was manual tester, but I was once a developer, so I was able to do some automation as well. But I was the only one who could do that. I am a firm believer in automation. Automation testers are great at automating test cases, but they require a manual tester with domain knowledge to write a useful test case in the first place. There are many commercial automation tools available, but I have yet to see one that is easy enough for the average manual tester to use. Until one appears, there will be separate teams of manual and automation testers in my field.
"We should not let the method become more important than the results." This is the reality of todays software testing. We hire people to build the test execution vehicle not the actual test idea.
Is the goal of software testing to create x number of automated tests or to discover what we do not know about our product?
Good article :)
Test automation engineers tend to be good at automating tests, not always good at writing the tests. Manual testers create test cases that the test automation engineers turn into automated tests. That way the skills of both types of testers are used at their best.