Is testing QA or QC? Hmmm, I’m not really sure what QA is (no, I’m not kidding), so I’m not sure how to answer this.
A colleague of mine recently gave a talk at a meeting on verification and validation on software simulations (large, complex applications that are especially commonly used for life-critical military systems). He said that the only reason for verification was in support of validation. I agree with that.
Some people think that QA = validation and QC = verification (I don’t think so, but I’ve heard it a lot). If so, what does it mean to say that the point of verification to support validation?
Of course, there is lots of confusion about the distinction between verification and validation.
My understanding of the terminology is that verification asks whether the product works as specified and validation asks whether the product does the right thing. My understanding is also that several people in the standards community are abandoning the distinction between the words “verification” and “validation” because so few people can keep them straight. They have never been significant parts of my vocabulary.
Rather than taking one unknown word (what the heck is “testing”?) and equating it with some other unknown activity (what the heck is “QA”?), why not address the underlying meaning of testing?
I think testing is a technical investigation of a product – a series of experiments that we call “tests” – done to help stakeholders understand a product’s quality. It might or might not include comparison with specifications. It might or might not include calculating statistics on the code (“complexity” metrics, for example). It may or may not include market research and assessment of the likely acceptability of the product in the marketplace. It may or may not include assessment of the development process against the requirements of a customer-required process model. Is this QA? QC? Something else?
If we think QA involves the full collection of activities required to make a product good, that involves a lot more than testing. A lot more than process writing and specification writing. It involves supervising and training everyone in the development staff, including programmers, technical writers, everyone whose work impacts the product’s quality. It also involves supervising and training the customer support staff and the customer training staff. So, sure, testing is part of QA (whatever QA is). But so is the janitor. Read Feigenbaum’s classic book, Total Quality Management.
Whats your opinion?