June 28, 2016
Quality Assurance vs Quality Control: Know the Differences
The terms quality assurance, quality control and quality management are usually used interchangeably. As a test manager or project manager, it is important to understand the differences between these terminologies so that you know what exactly are you talking about with your client and team members.
So let’s get this straight:
What is Quality Assurance?
Quality Assurance is the set of activities that determine the procedures and standards to develop a product.
What is Quality Control?
Quality Control refers to the activities and techniques to verify that the developed product is in conformance with the requirements. The ultimate output of both processes is to deliver a quality product.
Are you also confused with quality assurance vs quality control in software testing? No problem! Keep reading to know the difference.
Understanding Quality Management
Quality Management is a much broader field that ensures the required level of quality is achieved in software product. You can create a standard quality management approach for your organization. It has four main sub processes: quality assurance, quality planning, quality control and quality improvement.
Software Quality Assurance, QA, is a planned and systematic way of creating an environment to assure that the software product being developed meets the quality requirements.
QA refers to the implementation of well-defined standard practices and methods. It is a pro-active quality process. This process is controlled and determined at managerial level. Quality assurance focuses on the process checklists, process standards, project audits, methodology and procedures for development.
It is a preventive process that aims at establishing the correct methodology and standards to provide a quality conducive environment to the product being developed.
In this sub process, quality assurance plan is created for a particular project. In the quality assurance plan, organizational standards are selected which are applicable to a project. It should also involve the plan for quality control.
Quality assurance planning details out what QC activities are performed, when the QC activities are performed and who will perform those. It also contains details of resource required, tools and techniques to be used for performing quality control.
Quality Control, QC, is the set of activities that control the quality of product being developed by identifying any bugs that might be present.
Quality control process is a subset that falls under the quality assurance. It is a corrective process. The task of actual testing is performed to find out and identify the bugs present in the product. The bugs are raised to the developers, who then try to fix them.
After fixes, the product is verified again such that the functionalities and features are working as required. QC process assures that that the product being developed is of the required quality. Examples of quality control activities include inspection, deliverable peer reviews and the software testing process.
Quality improvement is a formal approach to analyse the feedback received from the quality control team. In this process efforts are put systematically to identify any room of improvements in the existing standards and procedures. The target is to improve the process that establish the standards of quality in the organization.
What are the Differences between Quality Assurance and Quality Control?
“The primary difference between quality assurance vs quality control is that the quality assurance activities are conducted during the software development. Quality control activities are performed after the software has been developed.”
We have listed down the differences between quality assurance and quality control to further clarify your concept:
|Quality Assurance||Quality Control|
|Definition||QA is the implementation of processes, methodologies and standards that ensure that the software developed will be up to the required quality standards.||QC is the set of activities that are carried out to verify the developed product meets the required standards.|
|Target||QA focuses on the improvement of process and methodologies used to develop product.||QC focuses on the improvement of the product by identifying the bugs and issues.|
|Orientation||It is process oriented.||It is product oriented.|
|Nature of process||QA is preventive process as it establishes the methods which prevent the bugs.||QC is corrective process as it focuses on identifying the bugs and getting them fixed.|
|Verification vs Validation||Quality Assurance is a verification activity that verifies you are doing the right thing in the right manner.||Quality assurances is a validation activity that validates the product against the requirements.|
|Who||All the persons involved in the project starting from the requirement.||It is the responsibility of Quality Control inspector or the testing team that finds the issues.|
|Tools and Techniques||Defining Processes, Quality Audit, Selection of Tools, Training.||Defining Processes, Quality Audit, Selection of Tools, Training.|
|Examples||Examples of quality assurance activities include process checklists, process standards, process documentation and project audit.||Examples of quality control activities include inspection, deliverable peer reviews and the software testing process.|
You may like to read more about the quality assurance vs quality control.
Quality Assurance vs Quality Control Tools and Techniques
You are probably wondering what is the difference between tools and techniques, when we talk about quality assurance vs quality control. Well, we have listed down the tools and techniques for QA and QC separately so that you can understand and distinguish between them easily.
Quality Assurance Techniques
The characteristic feature of software quality assurance is defining the organizational processes and standards. The process shall serve as a guideline and improve over time.
It is critical that the organizational standards are defined by experts as it will lay the foundation of quality assurance and assures development of reliable, quality products. You can also refer to the IEEE Standard for Quality Assurance Processes.
The standard is harmonized with the software life cycle process and contains requirements for initiating, planning, controlling and executing the Software Quality Assurance.
Quality audit is a quality assurance technique that examines the work products and evaluate whether the software product has followed the standards, guidelines, regulations, plans and procedures. It a systematic approach to examine all the required procedures and standards were considered at the time of product development and testing.
Selection of Tools
The following tools are indispensable while you are setting up the quality assurance process for your organization:
1. Cost-Benefit Analysis
Cost benefit analysis is a systematic approach of evaluating an investment against its expected benefits. It is used to determine whether the investment is feasible in terms of labour, time and cost savings.
2. Cause and Effect Diagrams
Cause and Effect diagram is also known as ‘Fishbone’ or ‘Ishikawa’ diagram. This technique uses brainstorming with mind mapping on a diagram and compels you to think of all the possible causes to a problem. Once you have identified the root cause, you will be able to find the right solution for it.
3. Control Charts
Control charts are used to analyse performance trends of process over time. It is an important tool to determine if you need to make any fundamental changes to the process and avoid specific problems.
4. Cost of Quality
There can be two types of cost of quality. The cost of poor quality affects the internal and external costs resulting from failing to meet requirements. On the other hand, the cost of good quality includes the prevention costs for investing in services and appraisal of product.
Benchmarking is the process of measuring performance to standard metrics and practices.
6. Design of Experiments
It is systematic approach carried under controlled conditions to determine the relationship between factors affecting a process and the output of the process. It is used to manage process in order to analyse which input has the significant impact and what steps can be taken to optimize the output.
A quality culture should be established where everyone feels responsible for maintaining the quality of product.
Quality Control Techniques
Quality Control Reviews
One of the popular techniques for quality control is the Quality Reviews. According to Wikipedia, a software review can be defined as:
“A process or meeting during which a software product is examined by project personnel, managers, users, customers, user representatives, or other interested parties for comment or approval.”
The product to be reviewed is an outcome of any software development activity. Quality reviews are conducted to review the project plans, requirements documents, design documents, quality assurance plan, test documents and code.
The people reviewing the software products give their feedback which is recorded and passed to the concerned person for incorporating the changes.
Roles and Responsibilities in QC Review
In a review, the roles and responsibilities can be classified as:
- Moderator leads the review process. He determines the type of review and the attendees. He is responsible for disbursing the needed information and documents to the team members.
- He is the writer of the software product under review. His role is to describe unclear areas to team members and understand the required changes as suggested by reviewers.
- He is the person responsible for recording the issues found and noting down any suggestions or feedback for process improvement.
- Reviewer is the expert who reviews the software product, identify the issues and suggest improvements.
Types of Reviews
Management reviews are conducted by the upper management to see the amount of work done and take required decisions accordingly.
Technical reviews are a less formal type of quality control review, which is led by trained moderators. Technical reviews are conducted to establish consistency in the use of technical concepts. It is conducted at an early stage to verify that the technical standards and practices are used correctly. Any alternatives options for the product are also evaluated in the technical quality control review.
A walk-through is a type of quality control review in which the author of product leads the review session and presents his thought process to the entire team. The product to be reviewed is thoroughly explained and the feedback is gathered from the audience.
Walk-throughs are usually conducted for the high level documents such as specifications documents, design documents. Walk-throughs are useful especially if the audience is people who do not understand the software easily.
The main objectives of a walk-through are:
- Establish a common understanding and gain feedback from stakeholders
- Discuss the validity of proposed solutions
- Evaluation of the software product
Inspection is a formal review practice found in software testing practices to identify defects and issues. It is a planned meeting in which roles are defined to each participant. Inspection is a quality control process to check whether the software product is in compliance with the required specifications and standards. Defects are logged if any non-compliance is found.
The main target of inspection is to find defects as early as possible. An estimate of re-work effort is also taken as the output of this QC process. Inspection is conducted for design documents, specification documents, test documents and the code.
Software testing techniques are a major tool of the quality control process. There are several software testing techniques such as functional testing, black box testing, usability testing, exploratory testing, compatibility testing, regression testing.
You may like to read further about software testing techniques:
- Guide to software testing process
- Advanced software testing techniques
- Recovery Testing
- Compatibility Testing
- Exploratory Testing
In this article, we’ve analysed the big difference between quality assurance vs quality control. Quality assurance is the implementation of standardized procedures whereas quality control is following those procedures and techniques to assure the deliverable is of required quality.
The processes of quality assurance, quality planning, quality control and quality improvement make up the bigger process of Quality Management. We have also discussed various tools and techniques used for establishing quality assurance and quality control.
Now It’s Your Turn
I hope this article finally resolves the confusion surrounding quality assurance vs quality control. Now you can communicate confidently while using the terms and know what exactly you or the client is referring to. Moreover, you are now equipped with the tools and techniques used for QA and QC process.
Start implementing these techniques and improve the quality assurance and quality control process in your organization. Let us know about your success with those in the comment section below.