Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Preparing my thesis, I found another interesting discrepancy. While some books say verification it terms of static analysis of work products is quality control (looking for defects), other say it is actually quality assurance because the process of checking is decreasing the probability of real defects when these deliverables will be used for product manufacture. I hesitate as both seems to be correct: it is a way of checking for defects (deviation from requirements, design flaws etc.) so it looks like quality control, but also it is a process which does not have to be done and if done, can yield better quality.

share|improve this question

1 Answer 1

up vote 1 down vote accepted

Quality Control is the act of looking at products, aimed at detecting defects in individual products as they roll along the production line. Quality Assurance is about the processes implemented to ensure quality control is achieved - now and in the future. Therefore in the software world, the act of performing static analysis is QC, while the process that ensures the analyses is done (and measure how effective it is etc) is QA. (i.e. QA is the act of planing to do it, QC is the act of doing it)

The argument that the act of inspection is QA because it decreases the probably of a defect is flawed in my mind. That is like arguing something like "Using OOP is QA, as it decreases defects...." Simply look at who performs the task. If it's a Quality Process person, it's likely to be QA. If it's a skilled engineer, it's likely to be QC. Inspection is certainly done by a skilled engineer - it's QC...

Within the software development community these terms are used loosely and interchanged randomly. In many Software houses Test is QA and QA is Test, even some books don't distinguish the difference - how do you expect the subtle difference between QA and QC will be understood.

Apart from the focus of the industry and lack of Quality training in general, I believe this is largely the result of what software is. Unlike a factory, where each widget you product is a unique product (for instance - people understand how one car might have a defect that none others have), every software "widget" (i.e. what the customer gets) is exactly the same no matter if you product 2 or 2 billion of them. Therefore, Quality Control on software is only done 'once' (per release) - and is only subtly different to the QA process to most people.

share|improve this answer
    
The thing is that inspections, reviews etc. can be done by QA people, checking for consistency, completness, correctnes..Thus when these items are used to drive the development, the defect probability is lower –  user970696 Nov 5 '12 at 11:18
    
If your interpretation of QA if the same as mine, then you are wrong - QA people are Quality Experts, not Software developers, and QA overseas the entire company - from financial systems, customer services etc to products produced. If they used to be software developers they may be able to do reviews and inspections, but as a QA person, they should stay out of it and let the experts do it. I suspect you are one of the millions in this industry that think that QA == QC == Test. –  mattnz Nov 5 '12 at 20:11

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.