Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AI在测试自动化中

AI在测试自动化中

作者头像
February
修改于 2018-11-26 07:17:37
修改于 2018-11-26 07:17:37
2.1K0
举报
文章被收录于专栏:技术翻译技术翻译

如今,几乎所有IT项目都面临着以更快的速度和更准确的方式运营和部署软件和服务的挑战,为项目团队创造了一个无情的高压环境。要求每天都在变化,而且从来没有足够的工程师能够完美地实现这一切。项目团队负担的主要部分是需要持续测试。在本文中,我将探讨通过应用人工智能(AI)来测试自动化所发现的机会。人工智能旨在使企业更加有能力和高效。最好的公司正在使用人工智能来增强客户和客户的互动,而不是消除它们。大数据收集和算法的进步极大地扩展了测试自动化的范围,使非技术团队成员能够定义和扩展测试,其能力和复杂程度与开发人员相当甚至更高。简而言之,AI通过简化创建,执行和维护来改变测试自动化的各个方面,并为企业提供实时可操作的洞察力,直接影响到底线。

背景

12年多以前,我成立了一家咨询公司,为初创公司和企业客户提供服务。当我为我的客户服务并希望简化应用程序更改和部署到实时生产之间的时间时,我发现确保质量和可靠性的需求需要越来越多的资源份额。在单个事件或事务中交互的创新,应用程序组件和协议的组合越来越多。随着时间的推移,我意识到需要更多的东西。然后,在2013年秋天,我看到AI如何塑造测试环境,我为Functionize编写了第一行代码。

测试自动化的起源与局限

测试自动化并不新鲜。2004年Selenium的出现是一项重大进步,使开发人员能够进一步控制质量保证。然而,Selenium和流行的记录/重放框架的挑战对于那些试图在复杂环境中使用记录器的开发人员来说变得很明显,因为用于识别元素的选择器必须随着每次代码更改而不断更新。

以市场需求为导向的考试创造

自动化测试创建通常仅限于三种方法:手动,脚本语言(一些模块化程度高于其他语言),以及记录/重放工具。每个人都有自己的价值,但他们都以显眼的方式受到限制:

  1. 手动测试很慢,并不适用于当今的CI / CD管道,因为它无法与复杂的应用程序一起扩展。
  2. 由于通常需要工程资源,脚本编写很费力,容易出错并且成本高昂。
  3. 记录/重放工具很难捕获复杂的用户工作流程,编辑这些工作流程通常需要重新记录所有内容。

当我开始倾听市场和我们的客户时,很明显,测试创建的不同选项是可取的,但通常不会在同一工具中呈现。使用Functionize,我试图提供传统和新的测试创建模式,所有这些都由AI增强:

  • 只需用简单的英语编写用户旅程或向我们的NLP引擎提交一组有序的测试,该引擎使用AI来分析和建模数据。
  • 训练我们学习应用程序的AI建模器。
  • 使用我们的开发人员模式,支持与机器人兼容的脚本,并自动构建模块化和便携的智能页面对象库。
  • 完全自主的测试创建,可从实时用户数据中分析和生成测试用例。

AI如何影响测试创建

在测试自动化中,围绕AI的市场存在很多噪音。下面是一些例子,作为判断AI在测试创建中的存在程度的试金石。

  • 机器视觉,可自动定位和识别数百个选择器。这需要更广泛的关注和摄取,而不仅仅是HTML和CSS
  • AI和机器学习连续扫描和分析DOM和应用程序状态以获取有意义的信息,拒绝噪声和无关紧要。
  • 页面对象识别不断自动发生,提高了测试模块性和可扩展性。
  • 通过自然语言处理和高级建模利用AI技术创建完全自主的测试。

然而,即使是超越传统脚本方法并采用基于图像或视觉的方法的测试自动化框架仍然受到限制。测试创建仍然非常耗时,因为测试人员必须手动选择并拖动所需的元素以进行交互。由于物体识别的像素/图像方法,还存在高度的选择器维护。市场领导者正在努力将AI集成到他们的自动化堆栈中,结果令人困惑的行话将AI定义为Awesome Integrations而非人工智能。

AI如何影响测试执行

真正的云量级测试执行选项的缺乏表明AI有足够的空间来提高新的生产力。基于运行的节点数,内存和并发测试的数量,Selenium Grid等内部甚至云技术仍然受到执行时间的限制。云计算的整个目的是能够根据工作负载执行应用程序的快速扩展,包括所有执行实例共享的信息。当测试人员寻找大规模执行测试的解决方案时,如果宣称AI正在扩充这些过程,那么应该设置非常高的标准。我们为自己设定了以下验收标准:

  • 测试应该可以在云中大规模执行,因此每次后续运行和发布都会变得更加高效和可靠。
  • 测试应该可以在全球任何地方,任何设备,任何带宽以及所有类型的环境中执行。
  • 即使最复杂的测试也需要几分钟才能完成 - 而不是几小时,更不用说几天了。

