一种故障测试方法、装置、存储介质及电子设备制造方法及图纸

技术编号:35220044 阅读:16 留言:0更新日期:2022-10-15 10:36
本说明书公开了一种故障测试方法、装置、存储介质及电子设备,先接收故障测试任务,然后根据该故障测试任务,通过预先部署在应用容器中的切面底座,确定待部署的切面程序以及该应用容器中的业务应用程序的切点,该切面程序用于引发所述应用容器中的业务应用程序产生故障,然后通过该切面底座,将该切面程序注入该应用容器中的业务应用程序的切点,当业务执行过程中触发该切面程序时,执行该切面程序,触发该应用容器产生异常,和/或触发该业务应用程序产生异常,最后根据该业务应用程序的业务执行结果,确定故障测试结果。通过采用切面程序实现故障测试,降低了业务应用程序和故障测试程序的耦合度,减少了工作量使得成本降低。低。低。

【技术实现步骤摘要】
一种故障测试方法、装置、存储介质及电子设备


[0001]本申请涉及计算机
,尤其涉及一种故障测试方法、装置、存储介质及电子设备。

技术介绍

[0002]目前,随着互联网的快速发展,用户对于自身的隐私数据越来越关注,对业务应用程序的故障测试也在随之发展。
[0003]现有技术中,存在通过引发业务应用程序故障,并观测业务应用程序状态,以进行故障测试的混沌工程方法,混沌工程是基于业务应用程序主动引发故障的方式进行故障测试的。
[0004]但是,为了实现混沌工程方法,需要基于业务应用程序编写用于引发故障的故障测试程序,以进行故障测试。导致业务应用程序与故障测试程序的耦合度较高,进行混沌工程的工作量较大,成本较高。
[0005]基于此,本说明书提供了一种采用安全切面的方式进行故障测试的方法。

技术实现思路

