Quality control according to ISO 9000
I know quite well the difference between Quality Control and Quality Assurance. However (maybe as I am not a native speaker) I have issues with understanding of QC as defined by ISO 9000:
QC - 'part of quality management focused on fulfilling quality requirements'.
-Monitoring of processes to ensure the output is of quality -Activities to correct discrepancies
I cannot see how this is fulfilling quality requirements? I would say that only development actually can fulfill the requirement, QC only checks the conformance but on its own cannot fulfill anything. Or is this what it means - that it is concerned with whether the requirements are met?
Demir last edited by
Since you understand the difference between QC and QA, you know that these terms originated from manufacturing, where QC is a process of sampling the quality of manufactured items and QA is a set of processes meant to produce fewer defects.
Since software is not a manufacturing process in the traditional sense, you need to consider those terms in a different light.
Do not preoccupy yourself with the meaning of "fulfill". It is more important to understand the concept of testing and its relationship to ISO-9000.
Monitoring of processes to ensure the output is of quality
Really, anything going on in the company has the potential to impact quality. Some things are more apparent, or more measurable, or have a more direct impact. For example, if you do daily smoke tests in QA, and most of the smoke tests fail, that tells you that developers need to be more careful about testing before they check things in. It might also tell you that it is too hard for developers to test. These things ultimately impact your quality.
Activities to correct discrepancies
Quality is about incremental improvement: you measure, find a problem, correct it, and then measure again. In the example above, an activity might be about adding tools that make it easier for developers to test, e.g. a way to generate test data automatically or maybe an easy way to install and run the software in a disposable environment.