What is The Quality Assurance Process?

 / June 23, 2020

A software development team does not only include developers, but also other members such as project managers, business analysts, or UI/UX designers. However, the project scope will decide who should be chosen in a team. Small and medium-sized projects often require some members to take many responsibilities which should be assigned to different positions in large-scale projects with an enormous workload.

Typically, QC (Quality control) managers or leaders in SMBs are in charge of the quality assurance process (PQA), while in larger corporate, quality assurance specialists are employed to plan processes or standards for all project teams. 

quality assurance
Role of quality assurance specialist in a team (Source: Promikos)

In effect, no matter who fulfills this mission, assuring quality is still implemented in the same way and plays an integral part in software development. To clarify this term, this blog post from Designveloper will give you detailed information about its concept and process.

1. Definition of Quality Assurance (QA)

Quality assurance (QA) is a process-driven activity of suggesting and executing procedures or standards based on available management models (e.g. ISO 9000 or CMMI) or Agile frameworks (e.g. Lean and Scrum development). It uses a set of techniques and tools with the main goal of examining the production process and making any changes if necessary to ensure project quality requirements and to prevent defects. That is why QA is in nature a preventive approach to enhance process quality.

quality assurance
What is quality assurance? (Source: Enhance learn)

However, many people still confuse quality assurance (QA) with quality control (QC) although both are parts of quality management. Quality control (QC) is actually a product-oriented process in which the finished product will be examined by manual and automatic testing to ensure it meets engineering specifications before release. Any detected flaws after testing will be eliminated and fixed. So QC is also known as a corrective process to improve product quality.

Today, many companies mistakenly place their quality assurance specialist in charge of quality control while both QA and QC require different skills. Thus product owners should be well-informed about the separate duties of each job to avoid poor performance. Particularly, in a project, a QA engineer will plan suitable processes for software development, including the Testing phase in which QC engineers will use different tools and follow available standards to test products. The former will test how well the latter goes through the process, then modify it if needed and report the results to the Project Manager. Meanwhile, QC employees present testing results to QC Lead or Manager. 

Recommended reading: UX Design Process: What You Need To Know

2. Process of Quality Assurance

Process of Quality Assurance
Process of Quality Assurance

To better the understanding of QA, we need to look through how it works. Normally, a quality assurance specialist often uses the PDCA cycle or Deming wheel developed by Edward W. Deming to assure quality. The process includes four repetitive stages as follows:

Step 1: Plan

In this first important step, a QA technician will set clear objectives to make high-quality end products and propose appropriate processes to implement those goals. Also, he needs to predict any possible problems that can arise during the development phase and their causes.

Step 2: Do

As the name states, this phase allows execution of procedures that were chosen in the previous stage. Changes can be made and tested very often before data are collected to see how effectively those adjustments work. Yet they should be conducted on a small scale and at a controllable level.

Step 3: Check

The results of those small modifications will be assessed and compared with desired outcomes to conclude similarities and differences between them. Analyzing such data will help to identify whether they meet expectations. If yes, QA experts can continue with the final step. But when the answer is “NO,” they have to come back to the first step. In case the PDCA framework is repeated, data and results should be recorded in a chart to see whether those changes work better.

Step 4: Act or Adjust

It is time to act on what technicians explored and applied changes to the project. Of course, nothing ensures that no new problems or bugs appear during the execution phase. So this PDCA cycle can be repeated to make quality improvements.

Recommended reading: Software Project Management Best Practices

3. Quality assurance methods

To ensure a QA process works well, some essential tools and techniques are often used:

Defining processes

Identifying organizational procedures and standards play a vital role in the first stage of a project. Those processes will guide a whole development team to go on the right path and can be modified over time to meet expectations. Meanwhile, such standards as IEEE or ISO 9000 will be a foundation for the QA process to guarantee desired products by setting requirements to initiate, plan, manage and implement the procedure.

Quality audit

This systematic method is employed to determine how all defined processes and standards work during the development and design period. Also, it tests and evaluates whether software products comply with those standards, procedures, and plans.

quality assurance
Process quality audit (Source: Medium)
1. Best Platforms To Work From Home More Productively
2. What is a Front-end Developer and How to Become One?
3. How to become a full-stack developer?

Tool/methodology selection

Picking up suitable tools is not less important. Different projects will require different tools for building software, below are some of the essential ones to set up the QA process effectively:

1. Cost of Quality (CQQ)

This term does not refer to how much companies should spend on building a quality product. By contrast, CQQ is a methodology referring to what they lost when failing to produce good software. Thus, there are four categories of quality costs:

  • External failure costs: occur when the software is delivered to customers. In this case, companies have to pay extra to deal with complaints and negative feedback.
  • Internal failure costs are related to flaws discovered before the software delivery.
  • Appraisal costs (or Inspection costs) arise when companies spend money on testing or auditing quality to ensure that products follow processes and standards.
  • Prevention costs are associated with prevention activities that stop defects from appearing again. 

2. Control Charts

QA engineers often use control charts to see process changes, then examine how stable it is by comparing current results with historical data in the graph. Moreover, it lays a foundation to anticipate possible outcome ranges and determine whether a project should make basic modifications or prevent certain problems.

3. Benchmarking

Benchmarking is a very popular quality improvement tool that uses main performance metrics to discover the strengths and weaknesses of processes. It then compares current procedures with those of competitors or with historic data before QA experts suggest proper actions for bettering the quality.

4. Cost-Benefit Analysis

Simply speaking, this technique identifies the feasibility of projects by calculating the cost-benefit ratio. If expenses outweigh profits companies will receive, the investment in workforce and time will be a waste.

5. Cause and Effect Diagrams

Also known as Fishbone or Ishikawa diagram, this method requires members to brainstorm with the goal of outlining all potential causes of problems.

6. Design of Experiments

This approach helps technicians to observe relationships between input factors and desired products – or in other words – which elements significantly affect outputs. Therefore, suitable solutions will be taken to optimize end items.

Recommended reading: Software Engineering Project Management Methodology

Establishing an effective quality assurance process is a precondition to make sure every part of the software development works smoothly. This work is often controlled at a managerial level and requires engineers to have a wealth of IT knowledge about software systems. So companies need to distinguish QA from QC unless they want to allocate the wrong job to the wrong person, consequently leading to the project failure.

Also published on

Share post on




If not form, brief us


Tell us on Skype


Tell us about your idea

Your personal information
What's type of your projects?

Get in touch

Simply register below to receive our weekly newsletters with the newest blog posts