我听说过很多关于自动化测试的“滥用”,特别是UI基础自动化测试。因为UI非常脆弱,而且很容易改变(特别是在敏捷的商店中)。就我个人而言,我的自动化测试给了我更多关于工作系统的信心,而不是发现缺陷。
自动化UI测试的成功率是多少?或者您如何定义自动UI测试的成功?
发布于 2011-05-04 11:43:23
我每天在大型web系统上运行1000+测试套件的真实经验是,您的直觉是正确的,而且它们找不到那么多bug。
但他们所做的是两件关键的事情:
发布于 2011-05-04 11:57:29
以前的招贴画是正确的--自动化永远找不到新的错误,这只能通过智能测试来完成--但是自动化会发现回归错误,而不是你正在寻找的错误。但是,对自动化测试结果的初步分析可以发现一些重要的问题。
我举了一个例子,在我的最后一个项目中,每天有将近1000个自动测试在UI中运行。有一次,有些测试间歇性地失败了,没有任何明确的原因(该区域的代码是稳定的,已经有一段时间没有被触及)。
所以当我看测试结果时,我无法立即看到任何东西。测试标准之一是页面标题为"foo",当我查看断言失败的地方时,我可以看到实际的页面标题包含"http 403“。
只要看看这个失败的断言,我马上就有了一个粗略的失败时间表,并且可以更快地隔离出一个完全不相关的问题,这个问题是无意中导致网站瘫痪了几个小时--也许每周一次。
我不能说如果没有回归套件,我们的测试团队是否会发现这个错误,但是肯定要花更长的时间。
发布于 2011-05-04 11:44:37
你必须了解以下情况..。
自动化永远不会发现新的错误。
如果您的系统被更新,它将发现错误。如果系统因任何原因关闭,并且您在床上睡觉,并且一夜之间就启用了自动化,它就会发现错误。它会给你发一封紧急的电子邮件,你会在早上读到网站已经关闭了一个小时左右。
它不会发现人类通过错误回归发现的bug。它不会在系统中发现需要分析和不断撞击的缺陷。它找不到隐藏的虫子。它只会发现程序中要找到的bug。
上面说..。自动化可以帮助你专注于那些隐藏的bug。这会给你带来很多考验。像multy浏览器一样,无止境地输入各种组合的数据。整理任务,如创建测试数据,公司,用户等。压力测试,负载测试,功能。所有可以覆盖的东西。
因此,自动化测试的成功将是保证,如果开发人员签入代码,您可以确保应用程序的主要部分在夜间沉睡时回归。而且,您可以确保它会发现更新产生的更改、缺陷,除非您没有为它编写测试,否则不会有什么不被注意的地方。
https://sqa.stackexchange.com/questions/119
复制相似问题