Do Testers and Software QA Engineers Need Technical Skills?
The debate is heating up again. Do testers need technical skills in order to be effective? Do they need to be technical testers? TechWell's Bonnie Bailey gave us her take on the matter, and Colin Cherry provided a self-described “rant,” which I found to be an enjoyable read. This particular debate is not unlike the age-old arguments of being either for or against certification or believing software testing is or is not an art.
The first question that springs to my mind is What is the definition of a technical tester? Bonnie has added a great definition to the comments of her article. Like most definitions, it is open to interpretation.
I don't agree with the most popular definition I have seen of a technical tester, which says that a technical tester is one who understands code and even knows how to write it. Personally, I don't have an exact definition for what a technical tester is because for me it would change from project to project.
If I were to try to come up with a definition, I would say that a technical tester is a tester who understands technology or at least the technology that he is testing; this definition is not unlike Bonnie's definition. However, we also need to define what it means to “understand” and what exactly is “technology.” All of a sudden we’re going nowhere, fast.
Let's take a usability tester for example. This tester can successfully assess a website for usability-related issues without knowing anything about HTML, CSS, etc. On many occasions, his job involves adopting the persona of users who may have very little experience navigating the website. The usability tester would, of course, need to know about websites and their general, or even specific, use.
Would you say that these testers are “technical” in that particular area? I would. In essence, I believe that all “good” testers are technical.
Great chefs are technical. They understand and use the techniques they need in order to create wonderful meals. Are they able to write an application in Java? More than likely not. Along with everything else, the word “technical” is context specific.
What is your definition of a technical tester? Please let me know in the comments section.