软件测试:为什么要反复做测试?不同的测试场景有哪些?

软件测试:为什么要反复做测试?不同的测试场景有哪些?
2020年10月26日 18:02 源码时代

测试发现错误就像在雷区中搜索地雷一样。如果一次又一次地沿着相同的路径穿越田野,那么将找不到很多地雷。实际上,这是避免地雷的最好方法。现代软件产品所代表的空间比雷区要复杂得多,因此假设不断重复出现的少量“路径”会发现是一个更大的问题。测试人员团队在几周或几个月内可以进行的软件测试“路径”,与产品现场可能发生的所有场景相比,测试数量仍然不多。雷场类比实际上是说测试是一个采样过程的另一种说法,我们可能想要一个更大的,种类繁多的样本。因此,是进行不同的测试,而不是重复相同的测试。

常见重复测试的场景:

1.回归:如果要测试的产品(在其任何层,包括底层平台)发生了变化,那么存在很大的可能性是新问题或反复出现的旧问题可能被特定的现有产品捕获测试。这包括重新运行测试以验证修复程序,或者在尝试发现何时引入特定问题或行为时在相继的较早版本上重复测试。这还包括在新O / S上运行的同一软件上运行旧测试。换句话说,可以通过对被测技术的更改来补充疲倦的旧测试。请注意,回归并不一定意味着应该 运行相同的旧测试,只是  这样做不一定是不合理的。

2.间歇性:如果您怀疑一次正确的测试不能保证发现错误,可能是由于涉及到一些重要变量导致您无法在测试中控制。执行与您之前执行的测试完全相同的测试,可能会导致发现一个始终存在的错误,但直到不受控制的变量以某种方式排列后才发现。这与投币机上的赌徒第一次输钱后再次玩的原因相同。

3.重试:如果不确定在其他执行测试时测试是否正确运行,或者是否忽略了可能是第一次收集的信息。这就是为什么最好让多个测试人员遵循相同的说明并检查他们是否都得到相同的结果的原因。这也是开发人员可能想要重现已报告的错误的常见原因。

4.改变:如果您要更改测试的重要部分,而重复另一部分。即使您重复测试的某些元素,测试作为一个整体还是新的,并且可能揭示新的行为。我对测试进行了改变,因为尽管我之前已经讲过一些东西,但是还不够好。突变的一种常见形式是使用不同的数据以相同的方式操作产品。改变测试和间歇或重试之间的主要区别在于,改变可以直接在您的控制之下。突变是有意的,间歇性是由偶然因素导致的,而您重试测试的主要原因是偶然因素。

5.基准:如果测试的输出包含一个标准,并且该标准通过与之前执行的相同精确测试进行比较来获得其价值。最明显的例子是性能基准。当历史测试数据用作预言机时,则必须注意,所执行的测试与历史数据可比。保持测试恒定可能不是使结果可比的唯一方法,但它可能是最佳的选择。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部