Continuing the theme of software testing and everything that is meant by this, let’s see what Quality Control is. Quality Control (QC) is a set of activities that are carried out in the software development process, in order to obtain exhaustive information about the compliance of the tested product with the initial requirements.
QC is the application of quality control techniques for certain artifacts. This is a test of compliance with what has already been done to some expectations. For example:
– Check the compliance of the specification functionality.
– Review of documents regarding the requirements for their writing, content and format. The document can be a specification, a project schedule, test documentation, etc.
– Code review regarding the coding standard, architectural documentation, security requirements, etc.
If you proceed further, you can divide QC into verification and validation.
Verification checks the artifact for compliance with the requirements described PREVIOUSLY agreed, i.e. looks to the past. For example, the customer who reads and approves the specification, on which discussions have already been made, makes verification.
Validation checks the artifact for the possibility of its FURTHER use, i.e. looks to the future. For example, the tester, “going” on the test scenarios, which are compiled on the basis of the specification, makes verification. But if the same specification is inspected by the tester for testing, and the developer for realizability, then this is already validation.
Also often there is such definition of these concepts:
Validation – ‘is this the right specification?’.
Verification – ‘is the system correct to specification?’
In most cases, the exact definition of the boundaries between verification and validation is not so important, and even more speculation about what is what. It is important to shift the focus, in the above example, the developer who is inspecting the specification has more focus on the future, i.e. how to implement it.
To sum it up, let’s say that the QC task is the quality of artifacts (products), or in other words the intermediate and final results of the work.