Quality Assurance vs Quality Control vs Testing
Shweta Singh
Senior Project Manager | Hybrid Project Management(Agile, Waterfall, Lean, SAFe) Expert | Stakeholder & Team Leadership | Change & Risk Strategist | Advanced Certified Scrum Master | PMP Trained | PMI-ACP Candidate
Many people and organisations are confused about the difference between quality assurance (QA), quality control (QC), and testing. They are closely related, but they are different concepts. Since all three are necessary to effectively manage the risks of developing and maintaining software, it is important for software managers to understand the differences. They are defined below:
- Quality Assurance: A set of activities designed to ensure that the development and/or maintenance process is adequate to ensure a system will meet its objectives.
- Quality Control: A set of activities designed to evaluate a developed work product.
- Testing: The process of executing a system with the intent of finding defects. (Note that the "process of executing a system" includes test planning prior to the execution of the test cases.)
QA activities ensure that the process is defined and appropriate. Methodology and standards development are examples of QA activities. A QA review would focus on the process elements of a project - e.g., are requirements being defined at the proper level of detail. In contrast, QC activities focus on finding defects in specific deliverable - e.g., are the defined requirements the right requirements. Testing is one example of a QC activity, but there are others such as inspections. Both QA and QC activities are generally required for successful software development.
Key Points
- In QA, processes are planned to evade the defects.
- QC agreements with discovery the defects and modifying them while making the product.
- QA detects weakness.
- QC detects defects.
- QA is process oriented
- QC is product oriented.
- QA is failure prevention system.
- QC is failure detection system.