Quality Contol vs Quality Assurance vs Testing. What is the difference?

Arine Baghdasaryan
Fintegro Company Inc
4 min readMar 25, 2019

Many people and organizations 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.

In fact, testing and QC are included in QA, so the usual “matryoshka” will be the simplest comparison.

Let’s start with QUALITY ASSURANCE

Quality assurance is a set of measures covering all technological stages of development, release, and operation of software to ensure the quality of the product. If a little easier, then this is the brain center of decision-making in teams to ensure the quality of products, our biggest matryoshka.

The quality assurance process consists of:

  • Checks specifications and software requirements.
  • Risk assessment.
  • Planning tasks to improve product quality.
  • Preparation of test documentation (time limit, approach, test plan, checklist), test environments and data. Compared to QC and testing at this stage, an effective model and sequence of conducting various product tests are being developed, and tools and scenarios are described that will provide the necessary level of functionality coverage.
  • Testing and verification of requirements and specifications.
  • Product testing process.
  • Analysis of test results, reporting, and other acceptance documents

The QA manager should understand exactly at what point the tester will connect to the project, and have time to prepare a testing plan, test documentation, environment by this time. In addition, he must have a couple of skills of other team members:

From the marketer — an understanding of the target audience and the market.

From the programmer — at least a superficial understanding of the code and technical limitations for the implementation of the functional.

From PM — a holistic perception of all parts of the project, an understanding of the timing, milestones, and iterations of the project life cycle.

Thus, we found out that QA, in addition, to directly testing and evaluating the quality of a product, is a series of both organizational measures for planning and shaping the approach, and preparatory activities. All this allows achieving a high quality of the product, artifacts and directly the whole process of attracting the testing team.

QUALITY CONTROL

Inside the QA doll is a QC. This is a check of the current state of the test object using criteria such as:

  • The degree of readiness of the product to release.
  • Compliance with the requirements.
  • Compliance with the declared quality level of the project.

Thus, the main front of the work of the QC-manager consists of intermediate and final results of development. This is generally controlled as follows:

  • Checks the functionality of the requirements.
  • Analyzed documentation for compliance with the standards of writing, content, and format. You can check the test documentation and specification, as well as the project schedule.
  • A review of the code is made regarding the adequacy of programming standards, architectural documentation, security requirements, etc.

That is, the purpose of QC events is to provide relevant and timely cuts on quality based on various methods of its calculation, depending on the stage of product development and the number and priority of defects found.

TESTING

Testing is the verification of the conformity of the product being created to requirements, carried out by analyzing its work under special conditions selected in a certain way.

The general scheme of testing looks like this:

1. The tester receives the product and/or input requirements.

2. He creates tests and observes the behavior of the program in certain conditions.

3. The tester receives data on compliance and non-conformity of the product’s behavior with the specifications. After that, he documents this in the form of a description of defects, filling in test documentation.

4. The information obtained is used to improve the product or change the requirements by making modifications to the code.

In the process of testing, the specialist manages the execution of the program and creates conditions for observing the behavior of the product, comparing reality with the expected situation.

He is able to determine what caused the error, or at least knows where to look for it. Including standard practice is the use of auxiliary tools and internal capabilities of the development platform, control of application logs, work with the database.

In principle, all these 3 roles can be combined into one — this is not bad for small projects, but when either the number of small projects grows or we have a very large project, I would prefer to single out all 3 roles (testers, quality control engineers and quality assurance).

Also often, the role of QC can be played by well-constructed diagrams: test results, diagrams of open bugs in terms of released builds, etc., based on which, QA can make independent quality assessments.

By the way, for successful Software Testing, the team of Fintegro Company Inc. can always come to the aid and make your project perfect!

Keep tuned to our updates!

Share your thoughts with us in comments or via our social media:

LinkedIn: https://www.linkedin.com/company/fintegro-company-inc

Twitter: https://twitter.com/fintegro

Facebook: https://www.facebook.com/fintegro

--

--

Arine Baghdasaryan
Fintegro Company Inc

Research Specialist at Fintegro Company Inc. Interested in QA, Startups, travelling, books and learning foreign languages ;)