Many people think that QA and QC are same and interchangeable but this is not true. Both are tightly linked and sometimes it is very difficult to identify the differences.
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.
QA, short term for 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 is known as QA and focuses on preventing defect. It ensures that the approaches, techniques, methods and processes are designed for the projects are implemented correctly. QA activities monitor and verify that the processes used to manage and create the deliverables have been followed and are operative.
It is a proactive process and is Prevention in nature. It recognizes flaws in the process. QA has to be completed before Quality Control. Once defined, quality assurance would measure these processes to identify weaknesses, and then correct those weaknesses to improve the process.
Quality Control is known as QC and focuses on identifying defect. QC ensures that the approaches, techniques, methods and processes are designed in the project are following correctly. QC activities monitor and verify that the project deliverables meet the defined quality standards.
It is a reactive process and is detection in nature. It recognizes the defects and has to be completed after Quality Assurance.
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.
The below table explains the difference between quality control and quality assurance:
|Quality Assurance||Quality Control|
|Quality assurance helps establish processes to ensure quality||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 helps to improve the process||Quality control identifies defects for the primary purpose of correcting it|
|It is a process which deliberate on providing assurance that desired quality will be achieved||QC is a process which deliberates on fulfilling the actual quality|
|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|
|A QA aim is to prevent the defect||A QC aim is to identify and improve the defects|
|All team members are responsible for QA||Testing team is responsible for QC|
|QA Defines standards and methodologies to followed in order to meet the customer requirements||QC ensures that the standards are followed while working on the product|
|QA is responsible for full software development life cycle||QC is responsible for software testing life cycle|
As always, QA & QC concept is debatable. Please let us know your thoughts in comments.