The media spotlight on many of our apps at the State of Colorado is so intense, even minor bugs are newsworthy. So when I was tasked with reorganizing the Enterprise Applications department, I knew early on that I wanted to bring a renewed focus to the discipline of quality assurance. One way to do this was to create a QA department and integrate it into the System Development Life Cycle process.
While interviewing candidates to manage this department, I realized that many people (mainly customers) use the terms “quality assurance” and “software testing” interchangeably. In other words, the process of assuring software quality is basically a process of software testing. If an application can pass a suite of tests, it is stamped with a seal of approval and deemed to be of high quality. While there is some truth to this, it isn’t the whole truth.
The discipline of quality assurance is about applying the principles and practices of software QA throughout the SDLC. It is NOT merely testing, which is an important subset of the QA function, but a subset nonetheless. I like to say that where software testing is product-oriented, quality assurance is service-oriented. This isn’t my quote so I don’t mean to take credit for it, but I use it often because of its clarifying power.
“Testing is product-oriented, quality assurance is service-oriented.”
The table below lists the tasks that are typical in testing versus QA. Note the broader scope of the QA tasks. It’s the reason I like to use the title of QA Analyst rather than Software Tester. A tester approaches his/her job with the goal of determining whether code passes or fails based on a set of test conditions. An analyst approaches his/her job with the goal of determining whether the test is properly designed to measure quality. The tester says the software is working. The analyst says the quality of the software is meeting expectations.
In summary, the QA function is responsible for assuring the quality of applications development and support services that are provided to our customers, and those services extend beyond product functionality.