票据系统交易具有错综复杂,跨系统,多协议的特点。为更好的开展票据系统接口自动化测试,提升接口测试水平,笔者基于Xmeter(客户端版)开展系统间接口测试,积累环境可用性的快速验证方法和测试数据准备方法。
一、背景
测试人员在票据系统的测试过程中,发现业务流程很长,系统间调用频繁,比如票据系统要和C3、BoEing,网银交互,还和ECDS交互,还用到Air,内部也是有票据交易系统(CPES),贸易通(HERMES),数字票据(DCDP),每个系统都有单独的界面和服务,票据系统还有服务端,用户端,前置,批量等子系统,相互调用,协议众多,包括http和soap协议,后续还要推广DevOps,自动化,性能,同时测试人员也饱受各种票据操作和出票流程的困绕,繁琐而重复。
二、工具
结合自己对测试工具的了解,包括行内的擎云,Xmeter(客户端版),Xmeter等。擎云自动化目前有个局限,暂时无法进行界面和接口的联合自动化,而且系统跨BoEing,CPES,DCDP,C3也为擎云自动化增加了难度,
选择Xmeter(客户端版)进行尝试,一是作为一款业界流行的性能测试工具,该工具在实际的性能测试中,可以应对多种协议,界面和接口交易,可以说不惧任何协议,不惧界面接口,应用广泛。
三、研究
1.通过性能测试工具抓取界面或者接口交易的原理,进行扩展发散,以数字票据电票出票申请为例,如下图:
填写界面参数,包括反显的内部接口(红框里),均能被Xmeter(客户端版)捕捉到,如下图:
下面截图就是第一个红色框反显的调用的接口。
Xmeter(客户端版)提供参数化和回放功能,合理的配置可以轻易满足回归测试需要,同时进行简单的初步性能测试。
2.Xmeter(客户端版) 还可应用到BoEing的票据模块的接口交易的测试,以BoEing结算服务中的承兑回复经办为例。
从BoEing开发人员或者Log中获取报文,拼装报文,通过Xmeter(客户端版)作为接口测试工具,如下图,业务编号可以参数化为${业务编号},业务编号可以通过前后交易关联获得,也可以去数据库中查找。
3.Xmeter(客户端版)同样适用于C3系统的界面录制。
录制完成的Xmeter(客户端版)脚本如下图,发起手工登记保存,涉及到工作流需要通过正则表达式从上一交易中获取,省去了这种情况在ATP接入时需要二次开发解析的过程。
4.Xmeter(客户端版)另一个优势就是可以连接数据库获取所需数据,数据库配置如下。
查询所需数据,直接将sql语句嵌入即可,参数也可参数化。
四、希望
经了解,目前TFS暂时无法调起Xmeter(客户端版)或Xmeter,在DevOps推广中没有勇武之地,后续如果TFS能直接调起Xmeter(客户端版)或者Xmeter,将会从另一方向提高中心接口自动化水平和DevOps加分点,因为Xmeter(客户端版)是性能测试工具,TFS调起Xmeter(客户端版)或者Xmeter,即是接口自动化回归和性能测试自动化的又一方式,可以与行内擎云平台互补。
五、总结
老生常谈,工欲善其事必先利其器,经过了对Xmeter(客户端版)一定的摸索和研究,结合现在中心强调的DevOps工作和接口测试深化工作的开展,借此契机,向各位读者介绍Xmeter(客户端版),希望能抛砖引玉,让各位受益于Xmeter(客户端版)的使用,应用于自己的开发和接口测试中,将银行研发测试一体化工作提升上新台阶。
作者:王炜
来源:51Testing软件测试网原创