软件测试 - QA、QC和测试



测试、质量保证和质量控制

许多人在区分质量保证、质量控制和测试方面感到困惑。虽然它们之间相互关联,在某种程度上可以认为是相同的活动,但它们也存在一些区别点。下表列出了区分QA、QC和测试的要点。

质量保证 (QA) 质量控制 (QC) 测试
QA包括确保在验证已开发软件和预期需求的上下文中实施流程、程序和标准的活动。 它包括确保根据已记录(或在某些情况下未记录)的需求验证已开发软件的活动。 它包括确保识别软件中错误/缺陷的活动。
侧重于流程和程序,而不是对系统进行实际测试。 侧重于通过执行软件来识别错误/缺陷,目标是通过实施程序和流程来识别bug/缺陷。 侧重于实际测试。
面向流程的活动。 面向产品的活动。 面向产品的活动。
预防性活动。 这是一个纠正过程。 这是一个预防性过程。
它是软件测试生命周期 (STLC) 的一个子集。 QC可以被认为是质量保证的子集。 测试是质量控制的子集。

审核和检查

**审核** - 这是一个系统化的过程,用于确定组织或团队内实际测试过程是如何进行的。通常,它是对软件测试过程中涉及的流程进行的独立审查。根据IEEE的定义,它是对组织实施和遵循的已记录流程的审查。审核类型包括法律合规性审核、内部审核和系统审核。

**检查** - 这是一种正式的技术,它涉及通过识别任何错误或差距来对任何工件进行正式或非正式的技术审查。根据IEEE94的定义,检查是一种正式的评估技术,其中软件需求、设计或代码由作者以外的人员或小组详细检查,以检测缺陷、违反开发标准和其他问题。

正式检查会议可能包括以下流程:计划、概述准备、检查会议、返工和后续。

测试和调试

**测试** - 它涉及识别软件中的错误/缺陷,而无需对其进行纠正。通常,具有质量保证背景的专业人员参与错误识别。测试在测试阶段进行。

**调试** - 它涉及识别、隔离和修复问题/错误。编写软件的开发人员在代码中遇到错误时会进行调试。调试是白盒测试或单元测试的一部分。调试可以在开发阶段进行单元测试时进行,也可以在修复报告的错误时进行。

广告