[0006]本说明书实施例提供的一种故障测试方法、装置、存储介质及电子设备,用于至少部分的解决现有技术中存在的问题。
[0007]本说明书采用下述技术方案:
[0008]本说明书提供了一种故障测试方法,包括:
[0009]接收故障测试任务;
[0010]根据所述故障测试任务,通过预先部署在应用容器中的切面底座,确定待部署的切面程序以及所述应用容器中的业务应用程序的切点,所述切面程序用于引发所述应用容器中的业务应用程序产生故障;
[0011]通过所述切面底座,将所述切面程序注入所述应用容器中的业务应用程序的切点;
[0012]当业务执行过程中触发所述切面程序时,执行所述切面程序,触发所述应用容器产生异常,和/或触发所述业务应用程序产生异常;
[0013]根据所述业务应用程序的业务执行结果,确定故障测试结果。
[0014]本说明书提供了一种故障测试装置,包括:
[0015]接收模块,用于接收故障测试任务;
[0016]确定模块,用于根据所述故障测试任务,通过预先部署在应用容器中的切面底座,确定待部署的切面程序以及所述应用容器中的业务应用程序的切点,所述切面程序用于引发所述应用容器中的业务应用程序产生故障;
[0017]部署模块,用于通过所述切面底座,将所述切面程序注入所述应用容器中的业务应用程序的切点;
[0018]执行模块,用于当业务执行过程中触发所述切面程序时,执行所述切面程序,触发所述应用容器产生异常,和/或触发所述业务应用程序产生异常;
[0019]测试模块,用于根据所述业务应用程序的业务执行结果,确定故障测试结果。
[0020]本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述故障测试方法。
[0021]本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述故障测试方法。
[0022]本说明书采用的上述至少一个技术方案能够达到以下有益效果:
[0023]在本说明书提供的故障测试方法,先接收故障测试任务,然后根据该故障测试任务,通过预先部署在应用容器中的切面底座,确定待部署的切面程序以及该应用容器中的业务应用程序的切点,该切面程序用于引发所述应用容器中的业务应用程序产生故障,然后通过该切面底座,将该切面程序注入该应用容器中的业务应用程序的切点,当业务执行过程中触发该切面程序时,执行该切面程序,触发该应用容器产生异常,和/或触发该业务应用程序产生异常,最后根据该业务应用程序的业务执行结果,确定故障测试结果。通过采用切面程序实现故障测试,降低了业务应用程序和故障测试程序的耦合度,减少了工作量使得成本降低,且提高了故障测试的灵活性。
附图说明
[0024]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0025]图1为本说明书提供的一种故障测试流程示意图;
[0026]图2为本说明书提供的一种测试系统示意图;
[0027]图3为本说明书提供的一种故障测试装置示意图;
[0028]图4为本说明书提供的一种实现故障测试方法的电子设备示意图。
具体实施方式
[0029]为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0030]目前,随着互联网技术的快速发展,对业务应用系统的稳定性要求越来越高。为了尽早发现系统故障,可通过故障测试技术对系统进行故障测试。目前,采用混沌工程方法对系统的稳定性进行故障测试,混沌工程本质上是通过在业务应用系统中主动引发故障或模拟故障产生原因,观测系统的反应,确定系统是否存在缺陷,即是否稳定。而为了测试系统的真实情况,通常在生产环境中进行混沌工程测试系统故障。
[0031]一般的,为了进行混沌工程,需要基于业务应用程序,实现故障测试程序引发故障,以进行故障测试。由于应用研发或维护过程中,通常由不同的开发人员分别负责业务应用程序和故障测试程序的开发任务,而这种基于业务应用程序实现故障测试程序的方式,使得业务应用程序与故障测试程序的耦合度较高,导致负责不同开发任务的开发人员之间
需要充分交流从而实现故障测试,工作量较大时间成本较高。进一步的,在版本迭代的过程中,无论是对业务应用程序进行版本迭代,还是对故障测试程序进行版本迭代,都需要两方的开发人员基于迭代中修改的代码进一步调整各自负责的程序,使得迭代的过程与故障测试能够同步进行,不断提高系统的稳定性。而在两方交流调整的过程中,极易出现测试以外的代码故障,导致代码修改的风险较高,工作量进一步增加,提高了时间成本。
[0032]另一方面,由于通过混沌工程进行故障测试通常是在生产环境下,而直接基于业务应用程序通过编码实现故障测试的方法,在出现测试意外时,难以及时调整代码控制故障的爆炸半径,系统的稳定性较差。所说的爆炸半径是指业务应用程序在业务执行过程中,局部故障引发的连锁反应导致最终引发的故障范围。
[0033]此外,还存在通过黑盒测试来进行混沌工程故障测试的方法,但是,一方面黑盒测试往往只能在系统暴露出来的输入接口进行输入,难以对业务应用程序的各个方法进行针对性测试,测试效果较差。且若出现测试意外时,难以撤销黑盒测试所带来的系统变化控制故障的爆炸半径,容易引起测试中意料之外的故障,系统的稳定性较差。
[0034]本说明书提供一种故障测试方法,通过采用安全切面的方式,降低业务应用程序与故障测试程序的耦合度,使得业务应用和故障测试可独立发展,减少实现故障测试的工作量,提高对故障测试进行调整的灵活度,降低成本。
[0035]其中,上本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种故障测试方法,所述方法包括:接收故障测试任务;根据所述故障测试任务,通过预先部署在应用容器中的切面底座,确定待部署的切面程序以及所述应用容器中的业务应用程序的切点,所述切面程序用于引发所述应用容器中的业务应用程序产生故障;通过所述切面底座,将所述切面程序注入所述应用容器中的业务应用程序的切点;当业务执行过程中触发所述切面程序时,执行所述切面程序,触发所述应用容器产生异常,和/或触发所述业务应用程序产生异常;根据所述业务应用程序的业务执行结果,确定故障测试结果。2.如权利要求1所述的方法,所述切面程序包含多类子切面程序,各类子切面程序用于在所述业务应用程序的不同切点产生不同类型的异常;根据所述故障测试任务,确定待部署的切面程序以及所述应用容器中的业务应用程序的切点,具体包括:根据所述故障测试任务,确定切面程序的部署规则;根据所述部署规则,确定待部署的各类子切面程序以及待部署的各类子切面程序与所述应用容器中的业务应用程序的各切点的对应关系。3.如权利要求2所述的方法,所述业务应用程序预设有多个切点;根据所述部署规则,确定待部署的各类子切面程序与所述应用容器中的业务应用程序的各切点的对应关系,具体包括:根据所述故障测试任务,从所述业务应用程序的各切点中,确定所述故障测试任务对应的各部署切点;根据所述部署规则,确定待部署的各类子切面程序与各部署切点的对应关系。4.如权利要求2所述的方法,每类子切面程序对应多个子切面程序,不同子切面程序对应于不同的异常引发策略,所述故障测试任务至少包括所述异常引发策略与各子切面程序的对应关系;通过所述切面底座,将所述切面程序注入所述应用容器中的业务应用程序的切点,具体包括:根据所述应用容器中的业务应用程序当前的异常引发策略,以及所述对应关系,从每类子切面程序对应的多个子切面程序中确定目标子切面程序;通过所述切面底座,根据各类子切面程序与所述应用容器中的业务应用程序的各切点的对应关系,在所述业务应用程序的各切点注入各目标子切面程序。5.如权利要求2所述的方法,执行所述切面程序,触发所述应用容器产生异常,和/或触发所述业务应用程序产生异常,具体包括:执行所述切面程序中对应于所述应用容器硬件类的子切面程序,触发所述应用容器对应的硬件产生硬件异常;或者执行所...

【专利技术属性】
技术研发人员:张锐
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1