测试方法、装置、设备、介质和程序产品制造方法及图纸

技术编号:34983139 阅读:9 留言:0更新日期:2022-09-21 14:26
本公开提供了一种测试方法,涉及测试技术领域,可以应用于金融领域或其他领域。该测试方法包括:对目标事务发起交易测试,目标事务包括多阶段分布式事务;基于混沌工程,在交易测试的过程中注入至少一种故障,以使目标事务在预设阶段发生堵塞;获取在交易测试过程中生成的响应信息;根据响应信息,确定在发生堵塞后执行的第一流程;根据第一流程,确定目标事务的第一测试结果。本公开还提供了一种测试装置、设备、介质和程序产品。介质和程序产品。介质和程序产品。

【技术实现步骤摘要】
测试方法、装置、设备、介质和程序产品


[0001]本公开涉及测试
,具体地涉及一种测试方法、装置、电子设备、存储介质和程序产品。

技术介绍

[0002]事务(transaction)是指由一个或多个资源管理操作构成的一个操作序列。分布式事务是指操作序列中的操作涉及多个数据库(database,DB)的事务。
[0003]在分布式事务正式上线前,需要对分布式事务进行测试。目前,主要通过对事件状态进行修改以模拟异常,继而发起测试。但是,分布式事务的结构和运行环境复杂,导致某种异常的原因多种多样,例如,除已知的事件状态错误导致异常A外,还有可能因为运行环境的不稳定导致异常A。因此,仅通过上述修改事件状态的方式模拟异常具有局限性,测试覆盖率较低。

技术实现思路

