QA should know how to code - true/false?
Recently we came across a firing debate on Linkedin. The original statement was the following:
“QA should also know basic development. This way QA would be able to fix basic bugs and prevent unnecessary cycle time increase for small defects.”
The debate escalated rather quickly against such point of view. Let us take a look of the most common concerns.
2. The one who wrote the code is usually the best fit to fix bugs connected to it.
3. Sometimes bugs have their roots in wrong or poorly written requirements. If that is the case, bug fixing cannot be done without further consultations and that is why the reported bug should go through its life cycle.
4. Quality might get compromised when testers spend more time on coding (in automation as well) as some first-hand experiences were shared.
It may sound like a good idea for QA to know (at least basic) coding since, let us not forget, many of the most commonly used testing automation tools demand coding knowledge. At least in some companies where automated tests are being executed, testers probably could be able to fix basic bugs when detected. But is it worth it?
Bad fixes increase debugging time.
Let us think a bit what could that lead to. QA expert will find a bug and fix it. This way he/she will be pushed to a zone where he/she might not excel, perhaps he/she will not be comfortable enough with the language or other technologies, not to mention that QA might not have access to the whole code and therefor will not understand what might fix in certain place mean for many others. It can become rather tricky quite soon in the process.
Worst case scenario results in a bunch of now bugs when fixing the detected one, which is quite the opposite the original intention was – shortening the cycle.
Let the experts do their work.
Each of us hold specific expertise and nobody knows everything. That is why teams consist of different roles. Developers should be in charge of development, while QA should do what it does best – make sure that the quality of the product is as high as it can be.
In this context it does not matter whether QA knows coding or not – even better, we strongly urge that your team consists of members who know coding and those who do not. This way different testing approaches can be taken and better coverage achieved.
What are your thoughts on that? Is knowledge of coding a must for the QA or something that might come in handy but is not a deal breaker?