AI工具不断出现的速度让人觉得它们将比我们想象的更快地取代硒和其他传统的自动化工具。但是,到目前为止,这些工具在现实生活中的实际局限性是什么?有人能分享他们的项目经验吗?
这个问题基本上是要解决人工智能支持的“无代码”自动化工具的局限性,与Selenium (或其他“编码”自动化工具)相比,上面描述的自动化工具是这样的。
发布于 2018-11-25 11:41:13
首先:"Selenium自动化浏览器,仅此而已!“(引用自SeleniumHQ.)它提供了一个开源的、标准化的和广泛使用的界面来分别驱动浏览器、web应用程序.这不仅使开发人员/测试人员/…用于测试目的,但也可供供应商用于构建不同类型的测试工具/框架/…。最上面的。正因为如此,我认为:( a)硒将存在很长一段时间;( b)基于人工智能的测试领域的进展与硒的寿命预期无关。
“因为有些事情用硒会做得更好,而其他的东西用硒做得更好”,我的问题是确切地知道这些东西是什么。
既然您提到了像mabl和Testim这样的产品,我想您将重点放在基于GUI的web应用程序系统测试上?今天,大多数包含某种人工智能的(现成的)工具基本上可以分为以下两大类(虽然有些也适用于这两类工具):
当涉及到测试维护时,机器可以--正如若昂·法里亚斯-easily已经指出的那样--处理大量数据,这在这里是一个巨大的优势。例如,当被测试的系统(SUT)发生变化时,您通常会发现自己修复了一堆定位器。相比之下,机器可以使用历史数据来分配新的和旧的定位器,以便“自动恢复”测试。
然而,在测试产生的情况下,人类通常是优越的。虽然机器可以使用各种技术来创建非功能性测试,但它们很难生成实际的功能测试,从而有效地涵盖特定的用例和业务需求。总的来说,我认为这与测试还是检查的争论有关(参见我的答案这里)。
发布于 2018-11-25 08:15:18
谈论人工智能的一般限制至少适合于一本书--考虑到我们目前对它的理解。这本书还可以再写5年半.
总之,对于上下文软件测试,我要提出两点:
人工智能系统不像人类那样学习。人工智能系统是一种算法--它们是数据驱动的,比路径/逻辑表达式驱动的算法具有更大的灵活性.它们比人类做得更好:例如,在大型数据集中查找模式,并对新数据进行分类。但他们不能将人类行为的主观方面放在上下文中--人们需要对其进行某种编码,这样人工智能系统才能使用这些数据;这是将主观转化为客观--从而在这个过程中丢失信息。
项目有一个生命周期:一个项目在一定的时间框架内实施.因此,它将绑定到当时可用的工具,或者可以在此时间框架内有效构建的工具。因此,对于某些项目,人工智能将无法解决某些问题,因为该系统将无法正常运行。
关于Selenium本身,考虑到林迪效应,它应该存在一段时间了。然而,对于同样的原则,这些人工智能工具中的一些肯定会占据市场份额。
为什么?因为有些事情会更好地使用它们。使用Selenium可以更好地完成其他事情--可能有些工具会使用Selenium作为某些事情的助手,而不是重新创建轮子。
Cobol一直存在到今天,而且可能还会存在一段时间。
发布于 2019-01-21 23:59:13
首先,让我们设定一些背景,为什么这是情况,然后我将分享我的想法,以人工智能为基础的工具的局限性。
在过去的几十年中,自动化测试面临的最大挑战是维护问题。有多少次在这种情况下,比如编写10个测试,运行它们并通过测试。你太开心了!然后,第二天就会发现所有10个测试都失败了,因为页面中的元素已经改变了。我在这种情况下已经很多次了。研究表明,一个测试人员平均花费30%的时间来维护这些测试,你能想象这种努力带来的机会成本吗?
那么,我们还有几个问题。一个是熟练资源的可得性,因为这些资源很昂贵,让合适的人进行测试自动化需要花费大量的时间和精力。然后,我们有成本获得这些资源,并培训他们,因为他们往往不是便宜的。
Selenium是实现测试自动化的一个很好的开源框架,它是免费的,但由于上述问题而受到影响。这就是为什么我们有基于人工智能的测试工具,它们在过去的几年里变得流行起来。公司开始思考“当有人可以为我们提供所有这些功能时,为什么我必须独自使用Selenium框架来完成所有的事情呢?”这正是导致人们从Selenium框架转向更健壮的供应商解决方案的结果。这就像人们认为“哇,我爱黑莓”,然后iPhone进来,使黑莓的根本不存在,因为iPhone可以在一个包中提供所有的功能;有些功能,即使是客户,也不知道他们需要这些功能,而是迷上了它。
尽管如此,这并不意味着硒将被取代。这将迫使开源社区( Selenium项目的主要提交者)做更多的工作,并试图用框架解决现有的问题,甚至对非技术人员也更容易使用。请再次记住,Selenium框架是由那些喜欢帮助社区的人维护的,他们中的大多数人都没有得到报酬。所以你看到的是你得到的,我们不能抱怨。相反,看看它的优点和局限性,让我们的自动化套件变得更好。
说到限制,AI工具确实有自己的局限性,就像Selenium一样。
所以这一切归结为你想要做什么,你愿意投入多少时间、精力和成本来进行测试自动化。
希望这能有所帮助
-Raj
https://sqa.stackexchange.com/questions/36566
复制相似问题