从测试人员的角度来看,什么时候说产品是稳定的?

当产品包含已知的bug时产品是否仍然稳定?

评论

答案取决于您如何使用信息。 “稳定”是指“准备释放”,“准备进入维护模式”还是其他?

根据我的理解,“稳定”意味着可以释放...

它取决于错误的严重性和错误的性质。您正在编写一个银行应用程序,除了一个很小的小错误外,它绝对没有缺陷。所有存款都记入两倍。应用程序是否“稳定”? //对我而言稳定意味着可以将其免费发布到客户或测试组。

#1 楼

我会称其能够持续运行而不会崩溃的软件。

要回答第二个问题,是的(如果可以的话),一个100%无漏洞的软件是一个神话(如果可以的话)。一些:


错误的实现。
错误的规范错误。
错误的文档错误。
错误的需求错误。
可移植性错误
测试缺陷

所以这就是我们拥有错误跟踪器,报告和后续版本的原因。

#2 楼

测试产品和使用产品总是不同的。错误可能并没有真正阻止系统的使用。产品通过使用它们并随后修复发现的关键缺陷而变得成熟。这导致了稳定和可靠的软件产品。

稳定在软件开发中通常意味着不同,这意味着产品行为不再改变。它的用户可以相信补丁/错误修正不会改变软件的行为。还请阅读此博客,其中解释了稳定(发布)和稳定(成熟)之间的区别。

从测试的角度来看,我不会使用“稳定”一词,而是“可运输”或“可释放”。我总是质疑我们该怎么做才能对产品更有信心,以便可以发货。如果我不能提出更现实的努力来提高质量,那就让它发货或将其推向用户认可。用户应告诉您它是否足够稳定以投入生产。

评论


我觉得“稳定”的术语或它的定义在不同组织之间也有所不同(即使我从未想到过),但我认为上述答案不是正确的答案。从软件测试的角度来看,稳定比开发更有意义。首先,冻结我的业务规则或要求是迈向拥有稳定产品的第一步(请记住,只有做不到稳定的产品)。 <-继续下面的评论->

–JustARandomGuy
2015年10月30日,1:14

在任何瀑布式,敏捷式或其他形式的模型中,开发团队发布的构建都必须通过自动验收测试或手动验收(由功能测试人员完成)认证为“稳定”,然后才被认为可以Beta版本。好吧,补丁也不是要改变软件的完整行为,也不是漏洞修复。具有讽刺意味的是,如果某个补丁改变了软件的功能,那么它不应该被称为后续版本,而不是补丁吗(只是想知道)?上面答案中分享的博客是一种查看方式,但不一定是正确的方式。

–JustARandomGuy
15-10-30在1:14



这是所有术语的问题。通常,它可能意味着多种情况。但是稳定在软件行业中被用作功能冻结的一个分支,不稳定是当前的发展。我会为处于可发布状态的产品选择另一个术语,而不是重复使用“稳定”一词。

– Niels van Reijmersdal
15年10月30日在7:51

#3 楼

产品准备发布时没有通用的标准。您根据业务目标和客户的期望做出决定。一个用于上传猫照片的第一版网站将具有与成熟的银行应用程序完全不同的条件。

谁来决定这些条件是什么?测试人员可能会做出一些孤立的,功能失调的公司的决定,但是在其他任何地方,这都是团队决定,因为没有人知道整个故事。真正与客户交谈的人-销售,客户支持,市场营销-比测试人员更了解客户的风险规避程度。技术人员-开发人员,测试人员和操作人员-会对问题的影响有更好的了解。这些人的一些选择将决定何时准备发布产品。

评论


好答案。 “准备发布”是一项商业决策。

–乔·斯特拉泽(Joe Strazzere)
15-10-28在18:33

#4 楼

我要说的是一种过时的产品是稳定的-愤世嫉俗但经常是真的(作为软件工程师/架构师已有40年的经验)。

评论


因此,直到过时的产品才准备发布吗?

–user246
15年10月31日在17:23

好吧,谁说稳定意味着可以释放?

–JustARandomGuy
15年11月2日在21:30

@JustARandomGuy那么我们应该说“产品准备发布”

–同一个乔希
2015年11月5日下午5:29

@sameerjoshi根据所有答案,我相信“稳定”一词可以在不同情况下使用或滥用。我觉得术语“可运输”比“稳定”更接近准备发布。

–JustARandomGuy
2015年11月5日下午5:36

#5 楼

我认为没有一个没有错误的应用程序,但我可以说,如果该应用程序不存在性能问题并且涉及的主要和关键问题是稳定的,那么我可以说它是稳定的

#6 楼

有点棘手的问题,还使您有机会在那一刻对自己的答案充满信心,并了解您的工作(如何进行测试).....
瀑布
作为测试者,如果您不会注意到任何影响




应用程序业务逻辑的问题/错误-在所有级别上都没有问题
功能-不以关键方式影响最终用户
UI / IX-没有严重问题
性能是-好的

那么您可以说“产品稳定”

SCRUM
如果您使用的是SCRUM方法,则向产品所有者说产品稳定或不稳定是一个集体责任。

评论


我们正在遵循SCRUm方法,请从什么角度告诉我们什么是“集体责任?”,我们认为产品是稳定的。

–同一个乔希
15年10月28日在13:05

#7 楼

过去曾使用此标准来衡量软件稳定性:


已知的,未修复的错误是“可接受的”。
新漏洞的发生率(严重/高/中/低/等)的错误低于“可接受”的级别。

在两种情况下,“管理”决定“可接受”的定义

使用这些定义是因为您永远无法知道何时发现所有错误。新错误的发生率是对仍然未知的错误数目的一种警告。

这仅仅是软件稳定性的一个定义。各种其他标准都可以/可以用来确定软件是否/何时应该进行下一步。