测试场景的生成方法、装置、电子设备及存储介质
文献发布时间:2024-04-18 19:58:53
技术领域
本申请涉及系统性能测试技术领域,尤其涉及一种测试场景的生成方法、装置、电子设备及存储介质。
背景技术
性能测试,是通过自动化的测试工具,模拟多种正常、峰值以及异常负载条件等,来对系统的各项性能指标进行测试。性能测试对于保证系统的质量起着至关重要的作用,如何提高测试结果的准确性是非常重要的问题。
相关技术在对系统进行性能测试时,比如对系统中的新功能或已有功能的优化版本进行性能测试时,可以在测试环境下对测试场景进行估算,基于估算得到的测试场景进行性能测试,得到的测试结果的准确性较差。
发明内容
本申请提供一种测试场景的生成方法、装置、电子设备及存储介质,用以解决现有技术中在测试环境下对测试场景进行估算,基于估算得到的测试场景对系统进行性能测试,得到的测试结果的准确性较差的问题。
第一方面,本申请提供一种测试场景的生成方法,包括:获取监测数据,其中,所述监测数据通过在生产环境下对业务系统的业务功能进行监测得到;确定待生成的目标测试场景所属的场景类型;按照所述场景类型对应的数据处理方式,对所述监测数据进行处理,得到所述目标测试场景对应的场景数据;基于所述场景数据,对压力测试工具进行配置,以生成所述目标测试场景。
第二方面,本申请提供一种测试场景的生成装置,包括:数据获取模块,用于获取监测数据,其中,所述监测数据通过在生产环境下对业务系统的业务功能进行监测得到;类型确定模块,用于确定待生成的目标测试场景所属的场景类型;处理模块,用于按照所述场景类型对应的数据处理方式,对所述监测数据进行处理,得到所述目标测试场景对应的场景数据;配置模块,用于基于所述场景数据,对压力测试工具进行配置,以生成所述目标测试场景。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所述的方法。
本申请提供的测试场景的生成方法、装置、电子设备及存储介质,通过获取监测数据,其中,监测数据通过在生产环境下对业务系统的业务功能进行监测得到,确定待生成的目标测试场景所属的场景类型,按照场景类型对应的数据处理方式,对监测数据进行处理,得到目标测试场景对应的场景数据,基于场景数据,对压力测试工具进行配置,以生成目标测试场景,可以准确复现生产事件发生的业务场景,得到更贴合真实的生产环境中业务系统的使用情况的测试场景,进而基于该测试场景对业务系统进行性能测试,能够得到准确性更高的测试结果,以准确判断业务系统中各业务功能的性能。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的测试场景的生成方法的流程图一;
图2为本申请实施例提供的测试场景的生成方法的流程图二;
图3为本申请实施例提供的测试场景的生成方式及执行方式的示例图;
图4为本申请实施例提供的测试场景的生成方法的流程图三;
图5为本申请实施例提供的测试场景的生成方法的流程图四;
图6为本申请实施例提供的测试场景的生成装置的示例图;
图7为本申请实施例提供的测试场景的生成方法的示例图;
图8为本申请实施例提供的测试场景的生成装置的结构示意图;
图9为本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
相关技术在对系统进行性能测试时,比如对系统中的新功能或已有功能的优化版本进行性能测试时,可以在测试环境下对测试场景进行估算,基于估算得到的测试场景进行性能测试,得到的测试结果的准确性较差。
本申请针对上述问题,提出如下技术构思:获取监测数据,其中,监测数据通过在生产环境下对业务系统的业务功能进行监测得到;确定待生成的目标测试场景所属的场景类型;按照场景类型对应的数据处理方式,对监测数据进行处理,得到目标测试场景对应的场景数据;基于场景数据,对压力测试工具进行配置,以生成目标测试场景。
由此,可以准确复现生产事件发生的业务场景,得到更贴合真实的生产环境中业务系统的使用情况的测试场景,进而基于该测试场景对业务系统进行性能测试,能够得到准确性更高的测试结果,以准确判断业务系统中各业务功能的性能。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
首先结合图1,对本申请实施例提供的测试场景的生成方法进行说明。图1为本申请实施例提供的测试场景的生成方法的流程图一。
需要说明的是,本申请实施例提供的测试场景的生成方法,可以由测试场景的生成装置执行,其中,测试场景的生成装置可以为电子设备,也可以被配置在电子设备中,以准确复现生产事件发生的业务场景,得到更贴合真实的生产环境中业务系统的使用情况的测试场景,进而提高基于该测试场景进行性能测试得到的测试结果的准确性,以准确判断业务系统中各业务功能的性能。
其中,电子设备,可以为任一具有计算能力的设备,例如可以为个人电脑、移动终端、服务器等,移动终端例如可以为车载设备、手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
如图1所示,该测试场景的生成方法包括以下步骤:
S101、获取监测数据,其中,监测数据通过在生产环境下对业务系统的业务功能进行监测得到。
其中,业务系统,为需要测试的系统,比如可以为手机银行系统、网上银行系统、搜索系统等任意需要测试的系统,本申请对业务系统的种类不作限制。其中,业务系统的数量可以为一个或多个,本申请对此不作限制。
其中,业务功能,为业务系统中提供的功能,同一功能通过调用相同的接口实现功能调用。以业务系统为手机银行系统为例,业务功能比如可以为跨行转账功能、余额查询功能等。
在一些实施例中,可以通过生产监控运维平台,对业务系统中的各业务功能在生产环境下的使用情况进行监测,得到监测数据。其中,该监测数据可以包括每个业务功能在设定时间级别下的监测数据。
其中,设定时间级别,为根据需要设置的时间级别,比如为秒、分钟、小时、天、周、月等时间级别。其中,时间级别用于将一个时间段分割成多个子时间段,比如时间级别为天的情况,可以将一周的时间段按天分割成7个子时间段,每个子时间段为一天。相应的,每个业务功能在设定时间级别下的监测数据,包括该业务功能在每个子时间段内的监测数据。
其中,对于每个业务功能,监测数据可以包括设定时间级别下,该业务功能所属的业务系统、该业务功能的操作码、请求量、平均响应时间、系统成功率、长请求量、长请求率、CPU(Central Processing Unit,中央处理器)值、数据创建时间等指标参数。
其中,业务功能的操作码,用于唯一标识该业务功能;业务功能的请求量,为调用该业务功能的调用请求的数量;业务功能的平均响应时间,为该业务功能对调用请求进行响应的平均时间;业务功能的系统成功率,为该业务功能对调用请求进行成功响应的概率;业务功能的长请求量,为该业务功能的调用请求中,平均响应时长超过预设阈值的调用请求的数量;业务功能的长请求率,为该业务功能的长请求量占所有请求的比率;业务功能的CPU值,为该业务功能对服务器的CPU的占用量;业务功能的数据创建时间,可以为该业务功能对应的监测数据的保存时间。其中,响应时间,为用户从业务系统发起业务功能的调用请求开始,到接收到业务系统返回的响应结果,整个过程所耗费的时间。
其中,以设定时间级别为天为例,则设定时间级别下,业务功能A的请求量,可以理解为一天之内调用该业务功能A的调用请求的数量;设定时间级别下,业务功能A的平均响应时间,可以理解为一天之内,该业务功能A对调用请求进行响应的平均时间;设定时间级别下,业务功能A的系统成功率,可以理解为一天之内,该业务功能A对调用请求进行成功响应的概率;设定时间级别下,业务功能A的长请求量,可以理解为一天之内,该业务功能A的调用请求中,平均响应时长超过预设阈值的调用请求的数量;设定时间级别下,业务功能A的长请求率,可以理解为一天之内,为该业务功能A的长请求量占一天内所有请求的比率;设定时间级别下,业务功能A的CPU值,可以理解为一天内该业务功能A对服务器的CPU的平均占用量。
在一个实施例中,测试场景的生成装置,可以包括数据采集服务器和数据库服务器,数据采集服务器可以通过数据采集任务,从生产监控运维平台以每分钟的时间间隔定时订阅监测数据,将监测数据保存在数据库服务器中,并通过建立数据库表的方式进行数据存储,其中表结构可以包括:业务功能的操作码、请求量、平均响应时间、系统成功率、长请求量、长请求率、CPU值、创建时间等。其中,业务功能的操作码、请求量、平均响应时间、系统成功率、长请求量、长请求率、CPU值、数据创建时间等指标参数为元数据。其中,业务功能的数据创建,可以为该业务功能对应的监测数据存入数据库服务器的时间。
S102、确定待生成的目标测试场景所属的场景类型。
在一些实施例中,可以预先设置多个测试场景所属的场景类型,并从多个测试场景所属的场景类型中,确定待生成的目标测试场景所属的场景类型。
其中,预先设置的场景类型,比如可以包括异常功能混合测试类型、风险单功能测试类型、设定时间段内的功能混合测试类型。
其中,异常功能混合测试类型,为异常功能混合测试场景所属的场景类型,该测试场景可以复现存在异常的一个或多个业务功能在生产环境的使用情况,可以对该一个或多个业务功能进行混合测试,或将其它业务功能加入该测试场景进行混合测试等。
风险单功能测试类型,为风险单功能测试场景所属的场景类型,该测试场景可以复现存在风险的一个业务功能在生产环境的使用情况,可以对该业务功能进行测试,或将其它业务功能加入该测试场景进行混合测试等。
设定时间段内的功能混合测试类型,为设定时间段内的功能混合测试场景所属的场景类型,该测试场景可以复现设定时间段内,一个或多个业务功能在生产环境的使用情况,可以对该一个或多个业务功能进行混合测试,或将其它业务功能加入该测试场景进行混合测试等。其中,设定时间段,为根据需要设置的时间段,本申请对此不作限制。
其中,设定时间段可以根据时段特性的不同,设置为一般业务时段、整点活动时段、夜间时段等。相应的,设定时间段内的功能混合测试类型,可以包括:一般业务时段内的功能混合测试类型、整点活动时段内的功能混合测试类型(也可以称为特殊功能混合测试类型或其它类型)、夜间时段内的功能混合测试类型(也可以称为批处理背景类型或其它类型)。其中,一般业务时段,比如可以包括连续N天内每天的上午9点至11点和下午2点至4点;整点活动时段,比如可以包括特殊节日的整点;夜间时段,比如可以包括连续N天内每天的0点至6点。其中,N为大于或等于1的整数。
S103、按照场景类型对应的数据处理方式,对监测数据进行处理,得到目标测试场景对应的场景数据。
在一些实施例中,可以预先设置不同的场景类型对应的数据处理方式,从而在确定待生成的目标测试场景所属的场景类型后,可以按照该场景类型对应的数据处理方式,对监测数据进行处理,得到目标测试场景对应的场景数据。
其中,场景数据,为用于生成对应的测试场景的数据,可以包括某一个或多个业务功能在某个时间段内的请求量、平均响应时间等。
S104、基于场景数据,对压力测试工具进行配置,以生成目标测试场景。
其中,压力测试工具,可以为用于对软件进行压力测试的Jmeter测试工具,或者其它任意的压力测试工具,本申请对此不作限制。
在一些实施例中,可以基于场景数据,对压力测试工具中的线程数和缓冲等待时间等参数进行配置,得到该场景数据对应的目标测试场景。
由此,本申请实施例提供的测试场景的生成方法,通过获取监测数据,其中,监测数据通过在生产环境下对业务系统的业务功能进行监测得到,确定待生成的目标测试场景所属的场景类型,按照场景类型对应的数据处理方式,对监测数据进行处理,得到目标测试场景对应的场景数据,基于场景数据,对压力测试工具进行配置,以生成目标测试场景,可以准确复现生产事件发生的业务场景,得到更贴合真实的生产环境中业务系统的使用情况的测试场景,进而基于该测试场景对业务系统进行性能测试,能够得到准确性更高的测试结果,以准确判断业务系统中各业务功能的性能。
下面结合图2,对本申请实施例提供的测试场景的生成方法中基于场景数据,对压力测试工具进行配置,以生成目标测试场景的过程进行进一步说明。
图2为本申请实施例提供的测试场景的生成方法的流程图二。如图2所示,该测试场景的生成方法,包括如下步骤:
S201、获取监测数据,其中,监测数据通过在生产环境下对业务系统的业务功能进行监测得到。
S202、确定待生成的目标测试场景所属的场景类型。
S203、按照场景类型对应的数据处理方式,对监测数据进行处理,得到目标测试场景对应的场景数据,其中,场景数据,包括业务系统的业务功能中,至少一个业务功能在设定时间段内的请求量和平均响应时间。
需要说明的是,步骤S201-S203的相关说明可以参考其它实施例,此处不再赘述。
S204、基于请求量和平均响应时间,对压力测试工具中对应业务功能的线程数和缓冲等待时间进行配置,以生成目标测试场景。
在一个实施例中,在场景数据中,包括一个业务功能在设定时间段内的请求量和平均响应时间的情况下,步骤S204可以通过a1-a3所示的方式实现:
a1,根据场景数据中,业务功能的请求量和设定时间段的时间长度,获取业务功能的每秒事务处理量TPS的目标值。
其中,设定时间段,可以根据需要设置,比如可以为上述实施例中的一般业务时段、整点活动时段、夜间时段,或者为P天中每天的特定时间段等,本申请对此不作限制。其中,P为大于或等于1的整数。
TPS(Transaction Per Second,每秒事务处理量),为表达系统处理能力的指标。一个业务功能,对应一个TPS的目标值,可以为场景数据中该业务功能在设定时间段内的请求量,与该设定时间段的时间长度的比值。
a2,对业务功能对应的线程数和缓冲等待时间进行配置,直至业务功能的TPS的配置值达到目标值;其中,TPS的配置值,基于线程数和缓冲等待时间的配置值以及线程数、缓冲等待时间与TPS的关联关系得到,关联关系基于业务功能在设定时间段内的平均响应时间得到。
其中,本申请各实施例中,线程数和缓冲等待时间的配置值,包括线程数的配置值和缓冲等待时间的配置值。
可以理解的是,压力测试工具中,对于每种业务功能,可以配置该业务功能对应的线程数和缓冲等待时间参数,而线程数和缓冲等待时间,与TPS之间存在关联关系,通过线程数和缓冲等待时间的配置值以及线程数、缓冲等待时间与TPS的关联关系,可以得到TPS的配置值,从而通过调整线程数和缓冲等待时间的配置值,可以使对应的TPS的配置值随之变化。
其中,线程数、缓冲等待时间与TPS的关联关系,可以基于对应的业务功能在设定时间段内的平均响应时间得到。其中,线程数、缓冲等待时间与TPS的关联关系可以为:T=L/M-R。其中,T表示缓冲等待时间;L表示线程数;M表示业务功能在设定时间段内的平均响应时间;R表示TPS值。
在一些实施例中,可以对压力测试工具中,业务功能对应的线程数和缓冲等待时间进行配置,使TPS的配置值随之变化,直至该业务功能的TPS的配置值达到该业务功能的TPS的目标值。
a3,基于业务功能的TPS的配置值达到目标值时,线程数和缓冲等待时间的配置值,生成目标测试场景。
其中,目标测试场景,可以包括业务功能的TPS的配置值达到该业务功能的TPS的目标值时,压力测试工具中该业务功能对应的线程数和缓冲等待时间的配置值。
由此,在场景数据中包括一个业务功能在设定时间段内的请求量和平均等待时间的情况下,可以通过配置压力测试工具中,业务功能对应的线程数和缓冲等待时间参数,使该业务功能的TPS的配置值达到该业务功能的TPS的目标值,并基于该业务功能的TPS的配置值达到目标值时,线程数和缓冲等待时间的配置值,生成目标测试场景,该目标测试场景可以准确复现该业务功能的生产事件发生的业务场景,更贴合真实的生产环境中业务系统的使用情况,使得后续基于该测试场景进行性能测试得到的测试结果更准确。
在一个实施例中,在场景数据中,包括多个业务功能在设定时间段内的请求量和平均响应时间的情况下,步骤S204可以通过b1-b3所示的方式实现:
b1、针对场景数据中每个业务功能,根据对应的请求量和设定时间段的时间长度,获取业务功能的TPS的目标值和该目标值在所有目标值中的占比。
其中,设定时间段,可以根据需要设置,比如可以为上述实施例中的一般业务时段、整点活动时段、夜间时段,或者为P天中每天的特定时间段等,本申请对此不作限制。其中,P为大于或等于1的整数。
其中,每个业务功能,对应一个TPS的目标值,可以为场景数据中该业务功能在设定时间段内的请求量,与该设定时间段的时间长度的比值。
其中,每个业务功能的TPS的目标值在所有目标值中的占比,为该业务功能的TPS的目标值,与场景数据中所有业务功能的TPS的目标值之和的比值。其中,所有业务功能中各业务功能的TPS的目标值,根据相同的设定时间段内各业务功能的请求量及该设定时间段的时间长度得到。
其中,由于计算不同业务功能对应的TPS的目标值时,使用的设定时间段相同,则对于场景数据中每个业务功能,该业务功能对应的目标值在所有目标值中的占比,与该业务功能在设定时间段内的请求量在所有请求量中的占比相同。那么,对于场景数据中每个业务功能,可以将该业务功能在设定时间段内的请求量,与所有业务功能在设定时间段内的请求量之和的比值,作为该业务功能的TPS的目标值在所有目标值中的占比。
b2、对业务功能对应的线程数和缓冲等待时间进行配置,直至该业务功能的TPS的配置值达到对应的目标值,且TPS的配置值在所有TPS的配置值中的占比,达到对应的目标值在所有目标值中的占比;其中,该业务功能的TPS的配置值,基于该业务功能对应的线程数和缓冲等待时间的配置值以及线程数、缓冲等待时间与TPS的关联关系得到,关联关系基于对应的业务功能在设定时间段内的平均响应时间得到。
可以理解的是,压力测试工具中,对于每种业务功能,可以配置该业务功能对应的线程数和缓冲等待时间参数,而每种业务功能对应的线程数和缓冲等待时间,与TPS之间存在关联关系,通过该业务功能对应的线程数和缓冲等待时间的配置值以及线程数、缓冲等待时间与TPS的关联关系,可以得到该业务功能的TPS的配置值,从而通过调整各业务功能对应的线程数和缓冲等待时间的配置值,可以使对应的TPS的配置值随之变化,且该TPS的配置值在所有TPS的配置值中的占比也随之变化。
其中,对于每种业务功能,线程数、缓冲等待时间与TPS的关联关系,可以基于该业务功能在设定时间段内的平均响应时间得到。其中,线程数、缓冲等待时间与TPS的关联关系可以为:T=L/M-R。其中,T表示缓冲等待时间;L表示线程数;M表示业务功能在设定时间段内的平均响应时间;R表示TPS值。
在一些实施例中,可以对压力测试工具中,各业务功能对应的线程数和缓冲等待时间进行配置,使各业务功能的TPS的配置值和该配置值在所有TPS的配置值中的占比随之变化,直至各业务功能的TPS的配置值达到对应业务功能的TPS的目标值,且各业务功能的TPS的配置值在所有TPS的配置值中的占比,达到对应的目标值在所有目标值中的占比。
b3、基于各业务功能对应的线程数和缓冲等待时间的配置值,生成目标测试场景。
其中,目标测试场景,可以包括各业务功能的TPS的配置值达到对应业务功能的TPS的目标值,且各业务功能的TPS的配置值在所有TPS的配置值中的占比,达到对应的目标值在所有目标值中的占比时,压力测试工具中各业务功能对应的线程数和缓冲等待时间的配置值。
由此,在场景数据中包括多个业务功能在设定时间段内的请求量和平均等待时间的情况下,可以通过配置压力测试工具中,各业务功能对应的线程数和缓冲等待时间参数,使各业务功能的TPS的配置值达到对应业务功能的TPS的目标值,且各业务功能的TPS的配置值在所有TPS的配置值中的占比,达到对应的目标值在所有目标值中的占比,并基于各业务功能的TPS的配置值达到对应业务功能的TPS的目标值,且各业务功能的TPS的配置值在所有TPS的配置值中的占比,达到对应的目标值在所有目标值中的占比时,各业务功能对应的线程数和缓冲等待时间的配置值,生成目标测试场景,该目标测试场景可以准确复现该业务功能的生产事件发生的业务场景,更贴合真实的生产环境中业务系统的使用情况,使得后续基于该测试场景进行性能测试得到的测试结果更准确。
本申请实施例中,参考图3,测试场景的生成装置,可以包括场景生成服务器,场景生成服务器上安装有压力测试工具,被测的业务系统可以包括应用服务器、数据库服务器、批处理服务器等服务器。通过基于场景数据中至少一个业务功能在设定时间段内的请求量和平均响应时间,调整压力测试工具中的线程数和缓冲等待时间参数,可以生成目标测试场景。生成的目标测试场景,可以在场景生成服务器上的压力测试工具中执行,压测被测的业务系统的应用服务器、数据库服务器、批处理服务器等。
综上,本申请实施例提供的测试场景的生成方法,通过获取监测数据,其中,监测数据通过在生产环境下对业务系统的业务功能进行监测得到,确定待生成的目标测试场景所属的场景类型,按照场景类型对应的数据处理方式,对监测数据进行处理,得到目标测试场景对应的场景数据,其中,场景数据,包括业务系统的业务功能中,至少一个业务功能在设定时间段内的请求量和平均响应时间,基于场景数据中至少一个业务功能在设定时间段内的请求量和平均响应时间,对压力测试工具中对应业务功能的线程数和缓冲等待时间进行配置,以生成目标测试场景,可以准确复现生产事件发生的业务场景,得到更贴合真实的生产环境中业务系统的使用情况的测试场景,进而基于该测试场景对业务系统进行性能测试,能够得到准确性更高的测试结果,以准确判断业务系统中各业务功能的性能。
下面结合附图4-5,对本申请实施例提供的测试场景的生成方法中,对监测数据进行处理,得到目标测试场景对应的场景数据的过程进行进一步说明。
图4为本申请实施例提供的测试场景的生成方法的流程图三。如图4所示,该测试场景的生成方法,包括如下步骤:
S401、获取监测数据,其中,监测数据通过在生产环境下对业务系统的业务功能进行监测得到。
S402、确定待生成的目标测试场景所属的场景类型。
在一些实施例中,在目标测试场景所属的场景类型,为异常功能混合测试类型的情况下,可以按照以下步骤S403-S405所示的数据处理方式,对监测数据进行处理,得到目标测试场景对应的场景数据。
S403、按照场景类型对应的数据处理方式,对监测数据进行分析处理,以确定业务系统的业务功能中存在异常的业务功能。
在一些实施例中,步骤S403可以通过以下步骤c1-c2所示的方式实现:
c1、从监测数据中获取筛选时间段内,业务系统的业务功能在设定时间级别下的平均响应时间。
其中,筛选时间段,为根据需要设置的时间段,本申请对此不作限制。
其中,设定时间级别,为根据需要设置的时间级别,比如为秒、分钟、小时、天、周、月等时间级别。
在一些实施例中,可以从监测数据中获取筛选时间段内,业务系统的所有业务功能在设定时间级别下的平均响应时间。
举例来说,假设业务系统的业务功能包括业务功能A、业务功能B、业务功能C,设定时间级别为天,筛选时间段为9月1日至9月7日。监测数据包括业务功能A、业务功能B、业务功能C分别在每天内的请求量、平均响应时间、系统成功率、长请求量、长请求率等。则可以从监测数据中,获取在9月1日至9月7日内,业务功能A、业务功能B、业务功能C分别在每天内的平均响应时间。
c2、将业务系统的业务功能中,在筛选时间段内设定时间级别下的平均响应时间存在异常的业务功能,确定为存在异常的业务功能。
在一些实施例中,可以设置响应时间预警指标,在某个业务功能在筛选时间段内设定时间级别下的平均响应时间,满足响应时间预警指标的情况下,确定该平均响应时间存在异常。
其中,响应时间预警指标,可以包括以下至少一个:平均响应时间的波动范围大于第一阈值、平均响应时间大于筛选时间段内的平均响应时间均值、平均响应时间的增长率大于第二阈值。
其中,第一阈值和第二阈值,为根据需要设置的阈值。
其中,对于一个业务功能,在筛选时间段内设定时间级别下的平均响应时间的波动范围,可以为在筛选时间内,该业务功能在设定时间级别下的平均响应时间中,最大值与最小值的差值,与在初始筛选时间对应的平均响应时间的比值。其中,初始筛选时间,为筛选时间段内的起始时间。
对于一个业务功能,在筛选时间段内的平均响应时间均值,为筛选时间段内,该业务功能在设定时间级别下的平均响应时间的平均值。
对于一个业务功能,在筛选时间段内设定时间级别下的平均响应时间的增长率,可以为该业务功能在结束筛选时间与在初始筛选时间对应的平均响应时间的差值,与在初始筛选时间对应的平均响应时间的比值。其中,结束筛选时间,为筛选时间段内的结束时间。
举例来说,假设筛选时间段为9月1日至9月7日,设定时间级别为天。则业务功能A在9月1日至9月7日内每天的平均响应时间的波动范围,可以为业务功能A在9月1日至9月7日内,每天的平均响应时间中最大值与最小值的差值,与9月1日内的平均响应时间的比值。业务功能A在9月1日至9月7日内每天的平均响应时间的增长率,可以为业务功能A在9月7日内与在9月1日内对应的平均响应时间的差值,与在9月1日内的平均响应时间的比值。
假设第一阈值为5%,第二阈值为1%,则在业务功能A在9月1日至9月7日内,每天的平均响应时间中最大值与最小值的差值,与9月1日内的平均响应时间的比值,大于5%的情况下,或者9月1日至9月7日内,某天的平均响应时间,大于9月1日至9月7日内每天的平均响应时间的平均值的情况下,或者在9月7日内与在9月1日内对应的平均响应时间的差值,与在9月1日内的平均响应时间的比值,大于1%的情况下,或者满足以上两个或三个条件的情况下,可以将业务功能A确定为存在异常的业务功能。
在一些实施例中,可以基于各业务功能的数据创建时间,绘制响应时间的趋势图,其中,趋势图中可以包括对应的数据创建时间在筛选时间段内的,各业务功能在设定时间级别下的平均响应时间,即上述示例中,可以将数据创建时间在9月1日至9月7日内的,业务功能A各天的平均响应时间,作为业务功能A在9月1日至9月7日内,各天的平均响应时间,从而绘制响应时间的趋势图,趋势图的横坐标为数据创建时间,纵坐标为每天的平均响应时间,进而基于响应时间的趋势图中的平均响应时间,确定存在异常的业务功能。
S404、从监测数据中,获取存在异常的业务功能在设定时间段内的请求量和平均响应时间。
其中,设定时间段,可以与筛选时间段相同或不同,本申请对此不作限制。
S405、将存在异常的业务功能在设定时间段内的请求量和平均响应时间,作为目标测试场景对应的场景数据。
由此,实现了按照异常功能混合测试类型对应的数据处理方式,对监测数据进行处理,得到用于生成异常功能混合测试场景的场景数据。
需要说明的是,在目标测试场景为风险单功能测试场景,所属的场景类型为风险单功能测试类型的情况下,对监测数据进行处理的方式与本实施例中的处理方式类似,对于处理过程此处不再赘述,只需将S403-S405中的异常的业务功能替换为风险的业务功能即可。
在一些实施例中,在场景类型为风险单功能测试类型的情况下,响应时间预警指标,可以包括以下至少一个:平均响应时间大于第三阈值、平均响应时间的增长率大于第四阈值。
在一些实施例中,在场景类型为风险单功能测试类型的情况下,可以按照筛选时间段,周期性的监测各业务功能在筛选时间内设定时间级别下的平均响应时间是否存在异常,比如每周判断各业务功能在一周内每天的平均响应时间是否存在异常,记录存在异常的业务功能的操作码、对应的响应时间预警指标以及指标值,将出现频率较高的业务功能,最终确定为存在异常的业务功能。
S406、基于场景数据,对压力测试工具进行配置,以生成目标测试场景。
其中,S406的具体实现过程及原理,可以参考其它实施例的描述,此处不再赘述。
综上,本申请实施例提供的测试场景的生成方法,通过获取监测数据,其中,监测数据通过在生产环境下对业务系统的业务功能进行监测得到,确定待生成的目标测试场景所属的场景类型,按照场景类型对应的数据处理方式,对监测数据进行分析处理,以确定业务系统的业务功能中存在异常的业务功能,从监测数据中,获取存在异常的业务功能在设定时间段内的请求量和平均响应时间,将存在异常的业务功能在设定时间段内的请求量和平均响应时间,作为目标测试场景对应的场景数据,基于场景数据,对压力测试工具进行配置,以生成目标测试场景,可以准确复现生产事件发生的业务场景,得到更贴合真实的生产环境中业务系统的使用情况的测试场景,进而基于该测试场景对业务系统进行性能测试,能够得到准确性更高的测试结果,以准确判断业务系统中各业务功能的性能。
图5为本申请实施例提供的测试场景的生成方法的流程图四。如图5所示,该测试场景的生成方法,包括如下步骤:
S501、获取监测数据,其中,监测数据通过在生产环境下对业务系统的业务功能进行监测得到。
S502、确定待生成的目标测试场景所属的场景类型。
在一些实施例中,在目标测试场景所属的场景类型,为设定时间段内的功能混合测试类型的情况下,可以按照以下步骤S503-S504所示的数据处理方式,对监测数据进行处理,得到目标测试场景对应的场景数据。
S503、按照场景类型对应的数据处理方式,对监测数据进行筛选处理,以从监测数据中,获取设定的业务功能在设定时间段内的请求量和平均响应时间。
其中,设定的业务功能,可以为从业务系统中预先设定的任意业务功能。
其中,设定时间段,可以根据需要设置,本申请对此不作限制。比如,在设定时间段内的功能混合测试类型,为一般业务时段内的功能混合测试类型的情况下,设定时间段,可以为一般业务时段,比如可以包括连续N天内每天的上午9点至11点和下午2点至4点;在设定时间段内的功能混合测试类型,为整点活动时段内的功能混合测试类型的情况下,设定时间段为整点活动时段,比如可以包括特殊节日的整点;在设定时间段内的功能混合测试类型,为夜间时段内的功能混合测试类型的情况下,设定时间段为夜间时段,比如可以包括连续N天内每天的0点至6点。
S504、将设定的业务功能在设定时间段内的请求量和平均响应时间,作为目标测试场景对应的场景数据。
由此,实现了按照设定时间段内的功能混合测试类型对应的数据处理方式,对监测数据进行处理,得到用于生成对应测试场景的场景数据。
S505、基于场景数据,对压力测试工具进行配置,以生成目标测试场景。
本申请实施例提供的测试场景的生成方法,通过获取监测数据,其中,监测数据通过在生产环境下对业务系统的业务功能进行监测得到,确定待生成的目标测试场景所属的场景类型,按照场景类型对应的数据处理方式,对监测数据进行筛选处理,以从监测数据中,获取设定的业务功能在设定时间段内的请求量和平均响应时间,将设定的业务功能在设定时间段内的请求量和平均响应时间,作为目标测试场景对应的场景数据,基于场景数据,对压力测试工具进行配置,以生成目标测试场景,可以准确复现生产事件发生的业务场景,得到更贴合真实的生产环境中业务系统的使用情况的测试场景,进而基于该测试场景对业务系统进行性能测试,能够得到准确性更高的测试结果,以准确判断业务系统中各业务功能的性能。
下面以目标测试场景包括异常功能混合测试场景、风险单功能测试场景、一般业务时段内的功能混合测试场景、整点活动时段内的功能混合测试场景、夜间时段内的功能混合测试场景为例,对本申请实施例提供的测试场景的生成方法进行说明。
参考图6,本申请实施例中的测试场景的生成装置可以包括:数据采集服务器、数据库服务器、数据分析服务器、场景生成服务器。
参考图7,可以通过生产监控运维平台,对业务系统中的各业务功能在生产环境下的使用情况进行监测,得到监测数据。数据采集服务器可以通过数据采集任务,从生产监控运维平台,以每分钟的时间间隔定时订阅监测数据,将监测数据保存在数据库服务器中,并通过建立数据库表的方式进行数据存储。
数据分析服务器,可以按照异常功能混合测试类型对应的数据处理方式,对监测数据进行分析处理,基于各业务功能的数据创建时间,绘制响应时间的趋势图,其中,趋势图中可以包括对应的数据创建时间在筛选时间段内的,各业务功能在设定时间级别下的平均响应时间,进而基于响应时间的趋势图中的平均响应时间,确定是否存在异常的业务功能。在确定存在异常的业务功能的情况下,数据分析服务器可以从监测数据中,获取存在异常的业务功能在设定时间段内的请求量和平均响应时间,将存在异常的业务功能在设定时间段内的请求量和平均响应时间,作为场景数据。场景生成服务器可以基于该场景数据,对压力测试工具进行配置,以生成异常功能混合测试场景。
数据分析服务器,可以按照一般业务时段内的功能混合测试类型对应的数据处理方式,对监测数据进行筛选处理,以从监测数据中,获取设定的业务功能在一般业务时段内的请求量和平均响应时间,将设定的业务功能在业务时段内的请求量和平均响应时间,作为场景数据。场景生成服务器可以基于该场景数据,对压力测试工具进行配置,以生成一般业务时段内的功能混合测试场景。
数据分析服务器,可以按照整点活动时段内的功能混合测试类型对应的数据处理方式,对监测数据进行筛选处理,以从监测数据中,获取设定的业务功能在整点活动时段内的请求量和平均响应时间,将设定的业务功能在整点活动时段内的请求量和平均响应时间,作为场景数据。场景生成服务器可以基于该场景数据,对压力测试工具进行配置,以生成整点活动时段内的功能混合测试场景。
数据分析服务器,可以按照夜间时段内的功能混合测试类型对应的数据处理方式,对监测数据进行筛选处理,以从监测数据中,获取设定的业务功能在夜间时段内的请求量和平均响应时间,将设定的业务功能在夜间时段内的请求量和平均响应时间,作为场景数据。场景生成服务器可以基于该场景数据,对压力测试工具进行配置,以生成夜间时段内的功能混合测试场景。
数据分析服务器,可以按照风险单功能测试类型对应的数据处理方式,对监测数据进行分析处理,按照筛选时间段,周期性的监测各业务功能在筛选时间内设定时间级别下的平均响应时间是否存在异常,进而将平均响应时间存在异常的业务功能确定为风险的业务功能,从监测数据中,获取风险的业务功能在设定时间段内的请求量和平均响应时间,将风险的业务功能在设定时间段内的请求量和平均响应时间,作为场景数据。场景生成服务器可以基于该场景数据,对压力测试工具进行配置,以生成风险单功能测试场景。
由此,可以准确复现生产事件发生的各业务场景,得到更贴合真实的生产环境中业务系统的使用情况的各测试场景,进而基于各测试场景对业务系统进行性能测试,能够得到准确性更高的测试结果,以准确判断业务系统中各业务功能的性能,比如可以准确判断业务系统中新功能或者已有功能的优化版本对业务系统中已有的其它功能的影响,或者准确判断新功能或者已有功能的优化版本受其它功能的影响。
图8为本申请实施例提供的测试场景的生成装置的结构示意图。如图8所示,该测试场景的生成装置800,包括:数据获取模块810、类型确定模块820、处理模块830以及配置模块840。
其中,数据获取模块810,用于获取监测数据,其中,监测数据通过在生产环境下对业务系统的业务功能进行监测得到;
类型确定模块820,用于确定待生成的目标测试场景所属的场景类型;
处理模块830,用于按照场景类型对应的数据处理方式,对监测数据进行处理,得到目标测试场景对应的场景数据;
配置模块840,用于基于场景数据,对压力测试工具进行配置,以生成目标测试场景。
需要说明的是,本申请实施例提供的测试场景的生成装置800,可以执行前述实施例中的测试场景的生成方法。其中,测试场景的生成装置可以为电子设备,也可以被配置在电子设备中,以准确复现生产事件发生的业务场景,得到更贴合真实的生产环境中业务系统的使用情况的测试场景,进而提高基于该测试场景进行性能测试得到的测试结果的准确性,以准确判断业务系统中各业务功能的性能。
其中,电子设备,可以为任一具有计算能力的设备,例如可以为个人电脑、移动终端、服务器等,移动终端例如可以为车载设备、手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
在一些实施例中,场景数据,包括业务系统的业务功能中,至少一个业务功能在设定时间段内的请求量和平均响应时间;配置模块840,包括:
配置单元,用于基于请求量和平均响应时间,对压力测试工具中对应业务功能的线程数和缓冲等待时间进行配置,以生成目标测试场景。
在一些实施例中,至少一个业务功能的数量为一个;配置单元,用于:
根据场景数据中业务功能的请求量和设定时间段的时间长度,获取业务功能的每秒事务处理量TPS的目标值;
对业务功能对应的线程数和缓冲等待时间进行配置,直至业务功能的TPS的配置值达到目标值;其中,TPS的配置值,基于线程数和缓冲等待时间的配置值以及线程数、缓冲等待时间与TPS的关联关系得到,关联关系基于业务功能在设定时间段内的平均响应时间得到;
基于业务功能的TPS的配置值达到目标值时,线程数和缓冲等待时间的配置值,生成目标测试场景。
在一些实施例中,至少一个业务功能的数量为多个;配置单元,用于:
针对场景数据中每个业务功能,根据对应的请求量和设定时间段的时间长度,获取业务功能的TPS的目标值和目标值在所有目标值中的占比;
对业务功能对应的线程数和缓冲等待时间进行配置,直至业务功能的TPS的配置值达到对应的目标值,且TPS的配置值在所有TPS的配置值中的占比,达到对应的目标值在所有目标值中的占比;其中,业务功能的TPS的配置值,基于业务功能对应的线程数和缓冲等待时间的配置值以及线程数、缓冲等待时间与TPS的关联关系得到,关联关系基于对应的业务功能在设定时间段内的平均响应时间得到;
基于各业务功能对应的线程数和缓冲等待时间的配置值,生成目标测试场景。
在一些实施例中,处理模块830,包括:
分析处理单元,用于按照场景类型对应的数据处理方式,对监测数据进行分析处理,以确定业务系统的业务功能中存在异常的业务功能;
数据获取单元,用于从监测数据中,获取存在异常的业务功能在设定时间段内的请求量和平均响应时间;
第一确定单元,用于将存在异常的业务功能在设定时间段内的请求量和平均响应时间,作为目标测试场景对应的场景数据。
在一些实施例中,分析处理单元,用于:
从监测数据中获取筛选时间段内,业务系统的业务功能在设定时间级别下的平均响应时间;
将业务系统的业务功能中,在筛选时间段内设定时间级别下的平均响应时间存在异常的业务功能,确定为存在异常的业务功能。
在一些实施例中,处理模块830,包括:
筛选处理单元,用于按照场景类型对应的数据处理方式,对监测数据进行筛选处理,以从监测数据中,获取设定的业务功能在设定时间段内的请求量和平均响应时间;
第二确定单元,用于将设定的业务功能在设定时间段内的请求量和平均响应时间,作为目标测试场景对应的场景数据。
本申请实施例提供的测试场景的生成装置,可用于执行上述实施例中测试场景的生成方法的技术方案,其实现原理和技术效果类似,在此不再赘述。
本申请实施例提供的测试场景的生成装置,通过获取监测数据,其中,监测数据通过在生产环境下对业务系统的业务功能进行监测得到,确定待生成的目标测试场景所属的场景类型,按照场景类型对应的数据处理方式,对监测数据进行处理,得到目标测试场景对应的场景数据,基于场景数据,对压力测试工具进行配置,以生成目标测试场景,可以准确复现生产事件发生的业务场景,得到更贴合真实的生产环境中业务系统的使用情况的测试场景,进而基于该测试场景对业务系统进行性能测试,能够得到准确性更高的测试结果,以准确判断业务系统中各业务功能的性能。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,配置模块840可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上配置模块840的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图9为本申请实施例提供的电子设备的结构示意图。如图9所示,该电子设备可以包括:收发器121、处理器122、存储器123。
处理器122执行存储器存储的计算机执行指令,使得处理器122执行上述实施例中的方案。处理器122可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器123通过系统总线与处理器122连接并完成相互间的通信,存储器123用于存储计算机程序指令。
收发器121可以用于获取待运行任务和待运行任务的配置信息。
系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。收发器用于实现数据库访问装置与其他计算机(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(randomaccess memory,RAM),也可能还包括非易失性存储器(non-volatile memory)。
本申请实施例提供的电子设备,可以是上述实施例的终端设备。
本申请实施例还提供一种运行指令的芯片,该芯片用于执行上述实施例中测试场景的生成方法的技术方案。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行上述实施例测试场景的生成方法的技术方案。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,其存储在计算机可读存储介质中,至少一个处理器可以从计算机可读存储介质读取计算机程序,至少一个处理器执行计算机程序时可实现上述实施例中测试场景的生成方法的技术方案。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
- 接口测试用例生成方法、装置、电子设备、存储介质
- 接口测试方法、接口测试装置、电子设备及存储介质
- 电影拍摄场景的调度方法、装置、电子设备和存储介质
- 类文件生成方法、装置、电子设备及存储介质
- 无人机迁移轨迹生成方法、装置、电子设备和存储介质
- 自动驾驶测试场景生成方法、装置、电子设备和存储介质
- 测试场景的生成方法、装置、电子设备及计算机存储介质