Quality Assurance vs. Quality Control: who is who? 
Tags: qualityassurance, qualitycontrol, qaprocess, softwaretesting
Published: 2018-12-10 15:21:17

---
title: Quality Assurance vs. Quality Control: who is who? 
published: true
description: Article dedicated to highlighting of software testing phase within product development process. Here, principal difference between Quality Assurance and Quality Control procedures is explained in plain language.
tags: quality assurance, quality control, qa process, software testing 
---
![Quality assurance vs. quality control](https://thepracticaldev.s3.amazonaws.com/i/5bnwubob8z9smc6wx58v.png)
Everyday new ideas are born in all corners of the world. Whereas we live in the digital era, most of these ideas are turned into software applications. Manifold services, starting from pizza delivery to renting a friend(!), online stores and absolutely incredible games. There is a countless number of them and it constantly growths. But creation of the software product is not an easy process. Development of each application is a complex project which comprises several mandatory milestones. One of them is about ensuring of correct work and functioning of a software product. Theoretically, it is possible to omit the checkup procedure, and hope that released product will be working properly, but truth is that it’s hardly possible to find a developer who is able to write flawless and perfect code within an entire project, especially the big one. That’s why [quality assurance company](https://qawerk.com), which provides testing services, developed a comprehensive approach to this procedure. Commonly, this verification service is called Quality Assurance (QA). But in fact, QA is one fraction of the whole testing process. Other two are Quality Control (QC) and, actually, testing as itself. It’s quite clear what testing represents, but what is the distinction between QA and QC? Let’s figure it out. 

According to the definition, QA is a way of preventing mistakes and defects in manufactured products and avoiding problems when delivering solutions or services to customers. 

So, QA is responsible for the whole development process, which is why it should be integrated into all stages: starting from project description to the testing phase, release, and even post-release support. QA specialists create and release sundry tactics to enhance the quality at all development tiers: preparation and adjustment of standards, quality analyze, choose of tools, prevention of errors occurrence and constant process improvement. QA is a set of arrangements that embrace all technological aspects at all stages of the product development, delivery and commission software systems in order to ensure necessary product quality level. To a great extent, it focuses on processes and methods, rather than on direct system testing. It has a process-oriented approach and preventive nature. In other words, quality assurance provides correct and predictable process. 

QC is a process by which entities review the quality of all factors involved in production.

Purpose of QC is to detect the errors and resolve them. The core task of QC is to support product quality at the given time; it oriented on checkup of the product, and comprise many processes in itself, such as code review, technical observes, design analyze and etc. QC focuses on successful running of the programme and detecting the bugs with a help of approved processes and methods. It implies a product-oriented approach and performs a corrective function. In a nutshell, quality control envisages regulation of compliance to approved procedure requirements.

Testing is a procedure aimed at finding out if the final product complies to the stakeholders’ requirements.

Testing represents the execution of test cases, detecting and localization of the errors. It encompasses a product-oriented approach and preventive nature.

To be more understandable, let’s take an analogy with the construction of a bicycle, for example. Within QA stage it is necessary to provide compliance of all fractions to the defined quality standards, starting from planning and creation of blueprints to the assembling of a ready-made bicycle. Thus, at this point, an attention to the object quality is paid before it even created.

Meanwhile, QC is checking up the quality of already constructed details, e.g. does the bicycle gears are shifting correctly, or does the breaks provides controllable speed reduction function till the full stop. 

And finally, testing is intended to provide a collection of statistic data and enter it into the documentation, that was formed within QC processes. With a help of testing, it is possible to define if all the details and entire bicycle as itself works as it is expected. Here, we verify if the right materials were used (what kind of metal or alloy), were the correct methods and tools applied or not. 

As we can see, all these concepts have distinctions in regard to their purposes. Each of them performs in different stages of product development lifetime. Despite all actions has the common endpoint - to release a quality product; still, they reach their goal in a bit different ways.