Lately I have had multiple conversations in which the role of of QA has come up, and what exactly it means. This got me thinking, what exactly is QA? The role of QA is often murky, and at times, downright confusing. The general term QA means so many different things to different people that it’s true meaning sometimes gets lost in the mix. QA stand for Quality Assurance, and while a lot of people put a heavy emphasis on (and rightfully so) the word Quality, for me, the key word here is Assurance. The role of QA in any project, whether it is Agile, Waterfall or whatever your flavor of the month is, is to ensure that the product that is being released meets all of the requirements and expectations of it’s end-users and/or business owners. This is the Assurance part of QA…anyone that has a stake in the release of a given product needs to have assurance that the product they are releasing is a quality product.
I have discovered over the course of my career, that within the QA industry, there are various meanings as to what QA means; to some it is testing, to others it is a process group, to others it is a combination of the two. While all of these have positives and negatives, you need to remember that each scenario is different. I personally am a big believer that testing is a sub-component of the larger overall QA process, regardless of the size of the organization. However, I also recognize that there are regulations that need to be followed within certain industries, and that means that testing and QA are sometimes entirely different groups that are not related at all. Regardless of which scenario applies to you, the end goal is the same…putting out a top-notch product, and making sure that the end-users and business owners have the right assurances that this will be the case.
At the end of the day it really comes down to communication, and being willing to ask the tough questions, and to find out what the expectations for a given product or story or feature actually is. Unless you know this, it doesn’t matter how you approach QA…you aren’t validating the right thing. Whether you are a junior-level tester, or the senior QA lead, you should never stop asking questions and making sure that you are accurately testing the product. You should be making sure that all external dependencies are accounted for, or if you are the dependency, that you are meeting the needs of the consuming piece(s). These are conversations that need to happen, but can’t always happen up front as they may not be known yet…that is why constantly keeping yourself in the loop, and doing the appropriate level of research is important.