Quality means consistently meeting user requirements in terms of cost , delivery schedule & service.
Quality Assurance (QA):
- QA is planned and systematic way to evaluate quality of process used to produce a quality product.
- The goal of a QA is to provide assurance that a product is meeting customer’s quality expectations.
- QA deals with how to prevent bugs from occurring in a product being developed.
- Software Quality Assurance Engineer’s main responsibility is to create and implement methods and standards to improve development process.
- QA is associated with activities like measuring the quality of process used to develop a product, process improvement and defect prevention.
- It consists of auditing and reporting procedures related to development and testing.
Quality Control (QC):
Quality control name comes from manufacturing industry where QC inspector evaluate sample products taken from the manufacturing line, test them & if the products fail the test they have the authority to shut down the whole production line.
- QC in software industry is evaluating software product, find the defects & suggest improvements.
- QC implements the process established by QA.
- Software tester is responsible for QC.
- If required, personnel involve in QC have to carry out QA tasks as well.
- Software testing is a planned process that is used to identify the correctness, completeness, security and quality of software.
- Testing is generally done to demonstrate that the software is doing what it is supposed to do as well as the software is not doing what it is not supposed to do.
- The goal of testing or software tester is to locate defects and make sure that they get fixed.
These are the basic differences between the three concepts. Sometimes there is an overlap of duties between tester, QA Engineer and QC Engineer. As per the need, some testers might be required to perform certain QA activities & some QA-ers perform testing of product.