top of page

What is the difference between QA, QC, and Testing?


ISTQB definition:

Quality assurance - is a part of quality management focused on providing confidence that quality requirements will be fulfilled. Quality assurance is actually one part of a larger concept, quality management, which refers to all activities that direct and control an organization with regard to quality in all aspects. Quality assurance is associated with ensuring that a company’s standard ways of performing various tasks are carried out correctly. The idea is that if processes are carried out correctly, then the products produced will be of higher quality.

Quality control is concerned with the quality of products rather than processes, to ensure that they have achieved the desired level of quality.


Human language:

Before getting the main key differences between quality assurance and quality control, let's consider each of these definitions separately.


Quality Assurance (QA) - is part of quality management focused on providing confidence that quality requirements will be fulfilled. Quality assurance activities are focused on the processes followed to create the deliverable and to ensure that an organization is providing the best possible product or service to customers. It means Quality Assurance ensures that the approaches, techniques, methods, and processes designed for the projects are implemented correctly.

QA does not assure quality, rather it creates and ensures the processes are being followed to assure quality. Quality affects not only software development but also human resources (HR) procedures, delivery processes, and even the way people answer the company’s telephones. Quality management consists of a number of activities, including quality assurance and quality control. Root cause analysis and retrospectives are used to help to improve processes for more effective quality assurance.


Quality Control (QC) - the operational techniques and activities, part of quality management, that focused on fulfilling quality requirements. Quality Control activities monitor and verify that the project deliverables meet the defined quality standards. It means the QC ensures that the approaches, techniques, methods, and processes designed in the project are followed correctly. Quality Control does not control quality, rather it measures quality.


Testing is looking at work products, including software, so it is actually a quality control activity rather than a quality assurance activity, despite common usage. Testing should be integrated into a complete, team-wide, and development process-wide set of activities for quality assurance.


The difference between Quality Control and Quality Assurance are:

  • QA is the process to create the deliverables VS QC is the process to verify the deliverables;

  • A QA's aim is to prevent the defect, VS A QC's aim is to identify and fix the defects;

  • QA means planning for doing a process VS QC means action for executing the planned process;

  • QA makes sure you are doing the right things VS QC makes sure the results of what you've done are what you expected;

  • QA does not involve executing the program, VS QC always involves executing the program;

  • All team members are responsible for QA VS Testing team is responsible for QC;

  • QA is responsible for the full software development life cycle, VS QC is responsible for the software testing life cycle;

  • It is a method to manage the quality - Verification VS QC It is a method to verify the quality - Validation;

  • The Statistical Technique used in QA is known as Statistical Process Control (SPC.) VS Statistical Technique used in QC is known as Statistical Quality Control (SPC.). While they have similar intentions, QA and QC take different approaches to ensure customers receive a high-quality product.

Life example:

Let's take a look at the QA and QC activities in the example: Imagine that we are developing the registration for the application: Food Delivery. We have our restaurants in 5 cities.

Our requirements for the application:

  • 1. User is able to make registration on the devices: Desktop, Android Mobile, iOS Mobile;

  • 2. Registration form consists of fields: First name, Second name, Email, Password, City, and Phone number. As you can see, there are very basic requirements, from which we have to find out lots of things from our customers for example:

  • 1. What is the registration flow on each device, since the implementation has its differences depending on the platform?;

  • 2. What kind of validation do we have on the fields of the registration form? And so on.

Then we have to select the corresponding development and test approach, technique, and methods, start the process of development and testing and verify if we follow all of these things and if these things will lead us to the desired result. This is our QA Process. As you may have noticed, these processes began long before we launched our application.


Now imagine that we have decided on all aspects of our development and testing process, and developed our registration according to the requirements defined and adjusted during the development process. And our next step is to check whether our developed registration meets the requirements set for it, for this, we carry out such a process as Quality Control. During this process, we for example create test cases according to the requirements and design, run test cases, verify bug fixes, etc.

Conclusion:

So, if you are asked at an interview: What is the difference between QA and QC? The best way to answer is:

The difference between Quality Control and Quality Assurance are:

  • QA is the process to create the deliverables VS QC is the process to verify the deliverables;

  • A QA's aim is to prevent the defect, VS A QC's aim is to identify and fix the defects;

  • QA means planning for doing a process VS QC means action for executing the planned process;

  • QA makes sure you are doing the right things VS QC makes sure the results of what you've done are what you expected;

  • QA does not involve executing the program, VS QC always involves executing the program;

  • All team members are responsible for QA VS Testing team is responsible for QC;

  • QA is responsible for the full software development life cycle, VS QC is responsible for the software testing life cycle;

  • It is a method to manage the quality - Verification VS QC It is a method to verify the quality - Validation;

  • The Statistical Technique used in QA is known as Statistical Process Control (SPC.) VS Statistical Technique used in QC is known as Statistical Quality Control (SPC.). While they have similar intentions, QA and QC take different approaches to ensure customers receive a high-quality product.

443 views

Recent Posts

See All
bottom of page