人工智能 自动化测试
情绪智能的自我检测:使用评估工具进行测试 #生活技巧# #心理调适技巧# #情绪智慧开发#
人工智能 自动化测试
在过去的几十年中,软件测试逐渐发展。 过去,团队习惯于瀑布式方法:从需求到产品部署,所有过程都是顺序的。
只有在开发阶段完成后,测试人员才可以使用该产品。 从历史上看,测试人员会在此阶段发现许多错误,并且需要进行大量的重新设计和修复才能修复它们。 这导致了很多浪费,不时地付出精力和成本,再加上团队士气。
但是在当前的测试状态下,大多数公司都在遵循敏捷流程,例如XP,Scrum,看板或其中的一些变体。 主要目标是快速发现错误,快速修复它们,并更快地发布软件。
为了实现此目标,非常需要通过自动测试来补充现有的手动测试过程。 这是持续集成(CI),持续交付(CD)和DevOps的重要组成部分,大多数团队现在都在跟踪这些组件,以使其软件开发生命周期(SDLC)流程更加精简和有效。
在过去的十年中,已经开发出各种工具和框架来帮助自动化测试,但是值得一提的方法是在测试自动化中使用人工智能(AI)。
揭开人工智能的神秘面纱
首先让我们退后一步,使AI神秘化。 在最基本的层面上,人工智能是一种可以理解,感知和学习并使用计算机来解决通常需要人类智慧和理解的问题的技术。
另一种看待它的方式是,人工智能将人类的技能和倾向应用于无生命的物体或想法。 就像自动化一样,人工智能使技术能够完成真正的人工任务。
与流行观点相反,人工智能既不是遥不可及的现实,也不是基于科幻小说情节的概念。 相反,它已渗透到技术领域,并推动了触及我们日常生活的创新。 在任何一天,从冒充客户服务代表的聊天机器人到搜索结果和流量预测,人工智能无处不在。
以下是有关采用AI的惊人统计数据:
根据Narrative Science 最近的一项研究 ,2017年有61%的企业以某种方式实施了AI。采用率仅在2018年才会增长。 Juniper Research的另一项研究发现,到2022年,全球零售商在AI方面的支出将达到每年73亿美元,高于2018年的估计20亿美元。 一份CMO文章称,到2035年,人工智能将有助于将劳动生产率提高40%,并使人们能够有效利用自己的时间。AI在测试自动化中的影响
人工智能已经开始以各种方式影响测试自动化 ,从而在编写和执行测试,创建更稳定的测试,更快地发现错误以及更快地发布软件以满足客户需求方面节省了大量时间。 这是一些发生这种情况的方式。
更快,更稳定的UI测试作为持续测试过程的一部分,软件开发团队将进行单元测试,服务/ API级别测试和用户界面(UI)测试。 具体而言,UI测试的普遍问题是它们速度慢,易碎,并且维护成本高。 AI可以通过使用动态定位器来避免这种情况。
通过这种策略,AI可以解析用户在应用程序中与之交互的每个元素的多个属性,并实时创建位置策略列表。 因此,即使元素的属性发生变化,测试也不会失败。 相反,AI会检测到此问题,然后转到下一个最佳位置策略以成功识别页面中的元素。
这样,测试更加稳定,结果, 测试的创作和执行也确实非常快。
测试自动化最常见的问题之一就是维护。
例如,假设我们每天运行100个自动化测试,以确保应用程序的主要功能仍然稳定; 如果第二天我们返回工作,发现一半的测试失败了怎么办? 我们将需要花费大量时间来排除故障并调查实际发生的情况。 这涉及找出修复故障和实施修复的方法。 然后,我们重新运行自动化测试以确保一切顺利。 这会响吗?
由于AI的自我修复机制 ,它可以避免此类问题。 它可以在测试出现问题之前就开始对其进行检测,从而主动修复测试,而无需我们对它们做出React。
根据测试运行的次数,AI可以确定哪些测试是稳定或不稳定的。 结果,它可以为我们提供有关需要修改哪些测试以确保测试运行稳定的数据。
最后,基于大量测试运行,AI可以优化测试中用于等待页面加载的等待时间,还可以处理以不同分辨率运行的测试。 所有这些加起来大大减少了维护测试所花费的时间,并有助于解决连续测试的最大瓶颈之一。
在以客户为中心的快节奏环境中,重要的是观察和了解客户如何使用我们的产品。 无论您具有Web,移动或桌面应用程序,都是如此。
通过自主测试,我们现在为AI提供了一种开始观察和学习客户如何使用该产品的方式。 基于此,它可以开始基于实际用户数据创建测试。
它足够聪明,可以识别常用操作,例如登录/注销应用程序并将它们聚集到可重用的组件中。 然后它将这些新创建的可重用组件也注入到我们的测试中。 现在,突然之间,我们已经有AI根据真实数据编写了实际测试,以及可在其他测试中使用的可重用组件。
这让我想起了伟大的史蒂夫·乔布斯的一句话:“从客户体验开始,然后倒退。”
删除依赖项测试自动化的另一个挑战是为可能依赖于可能尚未实现的其他模块的系统编写测试。 通常在这些时间里,我们模拟来自服务器或数据库的响应。 现在,AI可以帮助我们做到这一点。
一旦我们编写了一些测试并在一段时间内一致地运行它们,AI即可开始记录所有服务器响应。 下次运行测试时,该测试将访问存储的响应(在AI的帮助下),而不是与服务器或数据库进行对话,并且将继续运行而没有任何障碍。
结果,测试运行得更快,因为消除了等待响应的延迟,并且完全消除了对物理数据库或服务器的依赖。
使公司无法实现自动化的最大障碍是,使用所选工具或框架编写和执行测试所花费的时间和精力以及执行此任务所需的熟练资源。
即使公司决定继续进行自动化测试,由于应用程序,可用工具和所用编程语言的复杂性,团队也必须花费大量时间来编写和执行测试。
现在,有基于AI的工具可以帮助缓解这些问题。 过去需要花一周时间编写和执行的测试现在可以使用AI在几小时内完成。 通过使用动态定位器以及轻松创建可重复使用的组件,执行数据驱动的测试,快速编写和执行测试以及轻松将CI / CD系统与公共和私有网格集成的能力,这是可能的。 因此,我们能够获得可靠的测试,更多的测试范围,更少的维护和更快的发布周期。
同样,这也为测试自动化开辟了一个新时代,非技术人员也可以参与测试自动化。 这有助于增加团队内部的协作,并鼓励每个人都拥有测试自动化工作。 AI现在正在采用全团队方法来测试自动化。
通过AI推动向自主测试的过渡,将维护降至最低,并创建更可靠的测试,团队发布更快的能力比以往任何时候都更好。
通过AI和自主测试,质量保证(QA)可以专注于探索性测试,而很大一部分测试则是连续创建和自动更新的。 现在,发布频率仅受开发人员编码速度的限制。 通过将测试的创作与映射到真实用户流的生产应用程序联系起来,质量检查人员也可以更轻松地最大化用户覆盖范围。
现在,我们可以采取基于风险的方法,并根据实际数据做出决策。 最重要的是,由于AI的自我修复机制,我们通过主动解决问题而不是对问题做出React来领先于游戏。
此外,我们现在能够在短时间内创建更多用户方案。 这意味着您可以快速找到错误并更快地发布。 借助AI,测试的未来变得更加光明。
如果您有经验或听说过在测试自动化中实现AI的其他方法,请在下面的评论部分中分享您的想法。
翻译自: https://www.javacodegeeks.com/2018/09/truth-ai-test-automation.html
人工智能 自动化测试
网址:人工智能 自动化测试 https://www.yuejiaxmz.com/news/view/739207
相关内容
盘点15个用于自动化单元测试的人工智能工具智能家居自动化测试系统
【解决方案】智能UI自动化测试
测试自动化工具.ppt
自动化UI测试工具
9个用于测试自动化的最佳AI测试工具(2025)
9个用于测试自动化的最佳AI测试工具(2024)
十大最佳自动化测试工具
功能自动化测试工具有哪些
软件自动化测试工具有哪些?常用自动化测试工具介绍