质量保证 vs 质量控制 (QA vs QC)

FAQ- 软件测试 Company

质量保证 vs 质量控制 (QA vs QC)

This article provides clarity on the often confusion in the IT industry regarding the difference between quality assurance (QA) and quality control (QC). Many QA teams, in fact, practice quality control. But let’s briefly discuss why Quality is a must property of software 应用程序s nowadays.

It has always been known that the success of any software product, 应用程序, and/or service relies greatly upon users’ satisfaction. Users are satisfied just when they have their requirements/needs met and associated with all relevant quality factors (Correctness, 可用性, 可靠性, 效率, 完整性, 等.) to enhance their journey using the software 应用程序.

In any typical IT project, there are four significant constraints that need to be worked out during project execution. These four requirements are scope, time, cost, and quality.


In terms of importance, experience has proven that quality ranks second after scope. Simply because if a software 应用程序 is delivered within the given cutoff time, scope and cost but lacks the quality factors would lead to unhappy users and consequently business loss. Organizations usually get rectified by adding more time and budget to cover for the needed correction and rework.

Quality terms can be segmented into two categories – assurance/control – based on the scope and type of activities involved. The confusion between both categories can be clarified by the following definitions.

What is 质量保证?

质量保证 is a strategy of prevention. This means that QA covers all activities that are related to planning, 定义, and designing work policies, 流程, and procedures for the team to follow during the software development lifecycle in order to prevent producing errors, 问题, 或缺陷.

This set of 流程 helps minimize or even avoid result variation (due to technologies, 工具, 人力资源, 等.) and ensures that the acceptable level of quality is always achieved. Therefore, if there is no need for a process, there is no role for quality assurance.

Examples of QA deliverables:

  • Development methodologies
  • 评估过程
  • Requirements definition 流程
  • Testing 流程 and standards

什么是质量控制?

Quality control is a strategy of detection. This means that QC activities focus on identifying defects in the actual software produced. These activities begin at the start of the software development process with reviews of requirements and continue until all 应用程序 testing is complete.


Therefore, it is possible to have quality control without quality assurance. 例如, a test team may be in place to conduct 应用程序 testing at the end of development, regardless of whether that 应用程序 is produced using a software development methodology.


Examples of QC deliverables:

  • Requirement Review Reports
  • Testing Execution Reports
  • 测试用例套件
  • 缺陷列表

Summary: Difference between 质量保证 (QA) and 质量控制 (QC)

质量保证

质量控制

QA activities aim to prevent defects

QC activities aim to detect defects

It is a proactive measure

It is a reactive measure

QA identifies weaknesses in a process to improve it

QC identifies defects in an 应用程序 or service to have them fixed

QA is concerned with all 应用程序s that will ever be developed by a process.

QC relates to a specific 应用程序 or service.

Types of 软件测试

Based on what was explained earlier in this article, 软件测试 is one of the main activities under the umbrella of 质量控制. 软件测试 is segmented into two categories; functional and non-functional.

功能测试 – validate the 应用程序’s compliance with its functional requirements and design specifications. The various techniques under this testing type focus on validating that 应用程序’s functionalities are met and work as expected without 问题.

Some of the main functional testing techniques are:

  • 单元测试
  • Component Testing (Whitebox)
  • Integration Testing (Greybox)
  • System Testing (Blackbox)
  • 手机测试
  • Omnichannel测试
  • 错误处理测试
  • 回归测试
  • Business As Usual Testing (BAU)
  • User Acceptance Testing (UAT)

非功能性测试 – validate the 应用程序’s compliance with technology, 安全, 操作, digital standard and best practices.  functional requirements and design specifications. The various techniques under this testing type focus on validating that 应用程序’s non-functional requirements are met and work as expected without 问题.

Some of the main non-functional testing techniques are:

  • 可用性
  • 兼容性
  • 本地化
  • 个性化
  • 性能
  • 负载/压力
  • 安全
  • 可伸缩性
友情链接: 1 2 3 4 5 6 7 8 9 10