"testing"
和"quality assurance"
之间有区别吗?如果是这样,每个过程的主要目标是什么?关键区别是什么?#1 楼
有一篇有用的博客文章解释了质量保证和质量控制之间的历史区别。我建议后者是我们所谓的“测试”的适当别名。link
archive.org链接
本质上,作者总结为:
质量保证-通过检查和测试过程来预防故障
质量控制-通过检查和测试产品来发现故障
/>
评论
两者都不起作用
–迈克尔·杜兰特(Michael Durrant)
2015年12月9日,11:33
#2 楼
我会说最好的描述是测试是质量检查的子集。您的测试目标是确保满足功能要求和指标。这可能是计算性能,每次操作点击次数,用户吞吐量,功能完整性,缺陷率等。对此感到满意吗?”显然,您需要满足测试中详述的指标和要求才能实现此目的。但是测试无法涵盖某些情感方面。漂亮吗它是创新的吗?完成工作了吗? (它可以满足所有要求,但仍无法完成工作!)免责声明:这只是我对这两个概念的解释。它可能不同于SQA社区中的人,也可能不同于大多数人的意见。
评论
我同意这个答案,而我将测试作为质量检查想法的一部分,就更进一步了-正如迈克尔·博尔顿(Michael Bolton)所说,作为一名测试员,您不负责项目预算,人员配备,期限等-所有这些对质量的影响。正如我所看到的,测试人员向决定软件状态的人员提供信息
– DuncN
2011年10月21日在19:56
“它可以满足所有要求,但仍无法完成工作。”很好说。
–尔凡
16年5月17日在23:04
#3 楼
软件中没有质量保证或控制之类的东西。 (不幸的是,大多数测试人员似乎都没有做到这一点。)质量保证和质量控制都来自制造业,您可以从物理上确保客户不会收到不良产品(或者减少他们获得产品的机会) ),扣留有缺陷的产品或修复该过程。这可以通过精益生产,六西格码(Six Sigma)等完成。-原谅我,我还没有掌握最新的工艺和制造改进信息!
这通常不能在软件中完成。软件开发更像是设计,它更直观,更独特,而不太像制造业,您需要一遍又一遍地生产同一件产品。测试人员无法断言控制或确保质量。除了断言控制,我们所能做的就是指出我们发现的问题,并与开发人员,技术负责人等合作解决这些问题。通常,我们不能强迫他们解决所有问题,只有团队一致认为(希望如此)足够高。
由于我们无法控制质量(我们通常不修复错误),我们如何确保质量?我们不!我们永远不知道还剩下多少缺陷或它们可能有多严重。那么,为什么要使用不能传达真实含义的标题呢?
软件测试意味着我们在学习,探索系统的同时,运用我们的知识,经验和判断力来发现问题。
这里是一个很好的链接。
评论
随机切线:涉及标题时,您几乎可以称自己为QA Analyst或QC Analyst或Bug Bounty Hunter(我最喜欢的)。一个有趣的游戏是告诉没有软件经验的人您的头衔是什么。看看哪个人更了解:质量保证或软件测试人员。 =)
–克里斯·肯斯特(Chris Kenst)
2011-10-20 18:35
公平地说,“保证”质量和“保证”质量之间是有区别的。没有人发送用于发布测试的版本,说“此版本中的错误为零”,而是“我们的测试未发现该版本中的错误”。这是建立对构建的信心。至于质量控制,我认为这就是质量控制。您进行测试,发现重大问题,阻止构建进一步发展:您控制构建流程。
–corsiKa♦
11-10-20在21:46
进一步说明,质量不一定没有缺陷:质量就是可以产生客户满意度的质量。作为一名测试人员,您将自己置于客户的脚下,以确定他们是否会对产品感到满意(即使有错误)。如果您由于错误,缺少的关键功能,令人难以置信的键组合或菜单结构或其他任何原因而感到不满意,您可以拒绝继续构建。
–corsiKa♦
11-10-20在21:48
对构建产生信心是很好的,但是您如何拥有这种信心?您是否查看您的测试用例并“一切都通过了,所以我们很好。我完成了!”?这种保证是不真实的,因为您不知道测试覆盖代码或质量的程度。此外,大多数人都不知道如何定义质量。
–克里斯·肯斯特(Chris Kenst)
2011-10-20 22:01
就客户互动而言,正如我所说,质量已经定义:是什么让客户满意。因此,客户不必判断产品,而不必判断他们是否喜欢该产品。就保证不是真实的而言,这就是我们在保证和保证之间进行区分的地方。您不会在上面贴上“ 100%无缺陷”的字样。您在上面贴上一张邮票,上面写着“可能足够好用”。就我和开发人员之间而言,我实际上是一名开发人员,我们必须为测试人员抓住脚踝。
–corsiKa♦
2011-10-20 22:10
#4 楼
通常,至少在我的职业水坑末端,测试是指敲打产品直至其破裂的活动。这是大多数人发现的直观且易于理解的质量检查的一部分。开发和测试过程,以减少将来出现的错误。例如,质量检查将包括确保将代码从一个版本移植到另一个版本已遵循某些标准,而直接测试不会包括。
从根本上说,质量检查应该着眼于改进流程,而不仅仅是结果。
评论
“敲打产品直到破裂”。这个描述让我有点不知所措。
– testerab
11年5月5日在22:31
@testerab:我可以用20,000个词来描述测试,包括功能,UI,数据流和完整性,硬算法,性能,可扩展性等。随着网站的发展,我保证您会从我这里听到所有有关测试的信息。对于这个特定的句子,这就是我想出的。对于任何伤痛感,我深表歉意。
–卡米
2011年5月6日,11:10
我想我认为,作为一项专业,当我们建议测试是一项无意识的任务时,我们确实不会给自己任何好处。
– testerab
11年5月6日在16:59
@testerab:我完全同意。您绝对会发现。我们仍然可以取笑自己。我确实知道您为什么认为这可能会使人们对我们的专业精神感到困惑。
–卡米
2011年5月6日18:47
#5 楼
如果您试图根据职称确定要申请的职位,我认为当前的最佳实践是对所用术语的关注减少,而对公司文化和职位描述的细节更加关注。如果您想与测试人员或质量检查人员进行交流,我认为,当前的最佳做法是使用其他词,以表达与这些短语之一相关联的特定含义,并在要引用时使用任一短语测试或一般质量检查。一个答案(上面给出)是一个关于过程,另一个关于验证功能。在实践中,我认为没有任何熟练的测试人员会声称他们的工作只涉及验证功能,而这个定义具有使“测试人员”变成贬义词的可悲效果。我还看到测试是关于“检查”的,而质量检查是关于一种更有机的方法,包括探索性或临时性测试。这有一个类似的问题。我发现QA /测试人员在流程,功能验证或使用各种方法方面所做的工作与资历而非职务有关。我强烈怀疑地区偏见确实是这两个词之间的主要区别。 “ Tester”在太平洋西北地区(IME)具有良好的氛围,但是“ QA”通常意味着该公司并未真正获得技术。但是,这似乎与大多数人从“测试人员”和“质量检查人员”这两个术语得到的结果几乎相反。这种本地现象可能是微软和亚马逊的影响力,其“ SDET”职位(测试中的软件开发工程师)。这也可能是由于NW技术文化较为随意所致,在这种文化环境中,与面试打成一条领带很可能会减少您在任何大型科技公司工作的机会。 “质量保证”听起来太“像企业”,而且听起来很愚蠢。当我看到这一点时,我认为整个公司都是由官僚经营的。另一方面,“测试人员”更容易说,形式不那么正式,并且不会与其余的首字母缩略词混为一谈。
评论
公司用于特定角色的标题可以很好地指示公司如何看待该角色。例如,如果您认为测试人员和质量检查人员之间存在重大差异,而一家公司正在招聘质量检查人员,则可能不合适。当然知道的唯一方法是与他们交谈。您也许可以更改该视图。
–克里斯·肯斯特(Chris Kenst)
2012年4月19日在18:00
#6 楼
我喜欢用类比来解释质量控制(即测试)和质量保证之间的区别,这是流水线类比。质量控制是指您检查流水线中有什么东西,以验证其是否符合规格。质量保证是您检查组装线中有什么东西的时候。为了进一步解释该类比,请考虑一条流水线,其中100%的生产产品都是有缺陷的:质量控制中的任何失败都意味着有缺陷的产品会逃到您的客户手中。另外,考虑一条流水线,其中100%生产的产品都是“好”产品:质量控制中的任何失败都意味着您将实际上好产品拒之门外。质量控制是装配线末端的守门员-它不检查装配线-只是结果。质量保证的重点是确保流水线本身能够正常工作。像恒温器一样,理想的是验证装配线可以生产出优质的产品。
#7 楼
如今,几乎每个组织都有质量检查部门,负责“测试”软件应用程序以发现并消除错误。但是,对组织中质量检查角色的定义存在根本缺陷。我与之交谈的大多数管理人员都无法理解质量保证和测试之间的区别,并且经常交替使用这些术语。控制(QC)?在讨论质量检查与测试之前,让我们尝试了解什么是质量控制,以及为什么要提出质量控制!生产期间以及产品上线之前出现的问题。这些活动可确保最终交付的产品符合组织设定的规格和质量标准。质量控制通常包括同行评审,“测试”,代码评审等。从理论上讲,可以通过最少的测试来实现质量控制。例如,对源代码进行彻底检查并检查以前已知的问题可以减少出现缺陷的可能性,并且可能足以满足组织设定的质量标准。但是,在大多数情况下,测试是质量控制中最重要的活动,但不是“唯一”活动。
质量控制对于确保应用程序无错误且符合规范和要求极为重要,但是质量控制不一定总是保证质量的最有效方法。这就是质量保证发挥作用的地方。但这是一个即使是最有经验的专业人士也常常会误解的概念。现在,让我们尝试更好地理解它!
注意的关键字是“ processes”。质量检查的范围远远超出了我们所谓的“软件测试团队”。目标是以最有效的方式开发高质量的产品,而仅靠测试是无法实现的。之所以会出现缺陷,是因为某处的某些事物未按需要的方式发生。测试可能有助于检测那些缺陷,但不能避免这些缺陷。一旦找到缺陷,即使找到了根本原因,也无法保证不会再次发生。需要重新设计导致缺陷发生的过程或系统,这就是我们所说的质量保证。
参与端到端开发过程的每个人,包括分析人员,开发人员,测试人员,管理人员等是确保质量的重要角色。实际上,质量检查可能根本不涉及测试。这可能与许多专业人员关于质量检查的典型观念背道而驰。但是可以想象一下:如果一家公司希望降低百万分之一的缺陷率,那么仅进行测试是否能够帮助实现这一目标?答案是否定的,因为在实践中,并非所有缺陷都可以找到并修复。但是,如果审查了开发产品的过程并实施了最佳实践,则可能会减轻测试团队的负担。因此,许多审核员将重点放在遵循流程上,而不是专注于组织所进行的测试量。缺陷并确保质量。质量控制是一系列活动,有助于在产品到达最终客户手中之前检测出缺陷和质量问题。测试是检测这些缺陷的方法之一。
为了提供高质量的产品,组织应该专注于质量检查,而不仅仅是扩大质量控制工作。
#8 楼
测试通常是指检查程序是否符合功能要求。质量检查是一个更广泛的主题,旨在回答“质量是否足以最终发布?”的问题。
评论
我喜欢一句话。我想问一下“最后”的相关性。我希望质量检查人员在Alpha,私有Beta和公开Beta版本的应用程序准备中也能有发言权。
–corsiKa♦
2011年5月5日在18:24
这是测试的狭窄定义。 “通常指”是什么意思?
– testerab
2011年5月9日23:45
因此,您是说测试仅是检查(或仅是测试=检查)?我以为测试和检查有所不同?
–克里斯·肯斯特(Chris Kenst)
2012年3月24日16:05
#9 楼
我认为这个问题有两个答案,教科书答案和“现实中”答案。常用用法答案
个人而言,我认为大多数人倾向于可以互换使用这些术语来表示同一件事。我认为通常这样做的人是与IT一起工作的,但不像企业用户那样是IT本身的一部分。 br />
质量保证是对项目,服务或设施各个方面的系统监视和评估,以最大程度地提高生产过程中达到最低质量标准的可能性。 >
对我而言,这意味着确保您正在按照质量保证标准进行操作,也就是说您是船东,并且您符合“ ISO / DIS 30005制造链中有害物质的信息控制”造船和船舶运营”是纯QA。
软件测试是验证和验证软件程序是否按预期工作的过程。
变得模糊的是是用于软件交付的ISO标准,因此我建议如果您要测试是否符合标准,您正在执行测试和质量检查。
#10 楼
质量检查和测试部门都有责任使软件变得更好,但是质量检查部门通过改善开发流程,确保良好的客户体验并在整个产品生命周期中积极主动来提高质量,而质量检查部门则通过发现错误,编码后变得活跃起来,检查每个最终用户的代码。#11 楼
“质量保证”不是真品。您永远无法保证质量。用户总是会发现在测试中遗漏的错误,因为他们将以您无法想象的方式(巨大的数据集,怪异的文件类型,大规模的,遗留的硬件等)来尝试您的产品。您所能做的就是尝试通过提高测试覆盖率和频率来降低风险。评论
“质量保证”是我部门的名称。这是真实的,而且非常壮观!
–乔·斯特拉泽(Joe Strazzere)
2011-10-24 13:13
#12 楼
在制造中,质量保证是用于提高质量的系统性,整个业务范围的过程(或者如果需要,可以是过程的集合),而质量控制是试图通过测试产品的随机样本来测量质量的制造过程。 />软件不是制造过程,而以制造为导向的质量控制概念对于软件而言是毫无意义的。 (可以制造软件介质,并且可以对软件介质进行质量控制,但是这些措施当然不会影响软件本身的质量。)
从这个意义上讲,所有软件测试都是一种一种质量保证。
#13 楼
对我来说,质量就是客户想要或想要的。通过在整个交付生命周期中采用的多种验证方法,我们试图确保所交付的产品满足客户的需求。软件测试不过是达到目的的一种手段,它允许我们声明,对于已发现的错误/缺陷,已同意并提供解决方案。但是,软件测试无法解决许多未发现的未发现的错误/缺陷。
#14 楼
在受监管的环境中(例如,由FDA监管的医疗设备),“质量保证”实际上与软件测试没有多大关系。质量保证组织监督产品开发的所有方面(硬件,软件,化学),并确保没有发布不符合公司质量体系的任何内容。在受监管的环境中,软件测试通常称为“软件验证”(“软件验证工程师”的职位很常见)。评论
他们如何确保?他们如何验证?
– dzieciou
2012年11月3日,下午6:58
#15 楼
质量保证工作应从计划到部署,甚至是发布后的错误检查都应包括在内。质量检查工程师应该是产品专家,他们可以在开发人员甚至没有触摸键盘之前进行计划,就可以帮助开发人员提供正确的功能,并通过测试开发的代码来及时提供反馈。测试人员或质量检查工程师的参与。一切都将花费更多。
代码一旦部署到环境中,就将涉及测试活动,除非您可以在项目代码完成之前进行一些自动化。测试员是在开发过程中要扮演的角色。
评论
我认为这些问题的答案确实显示了QA /测试心态与开发人员心态之间的差异。 。 。开发人员只会耸耸肩说:“不过您可以定义它们就可以了。”另一方面,测试人员希望获得正确的答案!