一种自动化测试方法及装置制造方法及图纸

技术编号:32106839 阅读:11 留言:0更新日期:2022-01-29 18:48
本发明专利技术涉及金融科技(Fintech)领域,公开一种自动化测试方法及装置,基于设定的目标测试对象,对基态测试案例进行裁剪,得到目标测试案例;基态测试案例是通过对业务请求运行于业务系统期间涉及的入口函数进行录制得到的;基态测试案例包括入口函数在执行过程中的各数据库操作记录及各数据库操作记录分别对应的各数据库恢复操作记录;基于各数据库操作记录和各数据库恢复操作记录,按照各数据库操作记录的执行顺序,以逆序方式依次恢复数据库,得到目标测试案例在录制之前的数据形态;在该数据形态下,回放目标测试案例。该方式可达到一种低造数成本的条件、快速生成各自动化测试案例的效果。案例的效果。案例的效果。

【技术实现步骤摘要】
一种自动化测试方法及装置


[0001]本申请实施例涉及金融科技(Fintech)领域,尤其涉及一种自动化测试方法及装置。

技术介绍

[0002]随着计算机技术的发展,越来越多的技术(例如:大数据、云计算或区块链)应用在金融领域,传统金融业正在逐步向金融科技转变。例如,在大数据技术的背景下,银行的业务系统在不断地进行着版本升级。其中,版本升级期间,对于业务系统中的一些旧功能是否完好的测试,可以采用自动化的方式进行。例如,在当前的银行软件测试领域,随项目版本进度,需要进行单元测试、集成测试、系统测试、验收测试等多轮测试,分别以函数代码、功能接口、单一子系统、全链路子系统作为测试对象,分别由开发人员、系统集成测试(System Integration Testing,SIT))人员、用户验收测试(User Acceptance Testing,UAT)人员完成。每个测试节点都要求各个测试执行人根据自己的需要、用不同的框架编写相应的自动化测试案例,测试成本成倍放大。自动化测试又分为数据准备、案例执行、结果校验三部分内容,重复工作多。而且,银行业务一般链路很长,涉及的上下游系统繁多,这要求各个阶段的测试执行人在造数时需要对系统逻辑和数据结构有深入理解,故存在很高的学习和沟通成本,使造数难度变大,尤其是在涉及批量的造数时,更需要上下游多方配合,人力成本巨大;可能只有单个子系统一个小改动,却依然需要了解上下游多个子系统的数据结构,如此才能造出需要的测试数据。
[0003]因此,目前亟需一种造数成本低、自动化测试案例构建逻辑简单的自动化测试方法。

技术实现思路