[0004]鉴于上述问题,本公开提供了一种测试方法、装置、电子设备、存储介质和程序产品。
[0005]根据本公开的第一个方面,提供了一种测试方法,其中,包括:
[0006]对目标事务发起交易测试,所述目标事务包括多阶段分布式事务;
[0007]基于混沌工程,在所述交易测试的过程中注入至少一种故障,以使所述目标事务在预设阶段发生堵塞;
[0008]获取在所述交易测试过程中生成的响应信息;
[0009]根据所述响应信息,确定在发生所述堵塞后执行的第一流程;
[0010]根据所述第一流程,确定所述目标事务的第一测试结果。
[0011]根据本公开的实施例,所述对目标事务发起交易测试,包括:<br/>[0012]对所述目标事务的输入和输出进行解析,以得到业务数据字段、非业务数据字段以及与所述业务数据字段相匹配的第一赋值;
[0013]对非业务数据字段的至少部分进行自适应赋值,以得到第二赋值;
[0014]根据所述业务数据字段、所述非业务数据字段、所述第一赋值和所述第二赋值,生成测试案例;
[0015]根据所述测试案例,对所述目标事务发起交易测试。
[0016]根据本公开的实施例,所述测试方法还包括:
[0017]获取测试脚本,所述测试脚本包括多个测试流程;
[0018]所述根据所述测试案例,对所述目标事务发起交易测试,包括:
[0019]根据所述测试脚本的多个所述测试流程,从所述测试案例中加载数据,以对所述目标事务发起交易测试;
[0020]其中,多个测试流程包括数据预处理流程、环境备份流程、交易测试流程和环境恢
复流程。
[0021]根据本公开的实施例,所述预设阶段包括多阶段分布式事务的数据准备阶段,所述基于混沌工程,在所述交易测试的过程中注入至少一种故障,以使所述目标事务在预设阶段发生堵塞,包括:
[0022]基于混沌工程,在所述交易测试的过程中注入至少一种延时故障,以使所述目标事务在所述数据准备阶段发生堵塞;
[0023]所述根据所述响应信息,确定在发生所述堵塞后执行的第一流程,包括:
[0024]根据所述响应信息,利用断言分析,确定所述第一流程是否包括执行空回滚的流程。
[0025]根据本公开的实施例,所述基于混沌工程,在所述交易测试的过程中注入至少一种故障,以使所述目标事务在预设阶段发生堵塞,还包括:
[0026]基于混沌工程,在执行所述空回滚流程之后,解除所述堵塞;
[0027]所述根据所述响应信息,确定在发生所述堵塞后执行的第一流程,包括:
[0028]根据所述响应信息,利用断言分析,确定所述第一流程是否包括防悬挂流程。
[0029]根据本公开的实施例,根据所述第一流程,确定所述目标事务的第一测试结果,包括:
[0030]当所述第一流程包括所述空回滚流程和所述防悬挂流程时,确定所述第一测试结果为测试通过。
[0031]根据本公开的实施例,所述延时故障包括网络延时故障和/或SQL延时故障。
[0032]根据本公开的实施例,所述测试方法还包括:
[0033]在所述交易测试过程中,基于混沌工程,对用于执行所述目标事务的服务器注入至少一种故障,以使所述服务器中用于处理所述目标事务的容器出现异常;
[0034]根据所述响应信息,确定在容器出现异常后执行的第二流程;
[0035]根据所述第二流程,确定所述目标事务的第二测试结果。
[0036]根据本公开的实施例,在所述交易测试过程中,基于混沌工程,对用于执行所述目标事务的服务器注入至少一种故障,以使所述服务器中用于处理所述目标事务的容器出现异常,包括:
[0037]基于混沌工程,对用于执行所述目标事务的服务器注入至少一种资源故障,以使所述服务器中用于处理所述目标事务的容器出现异常,所述资源故障包括:处理器故障、内存故障和磁盘故障中的至少一者。
[0038]根据本公开的实施例,所述测试方法还包括:
[0039]当所述第一测试结果和所述第二测试结果均为测试通过时,根据所述响应信息,利用断言分析,确定所述目标事务在每个阶段的处理结果;
[0040]当每个阶段的处理结果均满足预期时,确定第三测试结果为测试通过。
[0041]本公开的第二方面提供了一种测试装置,其中,包括:
[0042]测试模块,用于对目标事务发起交易测试,所述目标事务包括多阶段分布式事务;
[0043]混沌工程模块,用于基于混沌工程,在所述交易测试的过程中注入至少一种故障,以使所述目标事务在预设阶段发生堵塞;
[0044]获取模块,用于获取在所述交易测试过程中生成的响应信息;
[0045]第一处理模块,用于根据所述响应信息,确定在发生所述堵塞后执行的第一流程;
[0046]第二处理模块,用于根据所述第一流程,确定所述目标事务的第一测试结果
[0047]本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述的测试方法。
[0048]本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述的测试方法。
[0049]本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的测试方法。
[0050]上述一个或多个实施例具有如下优点或益效果:
[0051]在本公开实施例中,在交易测试过程中,基于混沌工程能够通过注入各种故障的方式模拟异常(也即“目标事务在预设阶段发生堵塞”),较于传统方案仅通过修改特定数据(预期的测试条件)模拟异常的方案而言,本公开实施例在结合混沌工程后,可以使得测试案例大幅增加,从而涵盖各种可能的情况,提高测试覆盖率。
[0052]更重要的是,基于混沌工程,能够模拟“目标事务在预设阶段发生堵塞”这一异常,进而制造通过传统手段(例如修改事件状态)难以模拟的空回滚和防悬挂等场景。通过本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种测试方法,其特征在于,包括:对目标事务发起交易测试,所述目标事务包括多阶段分布式事务;基于混沌工程,在所述交易测试的过程中注入至少一种故障,以使所述目标事务在预设阶段发生堵塞;获取在所述交易测试过程中生成的响应信息;根据所述响应信息,确定在发生所述堵塞后执行的第一流程;根据所述第一流程,确定所述目标事务的第一测试结果。2.根据权利要求1所述的测试方法,其特征在于,所述对目标事务发起交易测试,包括:对所述目标事务的输入和输出进行解析,以得到业务数据字段、非业务数据字段以及与所述业务数据字段相匹配的第一赋值;对非业务数据字段的至少部分进行自适应赋值,以得到第二赋值;根据所述业务数据字段、所述非业务数据字段、所述第一赋值和所述第二赋值,生成测试案例;根据所述测试案例,对所述目标事务发起交易测试。3.根据权利要求2所述的测试方法,其特征在于,所述测试方法还包括:获取测试脚本,所述测试脚本包括多个测试流程;所述根据所述测试案例,对所述目标事务发起交易测试,包括:根据所述测试脚本的多个所述测试流程,从所述测试案例中加载数据,以对所述目标事务发起交易测试;其中,多个测试流程包括数据预处理流程、环境备份流程、交易测试流程和环境恢复流程。4.根据权利要求1所述的测试方法,其特征在于,所述预设阶段包括多阶段分布式事务的数据准备阶段,所述基于混沌工程,在所述交易测试的过程中注入至少一种故障,以使所述目标事务在预设阶段发生堵塞,包括:基于混沌工程,在所述交易测试的过程中注入至少一种延时故障,以使所述目标事务在所述数据准备阶段发生堵塞;所述根据所述响应信息,确定在发生所述堵塞后执行的第一流程,包括:根据所述响应信息,利用断言分析,确定所述第一流程是否包括执行空回滚的流程。5.根据权利要求4所述的测试方法,其特征在于,所述基于混沌工程,在所述交易测试的过程中注入至少一种故障,以使所述目标事务在预设阶段发生堵塞,还包括:基于混沌工程,在执行所述空回滚流程之后,解除所述堵塞;所述根据所述响应信息,确定在发生所述堵塞后执行的第一流程,包括:根据所述响应信息,利用断言分析,确定所述第一流程是否包括防悬挂流程。6.根据权利要求5所述的测试方法,其特征在于,根据所述第一流程,确定所述目标事务的第一测试结果,包括:当所述第一流程包括所述空回滚流程和所述防悬挂流程时,确定所述第一测试...

【专利技术属性】
技术研发人员:罗秉安朱乐和程灿权林芝峰
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1