Forrester Logo
Forrester Linkin
Forrester英文站
Forrester英文站

首页  >  新兴科技洞察  >  机器人流程自动化(RPA)与自动化测试:是友非敌(第二篇)

机器人流程自动化(RPA)与自动化测试:是友非敌 – 第二篇

Diego Lo Giudice, 副总裁兼首席分析师 I 2020年12月14日

Craig Le Clair, 副总裁兼首席分析师

自动化测试已经发展了30多年,并在过去五年中达到了峰值。机器人流程自动化(RPA)市场的发展历史还不到10年,其大部分增长主要集中在过去三年。 自动化测试主要用于应用程序开发领域,而 RPA 的侧重点在于业务效率。尽管二者存在差异,但是应用程序开发和交付(AD&D)负责人应该取其优势所在。本报告概述了这两种技术如何协同配合,从而加速创新和扩大自动化规模。

前篇部分请见 Part 1,  本篇为系列文章第2篇。

在大多数情况下,人工和自动化应用程序测试可以在进入生产环境前提供支持

在过去,测试供应商专注于提供支持测试的工具,这些工具大多用于完成开发后的阶段。只有很少一部分,他们为套装和定制应用程序提供自动化功能和流程测试的支持。敏捷开发、DevOps及其持续交付的应用,使自动化和持续测试用例更广泛,同时测试也提前到SDLC (软件开发生命周期)的早期阶段。从而形成了一种新的市场动态:自动化测试工具供应商认为他们的许多自动化功能与RPA不相上下。其中一些供应商一直在扩展他们的测试平台,以满足业务任务自动化用例的需要。一些厂商(如Micro Focus、Tricentis和Worksoft)增加了RPA功能,有些测试公司声称其核心自动化技术支持RPA(如Eggplant),还有些声称他们可以测试RPA(如Parasoft)。简而言之,测试工具中RPA的优势是(见图1):

Picture
  • 灵活而广泛的机器人设计和开发。数十年来,测试工具供应商一直为自动化测试提供机器人。他们称它们为自动化脚本,而不是机器人。RPA机器人具有生命周期,并得到全面的管理。但是对于功能测试和非功能测试,核心的自动化功能是相同的。这为客户深化自动化提供了有价值的工具,并且也满足了RPA机器人进行自测的新兴测试需求。
  • 满足业务需求的功能测试。功能测试可确保开发的应用程序满足初始要求。功能测试工具提供了一系列基于关键字搜索、数据驱动事件、流程完成、UI交互、API测试以及记录和回放的技术。与RPA不同,自动化测试支持多种设备,包括移动设备、台式机、大型主机、信息亭、聊天机器人通路,甚至支持物联网(IoT)的设备等。而RPA机器人主要集中在台式机上运行。
  • 非功能测试。测试不仅仅局限于验证业务需求。测试市场中的供应商也提供非功能性测试功能,例如负载/速度性能、不同级别的安全性和集成测试。随着应用程序——变得更加分散、基于云和全渠道,被分层设置到不同类型的架构中,使用微服务架构,它们的性能表现和安全漏洞也随之增加。此时这些测试就显得更加重要,然而RPA平台表现地并不理想。
  • 通过SVT(服务虚拟化测试)进行模拟。SVT技术可帮助开发人员和测试人员创建虚拟服务(例如存根、模型和Web服务),使检测可以在模拟环境中进行。通过SVT,您可以模拟测试业务应用程序的交互或服务。例如,在开发期间对真实机器人进行模拟测试(在开发期间,开发人员和测试人员通常没有业务访问的权限)。SVT之所以重要,因为它还从测试的角度支持架构解耦。如果多个开发人员或开发团队正在进行大规模的RPA,那么SVT可以帮助解耦依赖关系,并行进行构建和测试。像 Lloyds Banking Group这样的大型企业使用SVT技术来模拟复杂的集成场景,支持跨异构平台进行端到端的流程测试。这可能会成为支持大规模RPA所需具备的基本功能。
  • 结合使用AI和ML进行应用程序质量分析和报告。测试工具为功能测试和非功能测试提供了不同层面的报告,提供了全面的质量洞察。他们监控应用程序的运行状况及其部署的准备情况,并将运行状况监控结合到业务运营中。ML(机器学习)和AI在这一领域的应用越来越广泛,主要是因为它们非常擅长区分缺陷模式。测试工具正在利用AI来增强测试设备并使其变得更智能,同时也使一些基本测试实践更加自主化(例如,聚类错误或漏洞以帮助加快问题的识别和解决的速度)。这也是RPA平台的一个新兴方向。

共同的特征使它们更紧密地结合在一起

尽管起源和业务背景截然不同,但RPA和自动化测试工具都具有突出的自动化特性。我们发现,在自动化测试或RPA工具中交叉的自动化技术会增强或减弱,但这是一个很好的对比基础。对您拥有或正在考虑的产品集(RPA或自动化测试工具)进行特定评估。它们共同的主要自动化特性包括(见图2):

  • 自动化功能设计和执行环境。自动化测试工具构建测试用例并设计测试场景。同RPA设计工作室一样,它们具有编程环境。许多都是模型驱动的、图形化的、有脚本的和无脚本的,并且可以很容易地帮助构建机器人。不同之处在于这些机器人在测试环境中的执行,比如在开发阶段或在投入业务运行之前的准备阶段。然而,一些客户开始使用自动化测试工具来构建用于业务运营中的任务自动化机器人,这通常是RPA工具要做的事情。Forrester自动化框架显示了RPA和功能自动化测试工具之间的相似之处(见图3)。
  • 人机交互自动化。自动化测试工具可以通过脚本语言或无脚本方法在应用程序UI上自动模拟人工活动。例如,它们使用记录和回放的方式,就像RPA机器进行视觉自动化一样,它们操控和编排UI对象和API的自动化,还可以跨多个浏览器,移动设备和其他通道执行此操作。
  • 结合AI和ML提供报告和进行自我修复。两个工具都开始利用AI来实现更智能的自动化。自动化测试工具利用AI和ML来确定发生代码更改时要运行哪些回归测试。RPA利用AI来处理不确定性和突发的流程操作。两者都还使用AI和ML来评估它们所提供的自动化水平。如果自动化在UI层面中断,则二者在还原URL定位器和其他UI对象的自我修复能力都是有限的。因此,测试供应商都在努力不断提高工具的自我修复能力。
  • 自动化设备的版本控制和审计跟踪。为了在发生变动时更好地维护和追溯测试用例(或RPA,流程和任务用例)的自动化代码,版本控制就变得至关重要。两个工具都可以提供此功能。
  • 自动化编排(采用自动化技术进行自动化)。两者都可以编排自动化测试、流程或任务以实现端到端流程。自动化测试工具在业务预运行的测试过程中进行此操作。而RPA通过中心控制塔或存储库进行此操作,用于支持业务运行流程


图2:RPA And Test Automation Venn Diagram: Common Automation Technology And What’s Different

Picture
Picture


该篇是系列第二篇。点击链接阅读报告其他篇章: 第一篇第三篇

联系我们


请填写表格,我们将尽快与您取得联系。