文/侯健琦 田利娟 程伟静
DevOps强调全流程自动化,要求自动化测试系统接入快、资产积累快、回归通过率高。在实践过程中,资产积累往往是接口自动化测试比较耗时的环节。交易是构成自动化测试资产的基本组成单元,其格式积累效率是衡量自动化测试工具效率的重要指标。
擎云平台是农业银行自研的自动化测试平台,集业务分析、案例设计、案例执行、测试数据准备、测试结果分析于一体,已经助力农业银行6个试点项目顺利通过DevOps三级评估。在接口自动化测试领域,擎云平台已经实现了对XML、JSON等常见报文格式和HTTP、Web Service等常见通信协议的统一封装,大幅提升了自动化测试的效率。在接口交易录制方面,擎云平台经过多年的研究和探索,已经支持多种不同的录制方式,方便不同类型的系统灵活选择使用:
一、使用日志报文模板录制交易
一般来讲,被测应用往往会通过日志文件、数据库等方式,记录交易日志。对于接入擎云平台的系统,测试工程师可以通过上传日志文件的方式,一步完成交易格式、测试案例、测试数据的录制。如下图所示,测试人员通过简单的日志上传操作,即可直接录制生成可执行的日志案例,报文的参数值自动填写至擎云平台分割好的各交易字段中,省去大量维护测试案例和测试数据的时间。
图1. 模板录制方式
图2. 录制日志案例
图3. 案例录制效果图
二、Swagger API一键录制交易
如果被测应用的开发团队在开发过程中集成了 Swagger,那交易格式的积累和维护将更加自动化。测试工程师可在擎云平台通过录制的方式,一键解析被测系统所有的接口交易。并且,当应用系统代码更新后,擎云平台可以一键自动更新所有的交易格式,以及交易关联的自动化测试案例。这种方式大大降低了交易后期更新、维护的代价。
图4. Swagger录制方式
三、对接应用接口管理系统实现一键录制
应用接口管理系统是农行内部统一管理应用系统接口信息的平台。擎云平台通过对接应用接口管理系统,实现接口交易的一键录制。如下图所示,测试工程师可直接将应用接口管理系统中的接口交易导出,以zip包的方式上传擎云平台,实现一键解析录制。该录制方式省去了整理交易格式的过程,快速实现了交易录制操作。
图5. 应用接口管理系统交易录制
四、流式报文模板录制
对于纯流式报文,擎云平台提供了交易录制模板。测试工程师只需把接口参数及格式等信息填写在模板中,即可实现交易快速录制。
图6. 流式报文录制
在交易录制过程中,擎云平台将接口报文模型化分割,屏蔽各种类型报文的差异性,对外提供统一的格式和用户操作界面,大幅降低了自动化测试入门门槛。此外,擎云平台在系统接入的过程中,把交易格式区分公有域和私有域,将复杂的、不需要用户操作的字段放入公有域,由擎云平台配置的内置算法自动生成,使得测试工程师只需要关注对测试结果有影响的私有域,进一步缩短了自动化测试案例的设计时间。
综上,擎云平台通过日志报文录制、Swagger方式录制、应用接口管理系统报文录制、流式报文录制等不同的交易解析录制方式,满足了项目组多元化的需求,也大幅度提升了交易录制效率,降低了资产积累的代价,快速满足了DevOps快速积累自动化资产的需求。
2020年11月27日,由云计算开源联盟指导,由高效运维社区和开放运维联盟联合主办的 2020 GOPS 全球运维大会 · 上海站上,隆重发布了 DevOps 标准持续交付部分第九批评估结果,中国农业银行手机存款贷款模块顺利通过由中国信通院开展的《研发运营一体化(DevOps)能力成熟度持续交付3级评估。DevOps 标准共分 5 级,持续交付部分如果能达到 3 级已经是国内领先水准,这代表着中国农业银行在参评项目的持续交付能力达到国内领先水平。这是中国农业银行在 6 月 19 日同时 5 个项目通过持续交付标准评估之后通过的第 6 个项目。
中国农业银行通过 DevOps 标准持续交付部分的 3 级评估的项目,分别是:
- 信贷中台项目
- 个人网银项目
- 分布式应用互联平台(AIR)项目
- 增值税进项税管理项目
- 金融小店项目
- 手机银行存款贷款业务