The Free Software Foundation Catalog of Libre Applications
The directory is maintained by the Free Software Foundation and exclusively lists software that respects user freedom.
Software quality control (SQC) is a set of operational techniques and activities used by organizations to ensure that a software product meets its defined quality goals. It focuses on the identification of defects in software artifacts, ensuring that the final product is both functional and fit for its intended use. By systematically validating software against established requirements, SQC helps organizations deliver value to customers while minimizing the risk of failure.
It is essential to distinguish software quality control from software quality assurance (SQA). While SQA is process-oriented—focusing on the standards and procedures used to prevent defects from occurring in the first place—SQC is product-oriented. SQC acts as a validation mechanism that examines the actual software deliverables, documentation, and code to detect defects that have already been introduced.
The core of software quality control lies in the dual processes of verification and validation, which ensure the system aligns with user needs and technical specifications.
Quality control involves a variety of systematic checks to maintain the integrity of the software development process. Common activities include:
Testing is the most visible component of software quality control. It encompasses a wide range of techniques designed to uncover defects at different stages of the development lifecycle:
| Testing Type | Focus |
|---|---|
| Unit Testing | Individual components or modules |
| Integration Testing | Interaction between integrated units |
| System Testing | The complete, integrated system |
| Usability Testing | User experience and interface design |
| Performance/Load Testing | System behavior under expected and peak loads |
| Regression Testing | Ensuring new changes do not break existing functionality |
Organizations often adopt specific frameworks to structure their quality control efforts. These include the Goal-Question-Metric (GQM) paradigm, which links quality goals to measurable data, and the Plan-Do-Check-Action (PDCA) model, which emphasizes iterative improvement. Other approaches, such as the Spiral Model of software development, integrate quality control checkpoints throughout the entire development lifecycle, allowing for early detection of risks and defects.
Quality assurance (SQA) focuses on the processes and standards used to prevent defects, whereas quality control (SQC) focuses on testing the product to find and fix defects that have already been created.
"SQC Software Quality Control".
Clapp, Judith A, Software Quality Control, Error Analysis, and Testing, 1995 William Andrew In.