Can software quality be assured by "testers"?
Sardar Ali - ? CTFL-ISTQB? ? A-ISTQB? (TM) ? CSM?
Seeking New Opportunities & Open to Relocate - Quality Assurance Manager | Test Manager | Scrum Master | Expert in Agile Release Management & Project Management | Expert in JIRA
You'd have to live under a rock not to notice the constant flurries of anti-QA rhetoric here on LinkedIn and elsewhere in blogsphere. Have no fear though. In this article, I address some of the misconceptions that are being made that cause folks to have this anti-QA stance that usually revolves around the statement that "testers" cannot assure quality because, in the context of software development, they are not in a position to influence/change the code and therefor have no power to change the quality, directly.
I want to come right off the bat and say this is 100% true! "Testers," as defined by the folks that seem to hold this stance, cannot assure quality. Does this surprise you? It shouldn't, here is why.
Testers only provide information
If testers, per the definition used by Bolton and others in the "testers get ouf of the QA business" camp, only "evaluate a product to provide information" (this is an overly simple and paraphrased version I use for brevity but you can find their definition readily online), then of course they cannot change the quality of the software! Duh!
And here lies the crux of the matter, testers don't assure quality but Quality Assurance Analysts and Engineers via a Quality Assurance process, do. Now, I don't think that folks in this camp are confusing Quality Assurance with testing, but I think that they are adding to the confusion by not making this very clear. Which results in practitioners being confused about what they really should do. Testing? or Quality Assurance?
When folks tell others to "get out of the Quality Assurance business," it could be because they would like them to get into the single-purpose testing business instead. Or it could be because they are being thrown off by the word "assurance" since the claim is that testers don't assure quality but provide information on the quality of the deliverable instead. A claim that I agree with!
I think where we differ is that the folks in this camp overlook the fact (at least in my experience) that testers provide information on the quality of the deliverables to Quality Assurance folks (the stakeholders of Quality). Furthermore, they are overlooking a large sector of the population that actually performs testing as one role in their broader quality assurance job (sometimes the stakeholder of quality is also the same one performing the testing - wearing the "tester" hat). So maybe in this context, they would like for them just to drop the quality assurance analytical and process-oriented stuff and focus on the testing only? Who knows.
Quality Assurance drives the Quality
In a mature organization, QA is responsible for working with management (executive management), understanding the Quality Objectives of an organization, crafting a process that will ensure that these quality objectives are being met and then reporting on said quality; for the purpose of continuous improvement.
Quality Assurance and Testing are not the same thing
"A picture says a thousand words". one tool that I like to use to illustrate who is responsible for what without using a lot of words is a RACI. To understand this nuanced difference between testing and QA and how they are not the same thing but do work together, let's examine the below example in the context of Software Quality:
领英推荐
As you can see by creating a RACI chart in order for us to outline the responsibilities, in terms of quality, across various roles in the project team (such as Testing (testers), Development, Quality Assurance (QA), Scrum Masters, User) helps to clarify who is responsible for what, this ensures that all aspects of quality are adequately covered thereby assuring quality.
In order to assure quality, though, you first have to define what quality is. What are the Quality Standards for the project? This is the first line in the RACI, if you notice QA is Responsible and Accountable for setting the Quality Standards while "testers" are consulted (this is in line with testers only provide information, no?).
Another difference between QA and testing is that writing the test cases and also actually performing testing are in the realm of "testers" who are both Accountable and Responsible for this. QA plays a Supporting role.
Yet another difference is that testers are Accountable for reporting bugs, risks, etc, but share the Responsibility with QA. This is clearly in line with the "testers" only provide information mantra.
Here is the Legend I used for the RACI for completeness:
Summary
As you can see from the above, it is clear (well at least to me) that "testers" cannot assure quality. It is also clear to me that Quality Assurance is Accountable and Responsible for both owning the Quality Standards for the project as well as setting up the process and following up with the other stakeholders to ensure that the quality standards are being met, therefore resulting in a Quality product (as defined by the project team).
What are your thoughts on this topic? Do you still think that "testers" can assure quality? Are you ready to get out of the "tester" business and join Quality Assurance? A profession that actually has a body of knowledge and common practices that are widely known? Leave your thoughts in the comments!