您什么时候停止测试?

有一个要测试的软件。 有一组测试人员。 预算中有一些钱。 时间表中有一些时间。 我们现在开始。 测试人员试图破坏产品,发现错误,报告错误,在必要时与程序员进行交流,尽最大努力找出问题所在。 最终他们停下来说“我们完成了”。 他们怎么知道什么时候停止? 什么时候有足够的测试? 很明显-当没有更多的bug可以运送产品了! 如果你这样想,我对你来说是个坏消息。 你根本是错误的

Glenford Myers在他的著作《软件测试的艺术》中完美地解释了所有这些内容。 我将在这里再次总结一下。

测试书 首先,“测试是为了发现错误而执行程序的过程”(第6页)。 注意,目的是发现错误。 并不是要证明产品能正常工作,而是要证明它不能按预期工作 。 任何测试人员的目标都是展示如何破碎产品,如何在不同的输入下使产品失效,如何在压力下崩溃,如何误解用户,如何不满足要求。 这就是为什么迈尔斯博士称测试为“具有破坏性,甚至是虐待性的过程”(第6页)。 这是大多数测试人员不了解的内容。

其次,任何软件都有数量不限的错误 。 迈尔斯博士说:“您不能测试程序以确保它没有错误”(第10页),并且“在程序中查找所有错误是不切实际的,通常是不可能的”(第8页)。 这也是大多数测试人员不了解的内容。 他们认为存在的bug数量有限,他们每天必须找到并称其为bug。 字面上没有限制! 在任何软件产品中,错误的数量是无限的。 无论产品大小,复杂或简单,无论新旧。

考虑到这些公理,让我们尝试确定何时必须停止测试人员。 Meyers博士认为,“测试程序时最难回答的问题之一就是确定何时停止,因为无法知道刚刚检测到的错误是否是最后一个剩余错误”(第135页)。

他们找不到所有错误,无论我们给它们多少时间。 他们有动力去寻找更多的人。 但是在某个时间点,我们必须做出决定并发布产品。 看起来我们将发布其中包含错误的漏洞? 确实是的! 我们将发布一个充满错误的产品。 唯一的问题是已经发现了其中的多少,以及它们有多关键。

让我们放在一起。 有太多错误无法在合理的时间内找到所有错误。 但是,我们迟早必须发布一个新版本。 同时,测试人员将始终告诉我们那里存在更多的错误,他们可以找到更多的错误,只是需要更多的时间。 该怎么办?

迈耶斯博士说:“由于测试的目的是发现错误,为什么不让完成标准检测到一些预定义的错误?” (第136页)。 的确,我们应该预测恰好可以找到多少个错误,以便对产品准备好交付有一个令人满意的信心。 然后,发货,有意识地了解它仍然有无限数量的尚未发现的错误。

书本思想 大卫·韦斯特在《 对象思维 》一书中说:“发布软件是为了使用,而不是在已知正确的情况下才发布,而是在发现错误的速度降低到管理层认为可以接受的水平时”(第13页)。

因此,退出测试过程的唯一有效标准是发现预测数量的错误。

翻译自: https://www.javacodegeeks.com/2015/09/when-do-you-stop-testing.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值