近年来,伴随着金融科技、互联网金融业务的浪潮,依托大数据、人工智能、云计算等技术的进步,线上信贷产品在银行信贷业务中占据越来越多的比重,承载这些业务的银行系统通常具有关联系统众多、接口调用关系复杂等特点,测试难度较大。于是,我们以接口自动化测试为切入点,对线上信贷业务的测试工具及其应用开展探索和研究。

点击添加图片描述(最多60个字)

一、工具选择

工欲善其事,必先利其器。我们调研了 Postman 、Poster 、Jmeter 等几款开源的自动化测试工具:

JMeter:一款开源的性能测试工具,操作简单、方便,既有 JDBC request 操作数据库数据,也有 Http request 和 Soap request 应对测试。它通常可以用于测试静态或者动态资源的性能(文件、Servlets、Perl 脚本、java 对象、数据库和查询、ftp 服务器或者其他的资源),使用 JMeter 提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。

Poster:火狐浏览器自带的借口测试工具,插件中安装即可,界面简单明了,容易上手。

Postman :原为谷歌浏览器的扩展工具,目前已成为独立软件,界面简洁,与Poster 差别不大,功能较 Poster 更为强大,可保存执行场景并分类管理。支持通过Newman 等插件进行命令行提示符调度运行。

Cucumber:与以上几种特定工具不同,更像是一个以场景编辑器,需与其他测试工具结合使用。功能齐全,需要一定编程技术基础,学习成本较高。

经过调研,我们发现,Postman 是一款功能较为强大的 Http 调试与模拟插件,可以发送几乎所有类型的 Http 请求。同时,它界面功能较为友好,使用方便,应用较为广泛。

点击添加图片描述(最多60个字)


点击添加图片描述(最多60个字)

二、线上信贷业务接口测试的实际应用

完成工具调研之后,我们结合线上场景贷款的典型业务流程,对 Postman 工具进行了应用。

线上贷款产品,通常由客户自助发起,从通过各种渠道入口(例如:掌上银行、网上银行、网点柜面)进行申请和办理。针对我们关注的线上贷款运算逻辑,我们使用Postman 工具来模拟从各个渠道系统发送过来的请求报文,实现对信贷系统的测试,通过调整不同的输入信息,验证系统处理逻辑。

在贷款申请、审批、放款三个环节,使用 Postman 编制三支接口功能测试脚本;在线上贷款的申请、审批和发放三个环节中,通过在 pre-request script 设置序列号进行参数配置,从返回值中抓取变量的返回结果进行变量存储关联,实现了不同环节的报文串联;通过在 Collections 集合中统一管理和调度脚本,使脚本集合能够支持业务从头到尾的全流程自动化测试和验证。

点击添加图片描述(最多60个字)

线上信贷业务系统除了关注业务处理逻辑之外,对于客户信息,如:姓名、身份证号、手机号等需要做重点的校验,包括唯一性校验、信息字段本身的合法性校验等。这无疑给我们的接口自动化测试带来了很大困难,对于这种多样性问题,Postman 有什么好的解决办法吗? 通过探索实践发现,我们可以编写 JS 脚本去解决这个问题。 例如:

1、客户姓名自动生成

点击添加图片描述(最多60个字)

2、客户手机号码自动生成

点击添加图片描述(最多60个字)

经过实际使用,Postman工具可以较好的支持上述场景的接口测试,支持测试数据和测试参数的配置,统一管理和调度测试执行,通过脚本的导入导出实现脚本备份和共享。另外还可以通过使用环境变量配置实现同一测试集合脚本在不同测试环境中的运行,使用 Newman插件实现脚本的命令行执行,大大提高了脚本实际应用的便利性和可扩展性。

扫码关注公众号,获取更多测试干货!欢迎转载,转载文章请在微信后台留言哦!