With test automation now a more common practice, Elisabeth Hendrickson tackles the growing challenge of testers and their skill sets.
Do testers have to write code?
For years, whenever someone asked me if I thought testers had to know how to write code, I’ve responded: “Of course not.”
The way I see it, test automation is inherently a programming activity. Anyone tasked with automating tests should know how to program.
But not all testers are doing test automation.
Testers who specialize in exploratory testing bring a different and extremely valuable set of skills to the party. Good testers have critical thinking, analytical, and investigative skills. They understand risk and have a deep understanding where bugs tend to hide. They have excellent communication skills. Most good testers have some measure of technical skill such as system administration, databases, networks, etc. that lends itself to gray box testing. But some of the very best testers I’ve worked with could not have coded their way out of a For Loop.
So unless they’re automating tests, I don’t think that testers should be required to have programming skills.
Increasingly I’ve been hearing that Agile teams expect all the testers to know how to write code. That made me curious. Has the job market really shifted so much for testers with the rise of Agile? Do testers really have to know how to code in order to get ahead?
My assistant Melinda and I set out to find the answer to those questions. Because we are committed to releasing only accurate data, we ended up doing this study three times. The first time we did it, I lost confidence in how we were counting job ads, so we threw the data out entirely. The second time we did it, I published some early results showing that more than 75% of the ads requested programming skills. But then we found problems with our data, so I didn’t publish the rest of the results and we started over. Third time’s a charm, right?
So here, finally, are the results of our third attempt at quantifying the demand for programming skills in testers. This time I have confidence in our data.