实战 | 基于RPA技术的全流程测试方案与实践
随着数字化转型工作的全面推进,金融系统测试工作亟需提质增效,以适应快速发展的业务模式,提高测试效率和测试质量。银行系统运营中心的业务通常流程较长,跨多个系统协作完成交易的场景较多。对于长交易流程、多渠道协同的系统测试,主要依赖人工测试,由于执行步骤多且测试结果需人工确认,存在时间成本和人力成本较高的问题。在测试数据使用方面,测试数据准备和使用阶段依赖人工操作,过程繁琐,并需人工值守,自动化程度低。基于以上两个痛点问题,中国农业银行研发中心以RPA(机器人流程自动化)技术为基础,探索建立了全流程的测试方案并形成测试实践。
RPA是在人工智能和自动化技术的基础上建立的,以机器人作为虚拟劳动力,依据预先设定的程序与现有用户系统进行交互并完成预期任务的技术,无需改造现有系统。通过软件机器人自动处理大量重复性、具备规则性的工作流程任务,通过模拟鼠标点击、键盘输入等人工操作计算机过程,协助和替代员工完成各类重复性工作,实现计算机任务自动化处理的流程管理。针对高重复性、标准化、规则明确、大批量的日常事务,可以通过RPA平台设计出各种自动化的RPA应用,来替代人工完成高频重复工作,从而达到节省人力成本、减轻作业压力、提升业务处理效率和准确性的目的。RPA技术解决了跨系统的数据搬运工作问题,消除操作断点;高效应对自动化需求;替代人工完成高频重复工作,节省人力成本;可扩展对接人工智能技术,具备良好的拓展性。
建立全流程自动化测试方案
农行研发中心以一体化业务运行平台为基础建设RPA的全流程测试方案。以一体化业务运行平台为例,建立无人值守的机器人流程自动化测试工具,从关联系统发起业务,业务流转到一体化业务运行平台进行处理,提交记账,进行最终结果的确认,完成全流程业务功能测试。
图1 全业务流程测试方案实例
1.整合交易数据发起方式
建立健全创建交易数据的方法,即FRT方法(模拟人工前台操作)、INF方法(模拟接口调用)、SCT方法(执行自定义Python脚本)、DAM方法(修改关联系统数据库)等4种方式发起业务,使用各种测试数据生成方法满足交易数据要求。通过智能交互判断交易数据发起方式,建立RPA机器人,实现在不同交易数据发起方式之间的自由调度,利用RPA自动调用执行Python脚本,实现请求的批量、循环发送。
图2 整合的4种交易发起方式
2.实现动态测试数据访问
建设包含基础数据、衍生数据和混沌数据的标准数据集,按照每日/周/月或每个投产周期进行数据维护,在生成业务数据时进行动态的测试数据访问,在不同的测试场景中从本地获取标准数据集中的数据封装报文,在业务发起环节采用数据驱动的方式取用标准数据集的数据,满足回归测试或功能测试的需要。
图3 动态测试数据维护和访问方法
3.数据驱动流程分支选择
在业务流程图中设置判断节点,根据输入数据不同,形成不同逻辑分支的路径覆盖,将程序代码和业务流程图通过数据驱动的路径覆盖图有机结合起来,直观展现输入数据对路径的选择和逻辑覆盖情况。
4.自动识别业务处理结果
采取OCR识别、数据比对等方式实现业务处理结果的自动查证。
以RPA技术为基础建立的全流程测试方法,致力于在不改造原有系统、不修改原本程序的情况下对系统进行自动化处理,上手难度小,可以顺利实现业务自由调度,并符合轻量化自主开发的需求,在实践中,对多种业务流程开展全流程测试,其优势主要包括:针对长流程、多系统协同测试,可建立长链路无人值守机器人;采用非侵入式方法,无需对被测系统进行改造和接入;跨系统整合效率高,系统切换和操作全自动,形成业务全景视图;支持自主开发,可扩展性强。
测试数据自动化处理和使用方法
针对测试数据准备和使用过程高度依赖人工,重复性工作较为繁琐的痛点问题,建立了测试数据自动化处理和使用的方法,适配当前主流数据库,将测试数据应用于功能测试和性能测试,减少重复性工作,有效解放人力,形成数据驱动的测试执行过程。
1.数据提取:在RPA中配置数据库连接信息,支持Oracle、MySQL、TDSQL等主流数据库类型,执行SQL语句,以文本形式导出数据文件到本地。
2.数据处理:依赖RPA强大的Exce1表格数据处理能力以及Python脚本、VBS脚本高级开发能力,对提取的数据进行清洗、筛选、排序、组合、格式化等操作,实现测试数据的自动处理、回滚、备份。
3.数据使用:利用RPA将性能测试脚本和数据文件压缩,上传到XMeter性能测试平台,自动设置测试计划,执行测试并导出性能测试报告,对报告进行数据归集和分析。在性能调优时,利用RPA频繁、重复地执行性能测试将有效释放人力。
利用RPA技术,通过软件机器人自动处理大量重复性、具备规则性的工作流程任务,利用RPA的跨系统整合和数据集成功能,采用非侵入性的方法,实现拓展性、适应性、自动化的测试工具。从数据准备阶段开始,实现交易全流程自动化,并实现账务处理结果的最终确认。RPA具有良好的可移植性,在不需对系统进行程序改造的前提下,实现非侵入性的系统测试流程,减少了跨系统的全流程测试在不同系统间切换的操作,流程自动化程度高,建设门槛和难度低。RPA在全流程测试中的使用,有效降低了成本,实现了降本增效;实现了快速部署、跨系统整合,以及RPA+AI的智能应用;提高自动化运行的质量,将人员从繁琐重复的任务中解放出来,专注于更具专业性的工作中。
基于RPA技术,进行了全流程测试方法的系统性研究,建立健全了全流程测试的方案,产生了业务运营领域的测试实践。农行研发中心将继续以全流程测试过程为基础,整合OCR识别技术、生物特征识别技术、批量测试、Selenium自动化测试等技术,完善全流程测试的方法论,并在项目管理、外包管理等领域进行扩展探索。
