Testing is a Quality Control Activity
There is often confusion in the IT industry regarding the difference between quality control and quality assurance. Many “quality assurance” groups, in fact, practice quality control. Quality methods can be segmented into two categories: preventive methods and detective methods. This distinction serves as the mechanism to distinguish quality assurance activities from quality control activities. This discussion explains the critical difference between control and assurance, and how to recognize a control practice from an assurance practice.
Quality has two working definitions:
• Producer’s Viewpoint – The quality of the product meets the requirements.
• Customer’s Viewpoint – The quality of the product is “fit for use” or meets the customer’s needs.
Quality assurance is a planned and systematic set of activities necessary to provide adequate confidence that products and services will conform to specified requirements and meet the actual user needs. Quality assurance group/team is responsible for implementing the quality policy defined through the development and continuous improvement of software development processes.
Quality assurance is an activity that establishes and evaluates the processes that produce products. Remember if there is no need for process, there is no role for quality assurance. For example, quality assurance activities in an IT environment would determine the need for, acquire, or help install:
• System development methodologies
• Requirements definition processes
• Estimation processes
• Testing processes and standards
• System maintenance processes
Once defined, quality assurance would measure these processes to identify weaknesses, and then correct those weaknesses to improve the process.
It is the process by which product quality is compared with applicable standards/requirements, and the action taken when a deviation is detected. Quality control is a line function, and the work is done within a process to ensure that the work product conforms to standards and requirements.
A quality control activity focuses on identifying defects in the actual products that are being produced. These activities begin at the start of the software development life cycle process with verification of requirements, and continue until all application testing is complete.
It is possible to have quality control without quality assurance. For example, a test team may be in place to conduct system testing at the end of development, regardless of whether that system is produced using a software development methodology.
Both quality assurance and quality control are separate and distinct from the internal audit function. Internal Auditing is an independent appraisal activity within an organization for the review of operations, and is a cost to management. It is a managerial control that functions by measuring and evaluating the effectiveness of other controls.
The below listed points explains the difference between quality control and quality assurance:
|Quality Assurance||Quality Control|
|Quality assurance helps establish processes||Quality control relates to a specific product or service|
|Quality assurance sets up measurement programs to evaluate processes||Quality control verifies whether specific attribute(s) are in, or are not in, a specific product or service.|
|Quality assurance identifies weaknesses/defects in processes and improves them||Quality control identifies defects for the primary purpose of correcting defects.|
|Quality assurance is a management responsibility, and it is an additional cost to the company||Quality control is the responsibility of the test team/employee|
|Quality assurance is concerned with all of the products that will ever be produced by a process||Quality control is concerned with a specific product/application|
|Quality assurance is sometimes called quality control over quality control because it evaluates whether quality control is working|
|Quality assurance personnel should never perform quality control unless it is to validate quality control.|