Software Quality Control
QA is our primary focus, but quality control plays an important role in the delivery of quality software. Discover how quality control fits into the development equation and how it works with QA.
Software Quality Control Defined
Though similar in some ways to quality assurance, software quality control is a separate endeavor from quality assurance. Quality control provides benefits that are not available by strictly focusing on quality assurance. For most organizations, that means it’s important to focus on both quality assurance and quality control.
The roots of modern quality control in manufacturing reach back more than a century to the advent of the Industrial Revolution. As the mass production of manufactured goods became commonplace, a greater emphasis was placed on quality control to ensure the consistency of quality throughout a product line.
The implementation of software quality control is a much more recent development. As the Information Age dawned in the mid-1900s, it became apparent that quality control standards should be applied to the development of software, just like the manufacturing of physical products.
Though digital and physical products are quite dissimilar, the application of quality control standards shares a common goal to both: the production of products that consistently serve users as designed.
Differences Between Quality Control and Quality Assurance
The terms ‘quality control’ and ‘quality assurance’ are often used interchangeably, but they each encapsulate separate tasks and activities. While quality assurance focuses more on ensuring quality during the software development process, quality control is more about identifying defects and flaws in completed software products. Thus, quality assurance is more prevention-oriented, while quality control is more detection-oriented.
The scope of the two are also different. quality assurance tends to be more organizational in breadth, focusing on all software development efforts that occur within an enterprise. Software quality control is comprised of a set of activities that focus upon monitoring the quality of a single software product — though likely duplicated across an organization’s entire suite of software products.
And while quality assurance is used during most phases of the Software Development Life Cycle, quality control is typically restricted to the review and testing phases. However, there is one common activity that’s integral to both quality assurance and quality control: testing.
Testing for Software Quality Control
Testing within a software quality control program most often utilizes four distinct software testing types:
- Acceptance testing
- Integration testing
- System testing
- Unit testing
The goal of quality control testing is to verify that the product meets performance and usability standards. While these standards are defined during the software development process, quality control testing can often contribute to tweaking these standards for the better.
Is Your Product Fit for Use?
Though tightly linked, software quality control and quality assurance are not the same. However, both are necessary for the successful deployment and maintenance of a software product, and both contribute to that success in differing ways.
Ultimately, software quality control can be used to answer the most critically important question: Is this software product fit for use?
Companies seeking the answer to that question may not always like the answers that software quality control provides, but they are far better off than companies that don’t even bother to ask.
Software never was perfect and won’t get perfect. But is that a license to create garbage? The missing ingredient is our reluctance to quantify quality.Boris Beiser, American Software Engineer and Author