1

Difference between QA & QC in Software Testing

When should we use the terms ‘Quality Assurance’ and ‘Quality Control’? Some say they are interchangeable but they both appear separately in job titles, job postings and in daily use. How QA and QC differ can even be asked in job interviews.

Let’s take a deeper look at the terminology and define what makes them distinct from each other.

How did the terms QA and QC arise?

It’s interesting to know that historically, both definitions arose from the manufacturing field. Quality control was the first to appear and was used to describe the process of evaluating how the final product matched the requirements, and to find any deviations from the product’s expected behavior.

As manufacturing processes developed, it became clear that some defects could be prevented at the early stages by tuning processes and taking certain measures to, in effect, assure quality. That’s where the first cases of what has become known as quality assurance took place.

Defined by the International Organization for Standardization

ISO 9000:2015 provides definitions for Quality Assurance and Quality Control.
QA is a part of quality management focused on providing confidence that quality requirements will be fulfilled, while QC is a part of quality management focused on fulfilling quality requirements.

Difference between QA & QC

QA explained

In terms of software testing, quality assurance focuses on the process and standards that help to ensure that deliverables will meet the requirements. It usually begins at the early stages of the software development life cycle, before the testing activities start, and deals with all kinds of teams and roles involved (development, testing, BA etc.). QA belongs to the preventive and proactive measures in quality management. Some examples of quality assurance activities are performing the audit, defining the methodologies, establishing the standards, and documenting the process.

QC explained

Quality control is aimed at finding defects and issues that already exist in the system. In this context, QC is a set of reactive and corrective measures. It includes such activities as inspections and execution of the code. Quality control can’t be performed earlier than when the testing phases begin, so we can speak of it as a part of software testing life cycle.

QC is usually performed by the department or team directly involved in the development process. QA can be directed by a management team inside the organization, external auditors or on the client’s side.

QA and certifications

Contrary to QC activities that are usually specific to the product being developed, QA is often referred to as a set of process-related activities held at organization level and reused across the projects and teams. In some organizations, QA is applied to ensure the company’s conformance to recognised standards such as ISO 9001 or models, eg. CMMI and TMM. Gaining relevant certifications like these can significantly increase the organization’s credibility in front of clients and prove its maturity.

Finally

Both QA and QC play critical roles in the quality of the final product. Neither should be undervalued as they supplement each other to serve the common goal of ensuring the quality of the end product.

Author

Alona Benko

Experienced in manual testing and team leading. Apart from QA, her interests lie in the fields of management and psychology.