A lot of companies use the title QA and one of the most famous full forms for that title is Quality Assurance. There are some other less popular interpretations such as Quality Analyst, Quality Advocate, perhaps a Quality Assistant or even Quality Assessor.
Quality Assurance is used interchangeably with Testing more often than not. Let’s look at the premise of Testing and Quality Assurance.
“Testing is conducting experiments to evaluate a product by learning about it through, questioning, modeling and analysis to provide relevant information to the stakeholders so that they can make informed decisions”
Now let’s look at Quality Assurance closely 🕵️♂️
There are two distinct words in there: Quality and Assurance, so let’s see what they mean individually and then combine them and see what that means.
✅ Let’s start with Quality:
“Quality is the standard of something as measured against other things of a similar kind.”
It is interesting to note that what may be low quality to a tester may not be of low quality to a developer. Hence quality is subjective and relative. Refer to definitions by Gerald Weinberg.
✅ Now let’s look at Assurance:
In trying to decipher the term assurance, we see that assurance is not just about guarantee but also about confidence in the product. I sort of agree with that. But not in its entirety. Guarantee is the ultimate reflection of confidence, isn’t it? A guarantee is a promise of confidence.
So is Quality Assurance a tester’s job? 🤔 Giving confidence in the product is not a tester’s job, verifying the level of confidence is. In essence, everyone in the team plays their part in building confidence in the product.
There is a notion in the minds of people about testing and projects managers and other leadership being less educated about testing. So misconceptions creep in. However, whoever you ask today would tell you quality is everyone’s responsibility but not many will tell you how is it everyone’s responsibility.
What part does everyone play in making a product a quality product? A tester finding bugs? That’s it? How about a product owner translating the exact user needs to user stories and working with testers to make sure that they understand what problems need to be solved and what needs to be tested so that the customer feels happy? A tester with facts can influence the decisions about a product but cannot/should not take decisions about the product. It’s not that a tester cannot give his or her opinion about the product, but actually decoding about the product is something that should be left to the people who have invested their money.
Think of this, what happens when a tester has a test designed and wants to talk to the developer about it? Or wants to take the inputs of the developers to make the test design more robust… Would it not be better for the testers and developers to collaborate and work together? It may seem difficult and time-consuming, however there are tools like TestProject with features such as Share Center that facilitate this and foster collaboration between all team members. Now that’s what I call building confidence in the product. In other words, that is Quality Assurance.
Now let’s look at End to End Testing and being capable of testing across different layers within the sprint. While Testers may have the primary responsibility of putting together these tests. They can work with the product owners and architects to help build the product such that there are provisions of End to End Testing. The various SDKs that are a part of the various tools such as those from TestProject can help the testers be on the same page as developers, architects, product owners.
With all that said, one needs to understand that quality is an extremely subjective thing. What may be of high quality to you may be of inferior quality to me. The quality characteristics that are important for you may not be the ones that I am looking for. Thus, it becomes important that there is an understanding of the term quality within the team and everyone agrees on the quality characteristics beforehand.
Also, in a lot of situations, the tester can be the other QA (Quality Advocate) where an advocate is a person who recommends or supports a particular cause. And supporting or recommending a cause does not have to always be a win/loss situation. Unless of course you are inside a courtroom 😅 So here the tester recommends and supports building quality into the product as it is being developed.
Finally, I would only say this, testing is not just limited to conformance to requirements or finding defects in the system. It is about being able to conduct experiments to learn more about the product and gather information that can be provided to the stakeholders, so that they make informed decisions. In doing so, testing also helps discover many unknowns.
To summarize, I would say this – people say quality is everyone’s responsibility… In fact, quality assurance is everybody’s responsibility. 🚀