[0004]本申请提供一种自动化测试方法及装置,用以达到在低造数成本的条件下、快捷构建自动化测试案例的效果。
[0005]第一方面,本申请实施例提供一种自动化测试方法,该方法包括:基于设定的目标测试对象,对基态测试案例进行裁剪,得到目标测试案例;所述基态测试案例是通过对业务请求运行于业务系统期间涉及的入口函数进行录制得到的;其中,所述基态测试案例包括所述入口函数的传入参数和返回值、所述入口函数中的各关键子函数的传入参数和返回值、所述入口函数在执行过程中的各数据库操作记录及所述各数据库操作记录分别对应的各数据库恢复操作记录;基于所述各数据库操作记录和所述各数据库恢复操作记录,按照所述各数据库操作记录的执行顺序,以逆序方式依次恢复数据库,得到所述目标测试案例在录制之前的数据形态;在所述数据形态下,回放所述目标测试案例。
[0006]上述方案中,基于流量的拦截与录制,通过录制一个业务请求所对应的基态测试案例,在该业务请求涉及到业务系统中一个全链路子系统时,那么通过裁剪经录制得到的基态测试案例,可轻松得到满足各种测试条件的各子测试案例,即目标测试案例;同时,在
基态测试案例的录制过程中,通过将录制的数据库操作记录转换为对数据库进行恢复的各数据库恢复操作记录,则可以在后续回放目标测试案例时,将数据库快速恢复至目标测试案例在录制之前的数据形态。该方式可达到一种低造数成本的条件、快速生成各自动化测试案例的效果。
[0007]在一种可能实现的方法中,所述基态测试案例是通过对业务请求运行于业务系统期间涉及的入口函数进行录制得到的,包括:针对所述业务请求运行于所述业务系统期间的入口函数,获取所述入口函数的传入参数;在执行到所述入口函数中的任一数据库操作时,挂起所述数据库操作并基于所述数据库操作之前的数据库的初始数据形态生成所述数据库操作对应的数据库恢复操作记录,并在缓存所述数据库操作记录和所述数据库操作记录对应的数据库恢复操作记录之后,执行所述数据库操作;在执行到所述入口函数中的任一关键子函数时,获取所述关键子函数的传入参数和返回值;在结束对所述入口函数的运行后,获取所述入口函数的返回值,并备份数据库的结束数据形态。
[0008]上述方案中,描述了基态测试案例的生成过程,包括可通过AOP技术,对业务器请求进行拦截,从而获取该业务请求执行过程中的一些参数,包括该业务请求对应的入口函数的传入参数和返回值、入口函数的各数据库操作记录及对应的各数据库恢复操作记录、各关键子函数的传入参数和返回值以及该业务请求在执行后的结束数据形态,该些内容即为基态测试案例的内容;基于基态测试案例,后续即可以按照用户自定义的需求对该基态测试案例进行裁剪,从而快速获取到用户想要的目标测试案例,并实现对目标测试案例的自动化测试。
[0009]在一种可能实现的方法中,所述基于所述数据库操作之前的数据库的初始数据形态生成所述数据库操作对应的数据库恢复操作记录,包括:基于所述数据库操作,生成所述数据库操作对应的数据库查询语句,并通过所述数据库查询语句,得到数据库的初始数据形态;基于所述数据库的初始数据形态,生成所述初始数据形态对应的数据库新增操作,并作为所述数据库操作对应的数据库恢复操作记录。
[0010]上述方案中,描述了各数据库恢复操作记录的生成过程,包括对于业务请求执行过程中的每一个数据库操作,可基于AOP技术,挂起该数据库操作,也即并不立马执行该数据库操作,而是生成与该数据库操作对应的数据库查询语句,并通过执行该数据库查询语句,就可以得到数据库的初始数据形态,在拿到数据库的初始数据形态后,可以生成与该初始数据形态对应的数据库新增操作,该数据库新增操作即为数据库恢复操作记录。该方式中,在基态测试案例录制的过程中,针对任一数据库操作记录,通过构建与之对应的数据库恢复操作,如此在后续回放目标测试案例之前,可轻松基于每一组的数据库操作记录和对应的数据库恢复操作记录,而将数据库快速恢复到目标测试案例录制之前的数据形态,如此就可以实现对目标测试案例的自动化测试了。
[0011]在一种可能实现的方法中,所述目标测试对象为所述入口函数;所述基于设定的目标测试对象,对基态测试案例进行裁剪,得到目标测试案例,包括:将所述入口函数的传入参数作为目标测试案例中的测试报文;将所述入口函数的返回值作为所述目标测试案例中的报文校验点;将所述入口函数中、不在设定范围的各关键子函数的传入参数和返回值作为所述目标测试案例中的挡板数据;将所述入口函数在执行各数据库操作后得到的数据形态作为所述目标测试案例中的数据形态校验点。
[0012]上述方案中,描述了在目标测试对象为入口函数时,该如何对基态测试案例进行裁剪,以得到目标测试案例。该方式中实现了对基态测试案例的一次录制,即可重复使用的效果。
[0013]在一种可能实现的方法中,所述目标测试对象为所述入口函数中的任一关键子函数;所述基于设定的目标测试对象,对基态测试案例进行裁剪,得到目标测试案例,包括:将所述关键子函数的传入参数作为目标测试案例中的测试报文;将所述关键子函数的返回值作为所述目标测试案例中的报文校验点;将所述关键子函数中、为各外部接口调用的各关键子函数的传入参数和返回值作为所述目标测试案例中的挡板数据;将所述关键子函数执行后得到的结束数据形态作为所述目标测试案例中的数据形态校验点。
[0014]上述方案中,描述了在目标测试本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自动化测试方法,其特征在于,包括:基于设定的目标测试对象,对基态测试案例进行裁剪,得到目标测试案例;所述基态测试案例是通过对业务请求运行于业务系统期间涉及的入口函数进行录制得到的;其中,所述基态测试案例包括所述入口函数的传入参数和返回值、所述入口函数中的各关键子函数的传入参数和返回值、所述入口函数在执行过程中的各数据库操作记录及所述各数据库操作记录分别对应的各数据库恢复操作记录;基于所述各数据库操作记录和所述各数据库恢复操作记录,按照所述各数据库操作记录的执行顺序,以逆序方式依次恢复数据库,得到所述目标测试案例在录制之前的数据形态;在所述数据形态下,回放所述目标测试案例。2.如权利要求1所述的方法,其特征在于,所述基态测试案例是通过对业务请求运行于业务系统期间涉及的入口函数进行录制得到的,包括:针对所述业务请求运行于所述业务系统期间的入口函数,获取所述入口函数的传入参数;在执行到所述入口函数中的任一数据库操作时,挂起所述数据库操作并基于所述数据库操作之前的数据库的初始数据形态生成所述数据库操作对应的数据库恢复操作记录,并在缓存所述数据库操作记录和所述数据库操作记录对应的数据库恢复操作记录之后,执行所述数据库操作;在执行到所述入口函数中的任一关键子函数时,获取所述关键子函数的传入参数和返回值;在结束对所述入口函数的运行后,获取所述入口函数的返回值,并备份数据库的结束数据形态。3.如权利要求2所述的方法,其特征在于,所述基于所述数据库操作之前的数据库的初始数据形态生成所述数据库操作对应的数据库恢复操作记录,包括:基于所述数据库操作,生成所述数据库操作对应的数据库查询语句,并通过所述数据库查询语句,得到数据库的初始数据形态;基于所述数据库的初始数据形态,生成所述初始数据形态对应的数据库新增操作,并作为所述数据库操作对应的数据库恢复操作记录。4.如权利要求1所述的方法,其特征在于,所述目标测试对象为所述入口函数;所述基于设定的目标测试对象,对基态测试案例进行裁剪,得到目标测试案例,包括:将所述入口函数的传入参数作为目标测试案例中的测试报文;将所述入口函数的返回值作为所述目标测试案例中的报文校验点;将所述入口函数中、不在设定范围的各关键子函数的传入参数和返回值作为所述目标测试案例中的挡板数据;将所述入口函数在执行各数据库操作后得到的数据形态作为所述目标测试案例中的数据形态校验点。5.如权利要求1所述的方法,其特征在于,所述目标测试对象为所述入口函数中的任一
关键子函数;所述基于设定的目标测试对象,对基态测试案例进行裁剪,得到目标测试案例,包括:将所述关键子函数的传入参数作为目标测试案例中的测试报文;将所述关键子函数的返回值作为所述目标测试案例中的报文校验点;将所述关键子函数中、为各外部接口调用的各关键子函数的传入参数和返回...

【专利技术属性】
技术研发人员:曾凌子符敬伟邓泳笙江旻杨杨张晶李理
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1