“测试”和“质量保证”有什么区别?

软件测试 术语
2022-01-11 16:52:14

"testing"有区别"quality assurance"吗?如果是这样,每个过程的主要目标是什么?关键的区别是什么?

4个回答

有一篇有用的博客文章解释了质量保证和质量控制之间的历史区别。我建议后者是我们称之为“测试”的适当别名

实质上,作者总结如下:

  • 质量保证 - 通过检查和测试过程来预防故障

  • 质量控制 - 通过检查和测试产品来检测故障

我会说最好的描述是测试是 QA 的一个子集。

您的测试目标是确保满足功能要求指标这可能是计算性能、每次操作的点击次数、用户吞吐量、功能完整性、缺陷率等。

质量保证是一个更广泛的目标,它只是询问“客户会对此感到满意吗?” 显然,您需要满足测试中详述的指标和要求才能实现这一目标。但是测试无法涵盖某些情感方面。漂亮吗?是否具有创新性?它能完成工作吗?(它可以满足所有要求,但仍然无法完成工作!)

免责声明:这只是我对这两个概念的解释。它可能与 SQA 社区中的不同,也可能与大多数人的意见不同。

编辑:我将三个单词/短语加粗为 tl;dr

软件中没有质量保证或控制之类的东西。(不幸的是,大多数测试人员似乎都没有明白这一点。)

质量保证和质量控制都来自制造,您可以通过保留有缺陷的产品或修复流程来实际地确保客户不会收到不良产品(或者更确切地说是减少他们收到不良产品的机会)。这可以通过精益制造、六西格码等来完成。请原谅我,我没有及时了解流程和制造改进!

这通常不能在软件中完成。软件开发更像是更直观、更独特的设计,而不是像制造一样一遍又一遍地生产同一件作品。测试人员无法断言控制或保证质量。我们所能做的不是断言控制,而是指出我们发现的问题,并与开发人员、技术主管等一起解决这些问题。通常我们不能强迫他们解决所有问题,只要一个被团队一致认为足够高的问题(希望如此)。

由于我们无法控制质量(我们通常不修复错误),我们如何保证质量?我们没有!我们永远不知道还有多少缺陷或它们可能有多严重。那么为什么要使用没有传达真实含义的标题呢?

软件测试意味着我们在应用我们的知识、经验和判断来发现问题的同时学习和探索系统。

这是一个很好的链接。

一般来说,至少在我的专业水坑中,测试是指敲打产品直到它破裂的活动。这是大多数人认为直观且易于掌握的 QA 部分。

质量保证是发现问题(测试)、记录问题、验证修复的整个过程,最重要的是,改进开发和测试过程,以减少将来出现的错误。

例如,QA 将包括确保将代码从一个版本合并到另一个版本是按照某些标准完成的,而直接测试不包括这些标准。

基本上,质量保证应该是关于改进过程,而不仅仅是结果。