Do Testers Really Need to Learn How to Code?
There’s a big difference between something being practical and something being necessary. With just how much the software industry has changed over the last few years, the “testers need to be developers, too” narrative has been spreading like wildfire, and many people see it as a fact rather than a viable option.
Because automation, AI, and agile have changed how we test software, the thought is that testers need to understand a certain amount of coding so that they can make themselves more well-rounded and better able to adapt within a software project. If the testing role is changing, so too must the tester.
Hans Buwalda, the CTO at LogiGear Corporation, spoke at last year’s STARWEST Conference about how that might not be the case. Sure, there’s the practical side of why some testers might want to learn a certain level of coding to fit more easily into different aspects of the project lifecycle. But there are other, more important qualities a tester should have before they learn to code.
“I don't see it as much as a must-have. I would much rather have a tester who understands domain knowledge, who understands testing techniques, who has a tester attitude,” Buwalda said. “And then, the coding, we can worry about that later. The tester can write the test in something like BDD or keywords and something that is away from the technology, and really to put more effectiveness in the test itself.”
And that testing mindset is just different, no matter how hard we try to meld these roles into the same thing. While he doesn’t mean it literally, Buwalda stated that developers are looking to build things, while testers are always hunting for how to destroy them. They can find common ground along the way, but their general interests and sense of the way things work can often be diametrically opposed.
“A developer will ask, ‘What do I need to build, what does it need to do?’ The tester will ask, ‘What can go wrong? What can I do to it to break it, or to find the weaknesses,’ et cetera,” he continued. “And that's a great thing because if you find out weaknesses, the earlier you find them, the easier they are to attend to.”
It never hurts to learn the roles and skills of the people around you. But before testers commit time, effort, and resources to learn how to code, they should consider sharpening the medley of other skills that make them good testers.