自动化软件测试的学术研究人员是否相信所有测试都可以 100% 自动化?

软件测试 自动化测试 工具
2022-02-04 21:33:27

今天在网上冲浪时,我发现了这篇关于学者和从业者对自动化软件测试的态度的文章。由于我目前是工业自动化测试人员,我同意从业者的观点:自动化绝对可以帮助进行故障检测,但不能保证,而且不可能所有自动化都应该自动化。显然,一些学术测试研究人员相信完全(100%)的自动化测试是可能的。(作为记录,两个小组都认为自动化增加了可重复性并节省了测试人员的工作量)。

这是真的?在我短暂的经验中,所有测试都可以(或应该)自动化的想法对我来说意义不大,并且在实践中几乎没有用处。有没有遵循这种推理的学者?也许 100% 自动化测试有一些理论价值,但我不知道它可能是什么。

4个回答

实际上,这里有一点区别——即是否可以自动化和是否应该自动化。软件所做的几乎所有事情都可以自动化,但是否应该是完全不同的事情。

例如,如果您要测试打印输出是否与屏幕显示相匹配,手动方法或多或少是,打印它,走到打印机前,拿到打印输出,将它靠在屏幕上并用眼球观察它.

您可以自动执行此操作:您可以在打印机中构建一个机械捕捉器以检测何时打印页面(或机器人将页面移动到可见的地方,具体取决于打印机型号),使用网络摄像头捕获打印图像的图像,然后使用模糊图像比较或 OCR 验证打印输出中的数据。(我不记得是谁了,但实际上有人确实这样做了作为概念验证)。

很明显,这里的哪种方法最简单并且有最大的好处。

学术界可以而且经常会倾向于软件生成的任何东西都可以自动化的理论方法。如果需要太长时间且太脆弱,练习测试人员通常会倾向于不自动化的实用方法(我不会进入机器人手指来测试密码键盘或生物识别指纹读取器)。一条经验法则是,为了执行测试而必须串在一起的东西越多,它的任何自动化就越脆弱。

简短的回答是,是的,可以实现 100% 的自动覆盖率,但是在极少数情况下您希望拥有 100% 的覆盖率(我不得不承认,让自动测试机器人四处奔波会很有趣操作旋转栅门、密码键盘和其他设备的测试实验室。我只是不想成为维护它的人。)。

我不确定辩论学者(他们所有人?)是否相信从业者(所有人?)不相信的某件事是否有效。编辑:@joshin4colours 随后澄清说他只是在询问一些学者,而不是全部。)

有问题的文章描述了文献综述和在线调查。文献调查试图通过分析不同作者关于不同主题的许多论文来发现学者和从业者的信念。考虑进入该过程的间接数量以及出错的机会。

还要考虑在线调查中出现错误的机会。

虽然这篇文章很有趣,但它只是一个数据点,是瑞典四位研究人员的综合意见。我不会认为它代表了全部真相。

作为一名前研究生,您了解学者的优先事项与从业者的不同。这两个小组如何得出不同的结论也就不足为奇了。当然,结论只是多种经验的升华。比结论更有趣的可能是对这些经历的更深入理解。您可能认为 100% 自动化是不可能的,我可能不会,但通过彼此交谈,我们都会受益。

不仅仅是学者 - 浏览 LinkedIn 或 STC(最近正在进行讨论),你会发现招聘人员和测试人员说这是或认为这是一个值得努力的目标

引用文章——“自动化测试的愿景是 100% 自动化”愿景,不是必须的。

至少在我看来,实现 100% 自动化将是一件好事。然而,我确实知道,使用当前的工具,一些测试无法自动化,但谁知道未来会带来什么。

至于好处,他们特别说“我们认为这是由于对好处的出版偏见造成的”,这意味着成功的故事被广泛发表,而失败的故事却被蒙在鼓里(也称为 文件抽屉效应

引用的文章“软件测试研究:成就、挑战、梦想”(此处)将 100% 自动化称为梦想或最终目标。