本申请公开了一种健壮性测试过程的实现方法和装置,通过应用本申请实施例的技术方案,在健壮性测试过程中,根据预先配置的故障注入策略,向所述被测试系统注入相应的延迟故障信息,以模拟相应的故障场景,并把业务维度监控数据与系统维度的响应延迟的趋势进行关联,通过建模来量化每种响应延迟类故障对业务链路健壮性的影响,通过这种基于响应延迟趋势的健壮性建模方法,既可以量化响应延迟对业务TPS的影响度,又可以在给定业务预期TPS的条件下,量化所能忍受的最差响应延迟。
【技术实现步骤摘要】
健壮性测试过程的实现方法和装置
本申请涉及系统测试领域,尤其涉及一种健壮性测试过程的实现方法和装置。
技术介绍
健壮性测试(RobustnessTesting)又称为容错性测试(FaultToleranceTesting),用于测试系统在出现故障时,是否能够自动恢复或者忽略故障继续运行。为了使系统具有良好的健壮性,要求设计人员在做系统设计时必须周密细致,尤其要注意妥善地进行系统异常的处理。在当前的例如健壮性测试等类型的功能测试过程中,虽然有很多的异常用例,但是大部分都是通过构造无效或者非法请求,用单线程验证是否该异常用例是否被代码的异常逻辑捕获。部分测试用例会采用字节码注入的方式来动态地模拟故障,来观察系统或业务在某一故障条件下的表现。在当前的性能测试过程中,关注在不同的高并发下评估系统或业务的性能表现。线上集群演练通常是用系统命令(e.g.tc,iptables等)来模拟网络拥塞的情况,来观察该故障对线上生产系统的容错性、恢复性和性能的影响度。在实现本申请的过程中,本申请的申请人发现现有技术存在以下缺陷:在当前的功能测试过程中,很少会考虑在大并发的情况下,某类特定故障对业务的影响度,也基本没有把该系统维度的故障与链路业务维度的场景进行关联,更没有考虑对响应延迟故障的趋势进行建模分析。并且,线上集群演练通常是用系统命令(e.g.tc,iptables等)来模拟网络拥塞的情况,很难做到精确的、细粒度的延迟模拟(比如精确模拟某系统的某接口的响应延迟),而且也基本没有考虑对响应延迟的趋势进行建模分析。基于上述的缺陷,如何更精确、全面的实现健壮性测试过程,成为了现有技术方案亟待解决的重要问题。
技术实现思路
本申请提供了一种健壮性测试过程的实现方法和装置,能够解决现有技术中,无法更精确、全面的实现健壮性测试过程的问题。为达到上述目的,本申请实施例一方面提供了一种健壮性测试过程的实现方法,所述方法包括:启动业务压测进程,开始对当前业务在被测试系统中的执行过程施加测试压力;根据预先配置的故障注入策略,向所述被测试系统注入相应的延迟故障信息,以模拟相应的故障场景;监控所述业务在所述被测试系统被注入所述延迟故障信息后的执行情况的数据信息,并进行量化处理;根据所述量化处理后的数据信息,生成所述被测试系统中的所述业务在所述故障场景下的健壮性测试结果。优选的,所述预先配置的故障注入策略,至少包括:故障注入周期、故障注入的目标接口以及待注入的延迟故障信息。优选的,所述根据预先配置的故障注入策略,向所述被测试系统注入相应的延迟故障信息,以模拟相应的故障场景,具体包括:根据所述故障注入周期,向所述被测试系统中与所述目标接口相对应的接口注入所述待注入的延迟故障信息,以模拟相应的故障场景。优选的,所述监控所述业务在所述被测试系统被注入所述延迟故障信息后的执行情况的数据信息,并进行量化处理,具体包括:将业务维度的监控数据与系统维度的响应延迟进行关联,按照如下公式,对故障i所对应的故障场景下,当前业务在所述被测试系统中的响应延迟情况TPS故障i进行量化统计:其中:TPS正常表示正常状态下的业务TPS;RPT正常表示正常状态下的业务平均响应时间;DELAY故障i表示在故障i所对应的故障场景下模拟的响应延迟;c表示被注入故障i的系统接口在该业务场景中的被调用的次数。优选的,所述根据所述量化处理后的数据信息,生成所述被测试系统中的所述业务在所述故障场景下的健壮性测试结果,具体包括:将所述量化处理后的数据信息与预设的健壮性测试阈值相比较,根据比较结果,确定所述被测试系统中的所述业务在所述故障场景下的健壮性测试结果。另一方面,本申请实施例还提出了一种健壮性测试装置,具体包括:测试模块,用于启动业务压测进程,开始对当前业务在被测试系统中的执行过程施加测试压力;故障注入模块,用于根据预先配置的故障注入策略,向所述被测试系统注入相应的延迟故障信息,以模拟相应的故障场景;监控模块,用于监控所述业务在所述被测试系统被所述故障注入模块注入所述延迟故障信息后的执行情况的数据信息,并进行量化处理;处理模块,用于根据所述监控模块量化处理后的数据信息,生成所述被测试系统中的所述业务在所述故障场景下的健壮性测试结果。优选的,所述预先配置的故障注入策略,至少包括:故障注入周期、故障注入的目标接口以及待注入的延迟故障信息。优选的,所述故障注入模块,具体用于:根据所述故障注入周期,向所述被测试系统中与所述目标接口相对应的接口注入所述待注入的延迟故障信息,以模拟相应的故障场景。优选的,所述监控模块,具体用于:将业务维度的监控数据与系统维度的响应延迟进行关联,按照如下公式,对故障i所对应的故障场景下,当前业务在所述被测试系统中的响应延迟情况TPS故障i进行量化统计:其中:TPS正常表示正常状态下的业务TPS;RPT正常表示正常状态下的业务平均响应时间;DELAY故障i表示在故障i所对应的故障场景下模拟的响应延迟;c表示被注入故障i的系统接口在该业务场景中的被调用的次数。优选的,所述处理模块,具体用于:将所述量化处理后的数据信息与预设的健壮性测试阈值相比较,根据比较结果,确定所述被测试系统中的所述业务在所述故障场景下的健壮性测试结果。与现有技术相比,本申请所提出的技术方案至少具有以下优点:通过应用本申请实施例的技术方案,在健壮性测试过程中,根据预先配置的故障注入策略,向所述被测试系统注入相应的延迟故障信息,以模拟相应的故障场景,并把业务维度监控数据与系统维度的响应延迟的趋势进行关联,通过建模来量化每种响应延迟类故障对业务链路健壮性的影响,通过这种基于响应延迟趋势的健壮性建模方法,既可以量化响应延迟(精细到接口粒度)对业务TPS的影响度,又可以在给定业务预期TPS的条件下,量化所能忍受的最差响应延迟(精细到接口粒度)。而且通过此模型,可以量化强弱依赖的系统接口对业务场景的影响度,并且建立健壮性基线用于健壮性回归。附图说明图1为本申请实施例提供的一种健壮性测试过程的实现方法的流程示意图;图2为本申请实施例提供的一种应用场景下的健壮性测试过程的实现方法的流程示意图;图3为本申请实施例提供的一种应用场景下的健壮性测试过程所生成的曲线示意图;图4为本申请实施例提供的一种应用场景下的健壮性测试过程两轮发布的健壮性回归结果的示意图;图5为本申请实施例提供的一种健壮性测试装置的结构示意图。具体实施方式如
技术介绍
所述,在当前的功能测试过程中虽然有很多的异常用例,但是大部分都是通过构造无效或者非法请求,用单线程验证是否该异常用例是否被代码的异常逻辑捕获;很少会考虑在大并发的情况下,某类特定故障对业务的影响度。部分测试用例虽然采用了故障注入的方式来模拟异常情况,但基本没有把该系统维度的故障与链路业务维度的场景进行关联,更没有考虑对响应延迟故障的趋势进行建模分析。在性能测试过程中,大多数时候只是观察在不同的高并发下,系统或业务的性能表现,但是很少关注在高并发下的系统或者业务链路的容错性和恢复性表现。线上集群演练通常是用系统命令(e.g.tc,iptables等)来模拟网络拥塞的情况,很难做到精确的、细粒度的延迟模拟(比如精确模拟某系统的某接口的响应延迟),而且也基本没有考虑对响应延迟的趋势进行本文档来自技高网...
【技术保护点】
一种健壮性测试过程的实现方法,其特征在于,所述方法包括:启动业务压测进程,开始对当前业务在被测试系统中的执行过程施加测试压力;根据预先配置的故障注入策略,向所述被测试系统注入相应的延迟故障信息,以模拟相应的故障场景;监控所述业务在所述被测试系统被注入所述延迟故障信息后的执行情况的数据信息,并进行量化处理;根据所述量化处理后的数据信息,生成所述被测试系统中的所述业务在所述故障场景下的健壮性测试结果。
【技术特征摘要】
1.一种健壮性测试过程的实现方法,其特征在于,所述方法包括:启动业务压测进程,开始对当前业务在被测试系统中的执行过程施加测试压力;根据预先配置的故障注入策略,向所述被测试系统注入相应的延迟故障信息,以模拟相应的故障场景;监控所述业务在所述被测试系统被注入所述延迟故障信息后的执行情况的数据信息,并进行量化处理;根据所述量化处理后的数据信息,生成所述被测试系统中的所述业务在所述故障场景下的健壮性测试结果;其中,所述监控所述业务在所述被测试系统被注入所述延迟故障信息后的执行情况的数据信息,并进行量化处理,具体包括:将业务维度的监控数据与系统维度的响应延迟进行关联,按照如下公式,对故障i所对应的故障场景下,当前业务在所述被测试系统中的响应延迟情况TPS故障i进行量化统计:其中:TPS正常表示正常状态下的业务TPS;RPT正常表示正常状态下的业务平均响应时间;DELAY故障i表示在故障i所对应的故障场景下模拟的响应延迟;c表示被注入故障i的系统接口在业务场景中的被调用的次数。2.如权利要求1所述的方法,其特征在于,所述预先配置的故障注入策略,至少包括:故障注入周期、故障注入的目标接口以及待注入的延迟故障信息。3.如权利要求2所述的方法,其特征在于,所述根据预先配置的故障注入策略,向所述被测试系统注入相应的延迟故障信息,以模拟相应的故障场景,具体包括:根据所述故障注入周期,向所述被测试系统中与所述目标接口相对应的接口注入所述待注入的延迟故障信息,以模拟相应的故障场景。4.如权利要求1所述的方法,其特征在于,所述根据所述量化处理后的数据信息,生成所述被测试系统中的所述业务在所述故障场景下的健壮性测试结果,具体包括:将所述量化处理后的数据信息与预设的健壮性测试阈值...
【专利技术属性】
技术研发人员:李恩领,付宇,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。