AI如何影响维护

快速测试创建仅与执行测试的弹性一样可行。确保测试维护不是部署管道瓶颈的最有效方法是确定测试创建期间实际发生的数据。测试维护的失败点最终解决了创建期间数据建模不足的问题。AI可以在这里帮忙:

  • 自我维护:通过结合详尽和自主的数据点组合对结果进行建模并进行维护,例如元素的大小,页面上的位置,先前已知的大小和位置,可视化配置,XPath,CSS选择器,和父/子元素。
  • 自我修复测试:根本原因分析突出显示测试失败的所有潜在原因,并提供一键更新的路径。
  • 数据建模:应通过使数百个被评级和排名的数据点识别的元素而不是单个选择器来消除选择器维护。
  • 计算机视觉诊断: AI意味着视觉诊断很容易:识别损坏的测试应该在视觉环境中花费几秒钟,不应该需要通过脚本进行挖掘。诸如此类的应用AI方法可确保您的测试框架了解应用程序独有的结构和组织,从而最大限度地减少人为干预。

AI-Powered测试自动化如何改变企业

承诺在企业级实施AI的企业已经体验到更高的运营效率和更好的产品效果。开发人员正在重新协商他们在敏捷和DevOps策略中的参与,因为智能算法现在能够解决测试自动化中出现的最重复的问题。在CI / CD管道中测试自动化从瓶颈到催化剂的变化时,不仅产品开发得到了显着简化,而且,管理人员还获得了以前无法直接影响底线的商业智能。Functionize与Google Cloud合作,通过金丝雀测试构建高级异常检测,其中一小部分用户用于实际测试新代码。AI用于将这些用户的体验与运行现有代码的用户进行比较。然后可以自动识别异常,并将详细信息传递给开发人员。

原文标题《AI in Test Automation》

作者:Tamas Cser

译者:February

