我是一家公司的测试工程师。最近,我发现了一个特殊的错误。这是错误描述。


流程:通过网上银行向收款人汇款。填写所有
必需的详细信息,然后将金额X转移给收件人。问题
在提交页面上发生。

当我单击
确认页面上的Submit按钮时,浏览器窗口会持续加载几秒钟
(我的测试环境很慢)。在这段时间内,再次点击
提交按钮。瞧,我在摘要页面上看到了两次成功
消息,即“事务1已成功完成”
和“事务2已成功完成”。

在数据库中
我也看到从相应的帐户中两次借记/贷记金额。


据我了解,这是一个严重的错误。

但是,问题在于,此bug仅在特定的测试环境上才可重现。开发团队无法重现该错误。在开发团队经理和我的经理讨论之后,他们决定放弃该错误。

该错误仍然困扰着我,我想将其提升给经理的老板,因为它是一个严重的错误。我该怎么办?

编辑:该错误在被遗弃之前处于打开状态两个星期。两个开发人员。测试经理对此特定错误进行了深入的讨论。开发团队对如何解决此问题一无所知(这不是一个简单的解决方法)。该错误仅在一个特定的环境中可复制。

评论

在单击一次提交按钮后(至少通过javascript禁用)是很常见的,这样用户就无法再次单击它。我不确定您的开发团队为什么不这样做...但是必须采取措施来防止这种情况(依靠服务器的速度来防止这种情况是完全错误的)。

@SnakeDoc-实际上,需要在服务器端将其阻止,以防止恶意脚本编写者两次提交事务。客户端解决方案还不够。

像这样的故事使我想永远不要使用亚马逊以外的任何网站进行金融交易。除了这是一个简单的解决方法外,您的团队决定只放弃它,而故意让这种东西出现在产品中。

此错误不严重。它具有法规和法律含义。老实说,如果确实提交了两次相同的内容,这听起来像是一个易于修复的错误。

拿走开发人员的快速硬件,然后将其替换为用户的慢速硬件。告诉他们,一旦得知他们得到报酬来解决关键问题,而不是使用快速的硬件,他们可能会把旧玩具拿回来!

#1 楼

干得好,不遗余力!

对我来说,这听起来像是一个“可怕的”错误,而且可能不仅在用户界面上。

如果我是你,我会做一些事情:


仍在Bug跟踪器中创建一个正式的问题(您可以在票证上贴上“不稳定”或“需要更多信息”标签)。提及您和开发团队经理。
在其他环境中尝试重现此问题:使用浏览器开发人员工具模拟慢速连接-例如,Chrome允许您选择连接速度和质量
创建视频演示该错误并将其显示给管理层和开发团队(附加到票证上)
查看是否有可能探索生产日志并寻找反映问题的重复交易的特定模式-这可能有效证明它已经可以在生产中复制


评论


很好解释。 +1。非常奇怪的是,这是一个具有财务影响的错误,并且在其中一种环境中也可以重现,但仍未被考虑。

–阿拉克
17年6月30日在14:42

@Alecxe该错误已被放弃。

– Knu8
17年6月30日在21:24

#2 楼

要添加到现有答案中:

您可以尝试用以下方式解决此问题:在单击该按钮和付款完成处理之间不禁用“提交”按钮,发生这种情况的可能性更大环境,例如通过电话网络或使用旧的,速度慢或过载的计算机连接到应用程序。

您还可以指出客户的严重负面反馈的可能性,如果他们的系统速度多么慢,如果他们都看不到任何响应,他们将多次单击按钮。

如果您的经理不同意开发团队经理,则另一种选择是向经理寻求解决方案,因为该错误不是您想要解决的错误,因为处理代码的成本很高大量回报-如果发布该bug,就会发生这种情况。将其保留在系统上并通知您的团队成员,以便在客户遇到它并与您不同意时您可以指向它(这是最不希望的结果,但是如果需要的话,它确实可以使备忘风暴安静下来)。

#3 楼

除了@alecxe的答案外,您还可能发现可以改善整体测试的方法。如果开发人员计算机由于速度太快/不够忙/不管而不能重现此问题,但是您可以,则表明需要多种测试环境,并且您应该进行功能测试以外的测试。我假设您有浏览器要求(IE 8及更高版本,或其他);那些有操作系统要求。这些操作系统具有性能要求。在测试环境中,您应该在性能范围内拥有各种计算机。就像缓慢的测试环境可以找到问题一样,快速的环境也可以找到问题。

#4 楼

在一家员工人数有限的公司中,难以复制或罕见的错误在各种平台,网络等上推向成千上万(或更多)用户的世界时,会变得相当普遍。 >
这可能会导致严重的声誉和法律问题(如果金融合作伙伴认为公司不可信,或者“我也是!”推文开始流行,会发生什么情况?)

您还没有说你在哪里。但是,即使没有法律要求,您也可能想掩饰自己。至少,发给您两个团队的负责人的电子邮件只是说您已发现此错误,并且由于严重性,由于可能的影响,有必要让他们知道。您说的确切方式以及确切的称呼对象取决于您确切的公司和文化。敦促他们以冷静的专业术语重新考虑错误和含义,并在理想情况下也提出解决方案。

#5 楼

我很好奇为什么该错误仅在特定环境下才可重现。理想情况下,应该将环境作为基准,以使它们在代码版本,基础结构,配置等方面均等效。

您是合法的缺陷;不要忽略它。在您的跟踪系统中引发一个掩盖的错误,并升级给经理以提高可见性。如有疑问,请给项目团队发送电子邮件:

团队,

我发现了以下缺陷{缺陷编号},但无法在{环境中复制}。

请注意-该问题可能存在于生产代码中。很高兴讨论。

干杯

等。