不代表云加社区观点,更多详情请查看原文链接

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
9个用于测试自动化的最佳AI测试工具(2024)
选择一款优质的基于生成式AI人工智能的测试工具能够确保测试过程的准确性和效率,从而加速整个软件测试周期。相反,设计不佳的测试工具可能无法发现错误,并可能存在安全问题。它们可能产生误报或漏报,误导开发与测试团队,导致潜在的软件故障。
wangmcn
2024/07/08
9.9K0
9个用于测试自动化的最佳AI测试工具(2024)
必看!2025 年颠覆测试行业的 10 大 AI 自动化测试工具/平台(上篇)
各位看官,等着急了吧,之前有粉丝后台留言,想了解学习一下,AI这么火爆,那市面上AI与自动化测试结合起来的的工具/平台有哪些值得学习的。
测试开发技术
2025/03/29
5241
必看!2025 年颠覆测试行业的 10 大 AI 自动化测试工具/平台(上篇)
如何维护自动化测试
毫无疑问,自动化测试已改变了软件开发的工作方式。如果不是Selenium自动化测试,测试人员将花费大量精力进行各种各样的无错误Web应用程序测试。
FunTester
2020/05/26
9280
未来创新的人工智能测试自动化工具:第三次浪潮
当我回顾我在测试自动化领域的职业生涯时,有三个不同的时期,或者说“波浪”会浮现在我的脑海中。
顾翔
2020/05/20
1.5K0
未来创新的人工智能测试自动化工具:第三次浪潮
自动化测试框架的完整指南【译】
任何成功的自动化测试过程的关键组成部分都是测试自动化框架。降低维护成本,测试工作效率提升和提高质量保证团队的投资回报率ROI是优化敏捷流程时所提供的主要优势之一。
FunTester
2021/06/23
9740
自动化测试的障碍
业内专家认为,具有人工测试的企业文化是阻碍自动化测试进展的最大障碍。为了收集当前和未来自动化测试状态的见解,我们询问了来自27家公司的31位高管,“您认为阻碍自动化测试的最常见问题是什么?”
FunTester
2019/09/05
6160
Selenium自动化最佳实践技巧(中)
自动化测试的最佳实践之一是明确知道要自动化的内容。在开始实施自动化浏览器测试之前,重要的是要知道首先要自动化什么内容。自动化背后的主要原因是避免重复和搬砖的任务。因此,坚持明确自动化测试内容是非常有意义的。
FunTester
2020/09/18
9350
测试自动化框架的类型| 您应该知道的一切-软件测试材料
一个框架定义了一个 规则,或者说我们可以以系统的方式来达到预期的效果逐步最佳做法。因此,上述测试自动化框架涉及最佳实践,以实现我们的自动化项目的目标。
用户7466307
2020/12/29
7320
测试自动化框架的类型| 您应该知道的一切-软件测试材料
软件测试自动化的最新趋势
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript,
顾翔
2019/12/12
7680
软件测试自动化的最新趋势
Selenium自动化:代码测试与无代码测试
大多数测试人员认为Selenium是满足其测试自动化需求的自动化框架。作为全球测试人员使用的开放源框架,Selenium无疑是测试人员适应日趋敏捷的公司的一种好方法。实际上,Selenium仍然被认为是最普遍的开源代码,已在世界范围内采用,并且用户群体不断增长。
FunTester
2020/07/28
7070
取代或转型?人工智能对软件测试的影响(内附工具推荐)
在当今快速发展的数字环境中,从移动App到基于Web的平台,软件已成为我们日常生活和工作不可或缺的一部分。然而,随着软件系统变得越来越复杂,如何确保其质量和可靠性已成为开发人员和测试人员所面临的一大重要挑战。
陈哥聊测试
2024/05/27
2190
取代或转型?人工智能对软件测试的影响(内附工具推荐)
2019年最佳自动化测试工具(前10名)
对更快地交付高质量软件或 “Quality at Speed” 的需求要求组织在敏捷、持续集成 (CI) 和 DevOps 方法中搜索解决方案。测试自动化是这些方面的重要组成部分。最新的世界质量报告 2018-2019 表明,测试自动化是实现 “Quality at Speed” 的最大瓶颈,因为它是成功实施敏捷和DevOps的推动者。
软测小生
2019/07/05
9.1K0
2019年最佳自动化测试工具(前10名)
Web端自动化测试失败原因汇总
最初的测试自动化失败是从不切实际的期望中获得的。在我的职业生涯中,我已经多次观察到它,一旦您获得了自动化的质量保证或工作人员,管理层就期望他们对所有内容进行自动化测试。尽管听起来很令人愉悦,但这是不可能的。您不能进行100%的自动化测试,因为在少数几个领域必须进行人工检查。这些领域之一可能与您的Web应用程序的可访问性有关。
FunTester
2019/11/10
3.1K2
国内外优秀好用的自动化测试有哪些?终于整理出来了
随着自动化测试的不断发展,各种自动化测试工具五花八门眼花缭乱,测性能,测兼容,测压力,测功能,测接口纷繁复杂。今天我们主要分析的是国内外使用最多,功能相对而言更全,技术更成熟和先进的几款代表性的自动化功能测试工具的汇总分析。
顾翔
2020/09/23
3.2K0
国内外优秀好用的自动化测试有哪些?终于整理出来了
2020 可替代Selenium的测试框架Top15
业界有一些强大的工具可以替代Selenium,今天就来大概介绍一下。以下清单是精挑细选的Selenium替代框架:
软测小生
2020/04/02
5K0
2020 可替代Selenium的测试框架Top15
Selenium自动化最佳实践技巧(上)
近年来,越来越多的的Web端自动化测试都选择过渡到Selenium测试自动化的敏捷组织。毕竟,对于新功能的快速反馈,绝大部分人都不想错过Web端自动化测试的机会。虽然趋势如此,一些测试人员仍抱怨自动化测试不稳定且不可靠。造成这些问题的原因有很多,大多数时候,导致测试不稳定的原因是都是没有遵循适合的Selenium测试自动化的正确做法。
FunTester
2020/09/18
6400
初学者自动化测试–终极指南
有人说,从手动测试人员过渡到自动化开发人员是一个自然的过程,并且是测试领域的另一个演进部分。我与之交谈的许多测试人员都描述了他们手动测试相同的过程并一次又一次地查看测试文档是多么的不舒服……他们看到自己担任自动化测试角色,同时也增加了薪水(这也很重要)。
用户7466307
2020/08/10
8370
维护Selenium测试自动化的最佳实践
自动化测试框架和基础组件需要及时、良好的维护。如果团队无法跟上与维护相关的需求,那么以后可能会付出更大代价,最终带来自动化项目的深陷泥潭。这里有一些减少Selenium自动化测试维护的最佳实践。
FunTester
2020/06/01
5620
Selenium自动化测试之前
如果测试团队已经决定要在手动测试操作中增加自动化。这绝对是正确的决定,尤其是如果公司在往敏捷发展的过程中时。
FunTester
2020/12/24
5210
自动化测试入门:是什么,流程,收益和工具
http://mpvideo.qpic.cn/0bf2jeaaiaaa3eaeb6fj3vpfasodareqabaa.f10002.mp4?dis_k=cc04b07c621debb660c5902
归根落叶
2020/05/15
1.6K0
自动化测试入门:是什么,流程,收益和工具
推荐阅读
相关推荐
9个用于测试自动化的最佳AI测试工具(2024)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档