CN109815102A - 一种测试数据统计方法、装置和存储介质 - Google Patents
一种测试数据统计方法、装置和存储介质 Download PDFInfo
- Publication number
- CN109815102A CN109815102A CN201910053593.0A CN201910053593A CN109815102A CN 109815102 A CN109815102 A CN 109815102A CN 201910053593 A CN201910053593 A CN 201910053593A CN 109815102 A CN109815102 A CN 109815102A
- Authority
- CN
- China
- Prior art keywords
- data
- incremental testing
- history
- period
- association
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Testing Of Devices, Machine Parts, Or Other Structures Thereof (AREA)
- Testing Or Calibration Of Command Recording Devices (AREA)
Abstract
本发明实施例公开了一种测试数据统计方法、装置和存储介质,该方法包括:接收与目标任务关联的各关联施压机发送的增量测试数据,其中,增量测试数据附加有对应的采样时间戳;根据各增量测试数据对应的采样时间戳,对各增量测试数据进行统计,确定目标任务对应的增量测试结果。通过本发明实施例的技术方案,可以提高数据统计的准确性。
Description
技术领域
本发明实施例涉及测试技术领域,尤其涉及一种测试数据统计方法、装置和存储介质。
背景技术
性能测试是通过自动化的测试工具模拟多种正常以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试确定在各种工作负载下系统的性能,目的是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是用于获得系统能够提供的最大服务级别的测试。
在开源压测平台中,如Ngrinder、Jmeter等,通常是利用一个控制器和多个施压机对某个任务进行性能测试,比如控制器根据选取的施压机数量,将用户设置的并发线程数平均分配至每个施压机上进行测试,并且在测试过程中由控制器负责最终测试数据的统计汇总,生成测试结果报告。
目前,现有测试数据的统计方式是:每个施压机周期性地采集每个采样周期内的测试数据并发送至控制端,控制端再将接收的所有测试数据直接进行叠加,获得在当前时间窗口统计的任务测试结果。
然而,在某台施压机因网络拥堵导致测试数据发送较慢时,使得控制器无法同步接收所有施压机发送的测试数据,即控制器当前接收的所有测试数据中并不包含该施压机发送的测试数据,或者当前接收的测试数据并不是同一采样周期内的测试数据,从而在控制端直接对接收的测试数据进行叠加时,会导致统计的最终测试数据并不是真实的测试结果,大大降低了测试数据统计的准确性。
发明内容
本发明实施例提供了一种测试数据统计方法、装置和存储介质,以提高数据统计的准确性。
第一方面,本发明实施例提供了一种测试数据统计方法,包括:
接收与目标任务关联的各关联施压机发送的增量测试数据,其中,所述增量测试数据附加有对应的采样时间戳;
根据各所述增量测试数据对应的采样时间戳,对各所述增量测试数据进行统计,确定所述目标任务对应的增量测试结果。
第二方面,本发明实施例还提供了一种测试数据统计装置,包括:
增量测试数据接收模块,用于接收与目标任务关联的各关联施压机发送的增量测试数据,其中,所述增量测试数据附加有对应的采样时间戳;
增量测试结果确定模块,用于根据各所述增量测试数据对应的采样时间戳,对各所述增量测试数据进行统计,确定所述目标任务对应的增量测试结果。
第三方面,本发明实施例还提供了一种设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所提供的测试数据统计方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的测试数据统计方法。
本发明实施例中与目标任务关联的每个关联施压机将采集的增量测试数据附加上对应的采样时间戳,并将附加有采样时间戳的增量测试数据发送至控制器,控制器根据接收的所有增量测试数据对应的采样时间戳,可以确定是否接收到每个关联施压机发送的同一采样周期内的增量测试数据,以便可以对同一采样周期内的增量测试数据进行统计,使得统计的增量测试结果为真实的测试结果,从而大大提高了数据统计的准确性。
附图说明
图1是本发明实施例一提供的一种测试数据统计方法的流程图;
图2是本发明实施例二提供的一种测试数据统计方法的流程图;
图3是本发明实施例三提供的一种测试数据统计装置的结构示意图;
图4是本发明实施例四提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种测试数据统计方法的流程图。本实施例可适用于对施压机发送的压测数据进行统计的情况,尤其是可以用于性能测试平台中对测试数据进行统计的场景。该方法可以由测试数据统计装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于对施压机进行管理控制的控制器中。该方法具体包括以下步骤:
S110、接收与目标任务关联的各关联施压机发送的增量测试数据,其中,增量测试数据附加有对应的采样时间戳。
其中,施压机可以是指在系统性能测试时可以产生压测流量的机器,其可以是虚拟机,也可以是物理机,比如服务器、电脑和手机等。目标任务可以是指任意一个需要进行压力测试的任务。关联施压机可以是指与目标任务关联的施压机,即正在执行目标任务的施压机。本实施例中的关联施压机可以为一个或多个,其具体数量可以预先指定或者根据目标任务所需资源的大小进行实时确定。示例性地,当控制器将目标任务对应的并发线程数分配至指定的一个或多个施压机上,此时可以将指定的每个施压机确定为一个与目标任务关联的关联施压机。增量测试数据可以是指关联施压机在每个采样周期内采集的原始测试数据。本实施例中的增量测试数据是指单个采样周期内的原始测试数据,并不涉及多个采样周期内的数据叠加。增量测试数据可以包括但不限于采样周期内的成功执行次数、失败执行次数和平均响应时间,其中平均响应时间可以是指在采样周期内处理一次请求所需要的时间。采样时间戳可以用于标识增量测试数据对应的采样周期时间段,其可以根据预设生成规则以及增量测试数据对应的采样周期时间段进行生成。示例性地,若在某个采样周期时间段t1-t2(t1与t2时间差为一个采样周期)采集获得增量测试数据,则可以将t1、t2、二者平均值或者t1至t2中的任一时刻作为该增量测试数据对应的采样时间戳。
具体地,对于与目标任务关联的每个关联施压机而言,关联施压机可以基于预设采样周期,周期性地采集每个采样周期内的增量测试数据,并根据当前采样周期的时间段确定采集的增量测试数据对应的采样时间戳,并将该采样时间戳附加至增量测试数据上,以便利用采样时间戳可以区分该关联施压机采集的每个增量测试数据。每个关联施压机可以将当前采集的并且附加有采样时间戳的增量测试数据发送至控制端,以使控制端可以接收每个关联施压机发送的附加有采样时间戳的增量测试数据。示例性地,关联施压机在将当前采集的当前采样周期内的增量测试数据发送至控制端后,还可以实时清除当前采集的增量测试数据,以便增大存储空间,提高采集效率。
示例性地,关联施压机在采集增量测试数据时,可以在测试脚本中每个数据统计点处定义一个TEST函数,并将每个TEST函数绑定所需统计的函数切面,然后将TEST函数注册至TEST容器中。脚本引擎在解释脚本时,可以在每个脚本定义的TEST函数上加入切面逻辑,当该TEST函数在TEST容器中注册过,则创建该TEST函数的统计结果,比如将统计结果中的成功执行次数或者失败执行次数加1,其中当TEST函数抛出异常或者存在失败标识时可以确定该次请求执行失败,从而可以获得当前采样周期内的增量测试数据。
S120、根据各增量测试数据对应的采样时间戳,对各增量测试数据进行统计,确定目标任务对应的增量测试结果。
其中,增量测试结果可以是指当前时间窗口内目标任务对应的最终测试结果。本实施例中获得的增量测试结果可以用于绘制每个增量测试结果的实时变化图。本实施例中绘制时的时间窗口大小与采样周期大小可以一致,也可以不一致。增量测试结果可以包括但不限于目标任务对应的每秒请求数QPS和响应时间。
具体地,本实施例中的目标任务在所有关联施压机上进行测试,从而需要根据每个关联施压机发送的增量测试数据计算该目标任务对应的增量测试结果。控制端通过接收每个关联施压机周期性发送的增量测试数据,并根据增量测试数据对应的采样时间戳可以检测接收的每个增量测试数据是否均对应同一采样周期,同时也可以检测是否接收到某个关联施压机发送的某个采样周期内的增量测试数据,以便可以准确地对每个关联施压机在同一采样周期内的增量测试数据进行统计处理,解决了在无法同步接收同一采样周期内的增量测试数据时导致统计结果不准确的情况,从而可以获得真实的测试结果,大大提高了测试数据统计的准确性。
本实施例的技术方案,与目标任务关联的每个关联施压机将采集的增量测试数据附加上对应的采样时间戳,并将附加有采样时间戳的增量测试数据发送至控制器,控制器根据接收的所有增量测试数据对应的采样时间戳,可以确定是否接收到每个关联施压机发送的同一采样周期内的增量测试数据,以便可以对同一采样周期内的增量测试数据进行统计,使得统计的增量测试结果为真实的测试结果,从而大大提高了数据统计的准确性。
在上述技术方案的基础上,S120可以包括:若检测到当前接收的每个增量测试数据对应的采样时间戳均在预设时间范围内,且当前接收的增量测试数据的个数等于关联施压机的个数,则对当前接收的各增量测试数据进行叠加统计,确定目标任务对应的增量测试结果。
其中,预设时间范围可以根据采样周期预先进行设置。本实施例可以将每个采样周期时间段依次逐个设置为预设时间范围,即预设时间范围可以设置为当前采样周期对应的时间段范围。
具体地,本实施例可以通过检测当前接收的每个增量测试数据对应的采样时间戳是否在预设时间范围内,以及当前接收的增量测试数据的个数是否等于关联施压机的个数,可以确定当前是否接收到每个关联施压机发送的同一采样周期内的增量测试数据。若接收的每个增量测试数据对应的采样时间戳均在预设时间范围内,且接收的增量测试数据的个数等于关联施压机的个数,则表明控制端已经接收到每个关联施压机发送的同一采样周期内的增量测试数据,此时可以直接对接收的所有增量测试数据进行叠加统计,准确地确定目标任务对应的增量测试结果。示例性地,若利用三个施压机对目标任务进行测试,并且接收到这三个施压机分别发送的增量测试数据,以及每个增量测试数据对应的采样时间戳均在预设时间范围内,则可以将三个施压机发送的增量测试数据中的成功执行次数进行相加,从而可以获得目标任务对应的总成功执行次数,并将总成功执行次数除以采样周期得到的结果可以确定为每秒请求数QPS;将每个增量测试数据中的平均响应时间与成功执行次数进行相乘,可以确定每个施压机对应的总响应时间,然后将三个总响应时间的总和除以总成功执行次数,可以得到目标任务对应的响应时间。
需要注意的是,若检测到当前接收的至少一个增量测试数据对应的采样时间戳不在预设时间范围内,或者采样时间戳在预设时间范围内的增量测试数据的个数不等于关联施压机的个数时,可以等待接收采样时间戳在预设时间范围内的增量测试数据,直到采样时间戳在预设时间范围内的增量测试数据的个数等于关联施压机的个数时,可以对采样时间戳在预设时间范围内的所有增量测试数据进行叠加统计,确定目标任务对应的增量测试结果,从而可以避免数据统计错误,提高数据统计的准确性。
在本实施例中,每个关联施压机若根据同一预设生成规则确定增量测试数据对应的采样时间戳,则控制端可以通过检测每个增量测试数据对应的采样时间戳是否相同来确定当前接收的增量测试数据是否为同一采样周期内的数据,从而使得检测更加简便。
在上述技术方案的基础上,S110之后还可以包括:将接收的每个关联施压机发送的增量测试数据存储至关联施压机对应的多键值对结构类型的存储对象中。
其中,存储对象可以是预先设置的多键值对MAP结构类型的,用于存储相应关联施压机每次发送的增量测试数据。关联施压机与存储对象一一对应。
示例性地,对于每个关联施压机而言,在控制器的控制下,关联施压机可以通过开启至少一个施压进程的方式对目标任务进行压力测试,其中每个施压进程包含的线程数由控制端进行确定。本实施例中的关联施压机可以将开启的每个施压进程与当前可用的一个网络端口进行绑定,并通过关联施压机中的守护进程,将施压进程绑定的网络端口号发送至控制端,从而可以建立关联施压机中的每个施压进程与控制端的连接,进而可以将通过执行施压进程所获得的增量测试数据发送至控制端,同时控制端也可以基于绑定的网络端口接收到关联施压机发送的增量测试数据,并将接收的增量测试数据存储至该关联施压机对应的多键值对MAP结构类型的存储对象中,以便可以快速查询相应关联施压机发送的每个增量测试数据。示例性地,多键值对MAP结构的存储对象sampleStaticsMap可以定义如下:
private static final Map<Long,Map<Integer,ArrayListQueue<Map<Test,Statistics>>>>sampleStaticsMap=new ConcurrentHashMap<>();
其中,外层的Long是指长整型类型的目标任务的标识ID,Map<Integer,ArrayListQueue>中的Integer是指整型类型的进程标识ID,本实施例可以对关联施压机中拉起的每个施压进程分配全局唯一的进程标识ID,ArrayListQueue是指关联施压机发送的增量测试数据的队列容器,其内部可以缓存预设数量个采样周期的增量测试数据。
在上述技术方案的基础上,在接收与目标任务关联的各关联施压机发送的增量测试数据时,还可以包括:接收各关联施压机发送的全量测试数据,其中全量测试数据由关联施压机根据采样周期内采集的各增量测试数据进行统计生成;根据各全量测试数据确定目标任务对应的全量测试结果。
其中,全量测试数据可以是指关联施压机当前时刻采集的所有增量测试数据的总和。全量测试数据可以包括但不限于关联施压机当前时刻对应的总成功执行次数和总失败执行次数。示例性地,若某个关联施压机当前仅采集了两个采样周期内的增量测试数据,其中第一个采样周期内采集的成功执行次数为100,第二个采样周期内采集的成功执行次数为150,则该关联施压机对应的全量测试数据为总成功执行次数为250。全量测试结果可以指当前时刻目标任务对应的全量数据,其可以包括但不限于目标任务对应的成功执行次数和总失败执行次数。
具体地,现有技术中控制端是根据各个关联施压机发送的多个增量测试数据进行叠加而获得目标任务对应的全量测试结果。可见,现有技术中若某个施压机发送的增量测试数据丢失,则会使得根据增量测试数据计算的全量测试结果不准确。然而本实施例中每个关联施压机预先根据采集的增量测试数据实时统计生成对应的全量测试数据,并在向控制端发送增量测试数据时,也向控制端发送对应的全量测试数据,以使控制端可以接收到各个关联施压机发送的全量测试数据,从而可以将每个关联施压机发送的全量测试数据进行叠加的结果确定为目标任务对应的全量测试数据。本实施例可以根据接收的全量测试数据实时恢复异常全量数据,从而解决了在网络丢包等异常情况下全量测试结果不准确的问题,使得每个时刻的全量测试结果均是准确的,从而进一步提高了数据统计的准确性。
实施例二
图2为本发明实施例二提供的一种测试数据统计方法的流程图,本实施例在上述实施例的基础上,对“根据各增量测试数据对应的采样时间戳,对各增量测试数据进行统计,确定目标任务对应的增量测试结果”进行了进一步优化。其中与上述实施例相同或相应的术语的解释在此不再赘述。
参见图2,本实施例提供的测试数据统计方法具体包括以下步骤:
S210、接收与目标任务关联的各关联施压机发送的增量测试数据,其中,增量测试数据附加有对应的采样时间戳。
S220、根据各增量测试数据对应的采样时间戳,确定每个关联施压机在当前采样周期内的当前增量测试数据,并获取每个关联施压机在当前采样周期的前预设个数的历史采样周期内的历史增量测试数据。
其中,当前采样周期可以是指关联施压机中当前时刻对应的采样周期序数。历史采样周期是指当前采样周期之前的采样周期。比如,若当前采样周期为第5个采样周期,则第1个采样周期至第4个采样周期均为历史采样周期。预设个数可以是指历史采样周期的个数,其可以根据业务需求和实际情况预先进行设置。本实施例中的历史采样周期可以是指与当前采样周期相邻的,前预设个数的采样周期。比如,预设个数为4,当前采样周期为第10个采样周期,则历史采样周期为第9个采样周期、第8个采样周期、第7个采样周期和第6个采样周。当前增量测试数据可以是指当前采样周期内采集的增量测试数据。历史增量测试数据可以是指历史采样周期内采集的增量测试数据。
具体地,本实施例可以检测接收的每个增量测试数据对应的采样时间戳是否在当前采样周期对应的预设时间范围内,若是,则表明接收的增量测试数据为当前采样周期内的当前增量测试数据,从而可以获得每个关联施压机发送的当前增量测试数据。对于每个关联施压机而言,本实施例可以根据关联施压机对应的存储对象存储的各增量测试数据,获得每个关联施压机在当前采样周期的前预设个数的历史采样周期内的历史增量测试数据。
S230、根据各历史增量测试数据,对当前增量测试数据进行平滑处理,确定关联施压机在当前采样周期内的目标增量测试数据。
其中,目标增量测试数据可以是指对关联施压机在当前采样周期内采集的当前增量测试数据进行平滑后得到的测试数据。目标增量测试数据可以包括不限于平滑后的成功执行次数、失败执行次数和平均响应时间。
具体地,对于每个关联施压机而言,本实施例可以基于预设平滑方式,利用关联施压机在每个历史采样周期内的历史增量测试数据,对当前采样周期内的当前增量测试测试进行平滑处理,从而可以确定波动较小的目标增量测试数据,以解决现有技术中因某个脚本执行较慢而导致实时统计的增量测试结果出现剧烈抖动的问题。
S240、对各关联施压机对应的目标增量测试数据进行统计,确定目标任务对应的增量测试结果。
具体地,本实施例可以将每个关联施压机对应的目标增量测试数据进行叠加统计,准确地确定目标任务对应的增量测试结果。由于目标增量测试数据是平滑之后的增量测试数据,从而使得增量测试结果较为平滑,不会存在剧烈波动的情况。
本实施例的技术方案,通过根据关联施压机在每个历史采样周期内的历史增量测试数据,对当前采样周期内的当前增量测试测试进行平滑处理,从而可以确定波动较小增量测试结果,解决了现有技术中因某个脚本执行较慢而导致实时统计的增量测试结果出现剧烈抖动的问题。
在上述技术方案的基础上,S230可以包括:若每个历史采样周期内的历史增量测试数据以及当前采样周期内的当前增量测试数据均不存在数据丢失情况,则根据每个历史采样周期对应的初始历史系数、当前采样周期对应的初始当前系数、各历史增量测试数据以及当前采样周期对应的当前增量测试数据,计算关联施压机在当前采样周期内的目标增量测试数据;若至少一个历史采样周期内的历史增量测试数据存在数据丢失情况,且当前采样周期内的当前增量测试数据不存在数据丢失情况,则根据存在数据丢失情况的第一历史采样周期对应的初始历史系数,调整不存在数据丢失情况的第二历史采样周期对应的初始历史系数,确定第二历史采样周期对应的目标历史系数;根据目标历史系数、第二历史采样周期对应的历史增量测试数据,以及当前采样周期对应的初始当前系数和当前增量测试数据,计算关联施压机在当前采样周期内的目标增量测试数据。
其中,每个历史采样周期均对应一个初始历史系数,当前采样周期也对应一个初始当前系数。其中初始历史系数和初始当前系数可以根据历史采样周期与当前采样周期的关联度大小进行预先确定,并且各初始历史系数与初始当前系数之和等于1。本实施例中距离当前采样周期越远的历史采样周期对应的初始历史系数越小。比如,当前采样周期为第5个采样周期,则当前采样周期前一历史采样周期,即第4个采样周期对应的初始历史系数大于当前采样周期前二历史采样周期,即第3个采样周期对应的初始历史系数。第一历史采样周期是指存在数据丢失情况的历史采样周期,第二历史采样周期是指不存在数据丢失情况的历史采样周期。本实施例可以存在一个或多个第一历史采样周期或一个或多个第二历史采样周期。
具体地,在本实施例中,每个关联施压机在向控制器发送增量测试数据时,可能因网络异常等情况导致存在网络丢包的情况,使得增量测试数据丢失。对于每个关联施压机而言,若每个关联施压机在每个采样周期内均不存在网络丢包的情况,即每个历史采样周期内的历史增量测试数据和当前采样周期内的当前测试数据均不存在数据丢失的情况,则可以将每个历史采样周期对应的初始历史系数与相应的历史增量测试数据相乘,以及将当前采样周期对应的初始当前系数与相应的当前增量测试数据进行相乘,并将每个相乘结果进行相加获得关联施压在当前采样周期内的目标增量测试数据,从而可以实现对当前增量测试数据进行平滑的目的。若至少一个关联施压机在至少一个历史采样周期内存在网络丢包的情况,以及每个关联施压机在当前采样周期内均不存在网络丢包的情况时,即至少一个历史采样周期内的历史增量测试数据存在数据丢失,且当前采样周期内的当前增量测试数据不存在数据丢失情况时,可以根据第一历史采样周期对应的初始历史系数,调整第二历史采样周期对应的初始历史系数,并将调整后的初始历史系数确定为第二历史采样周期对应的目标历史系数。然后将第二历史采样周期对应的目标历史系数与相应地历史增量测试数据进行相乘以及将当前采样周期对应的初始当前系数与相应的当前增量测试数据进行相乘,并将每个相乘结果进行相加获得该关联施压在当前采样周期内的目标增量测试数据。
示例性地,若利用当前采样周期的前3个历史采样周期对应的历史增量测试数据对当前增量测试数据进行平滑处理,则在当前采样周期的前3个历史采样周期对应的历史增量测试数据均不存在数据丢失情况时,可以采用如下公式计算当前采样周期内的目标增量测试数据Sn′:
Sn′=0.05Sn-3+0.15Sn-2+0.3Sn-1+0.5Sn
其中,Sn为当前采样周期对应的当前增量测试数据;Sn-1为当前采样周期的前一历史采样周期对应的历史增量测试数据;Sn-2为当前采样周期的前二历史采样周期对应的历史增量测试数据;Sn-3为当前采样周期的前三历史采样周期对应的历史增量测试数据;0.5是当前采样周期对应的初始当前系数;0.3、0.15和0.05分别是当前采样周期的前3个历史采样周期对应的初始历史系数。在本实施例中,若当前采样周期的前一历史采样周期Sn-1对应的历史增量测试数据存在数据丢失情况,则可以将当前采样周期的前一历史采样周期Sn-1对应的初始历史系数0.3加上前二历史采样周期Sn-2对应的初始历史系数0.15得到的结果作为前二历史采样周期Sn-2对应的目标历史系数0.45,其它历史采样周期对应的初始历史系数可以保持不变,即此时可以利用公式Sn′=0.05Sn-3+0.45Sn-2+0.5Sn计算当前采样周期内的目标增量测试数据Sn′。
在上述技术方案的基础上,该方法还可以包括:若当前采样周期内的当前增量测试数据存在数据丢失情况,且每个历史采样周期内的历史增量测试数据均不存在数据丢失情况,则根据当前采样周期对应的初始当前系数调整当前采样周期的前一历史采样周期的初始历史系数,并根据调整后的初始历史系数和各历史增量测试数据确定关联施压机在当前采样周期内的目标增量测试数据。
具体地,若关联施压机在发送当前采样周期内采集的当前增量测试数据存在数据丢包的情况,即当前采样周期内的当前增量测试数据存在数据丢失情况,则在每个历史采样周期内的历史增量测试数据均不存在数据丢失情况时,可以将当前采样周期对应的初始当前系数加上当前采样周期的前一历史采样周期的初始历史系数得到的结果作为前一历史采样周期的目标历史系数,以调整前一历史采样周期的初始历史系数,然后将调整后的初始历史系数与相应的历史增量测试数据进行相乘,以及将未调整初始历史系数的历史采样周期与相应的历史增量测试数据进行相乘,并将这些相乘结果进行相加得到的结果作为当前采样周期内的目标增量测试数据,以便可以更好地统计当前采样周期内的增量测试结果,从而可以获得更为准确且实时的增量测试结果。若当前采样周期内的当前增量测试数据以及至少一个历史采样周期内的历史增量测试数据均存在数据丢失情况,则可以根据初始当前系数和存在数据丢失情况的第一历史采样周期对应的初始历史系数,调整不存在数据丢失情况的第二历史采样周期对应的初始历史系数,从而利用调整后的第二历史采样周期对应的初始历史系数与相应的历史增量测试数据计算关联施压机在当前采样周期内的目标增量测试数据。
以下是本发明实施例提供的测试数据统计装置的实施例,该装置与上述各实施例的测试数据统计方法属于同一个发明构思,在测试数据统计装置的实施例中未详尽描述的细节内容,可以参考上述测试数据统计方法的实施例。
实施例三
图3为本发明实施例三提供的一种测试数据统计装置的结构示意图,本实施例可适用于对施压机发送的压测数据进行统计的情况,该装置具体包括:增量测试数据接收模块310和增量测试结果确定模块320。
其中,增量测试数据接收模块310,用于接收与目标任务关联的各关联施压机发送的增量测试数据,其中,增量测试数据附加有对应的采样时间戳;增量测试结果确定模块320,用于根据各增量测试数据对应的采样时间戳,对各增量测试数据进行统计,确定目标任务对应的增量测试结果。
可选地,增量测试结果确定模块320,具体用于:
若检测到当前接收的每个增量测试数据对应的采样时间戳均在预设时间范围内,且当前接收的增量测试数据的个数等于关联施压机的个数,则对当前接收的各增量测试数据进行叠加统计,确定目标任务对应的增量测试结果。
可选地,该装置还包括:
增量测试数据存储模块,用于在接收与目标任务关联的各关联施压机发送的增量测试数据之后,将接收的每个关联施压机发送的增量测试数据存储至关联施压机对应的多键值对结构类型的存储对象中,其中关联施压机与存储对象一一对应。
可选地,增量测试结果确定模块320,包括:
历史增量测试数据获取单元,用于根据各增量测试数据对应的采样时间戳,确定每个关联施压机在当前采样周期内的当前增量测试数据,并获取每个关联施压机在当前采样周期的前预设个数的历史采样周期内的历史增量测试数据;
目标增量测试数据确定单元,用于根据各历史增量测试数据,对当前增量测试数据进行平滑处理,确定关联施压机在当前采样周期内的目标增量测试数据;
增量测试结果确定单元,用于对各关联施压机对应的目标增量测试数据进行统计,确定目标任务对应的增量测试结果。
可选地,目标增量测试数据确定单元,具体用于:
若每个历史采样周期内的历史增量测试数据以及当前采样周期内的当前增量测试数据均不存在数据丢失情况,则根据每个历史采样周期对应的初始历史系数、当前采样周期对应的初始当前系数、各历史增量测试数据以及当前采样周期对应的当前增量测试数据,计算关联施压机在当前采样周期内的目标增量测试数据;
若至少一个历史采样周期内的历史增量测试数据存在数据丢失情况,且当前采样周期内的当前增量测试数据不存在数据丢失情况,则根据存在数据丢失情况的第一历史采样周期对应的初始历史系数,调整不存在数据丢失情况的第二历史采样周期对应的初始历史系数,确定第二历史采样周期对应的目标历史系数;根据目标历史系数、第二历史采样周期对应的历史增量测试数据,以及当前采样周期对应的初始当前系数和当前增量测试数据,计算关联施压机在当前采样周期内的目标增量测试数据。
可选地,目标增量测试数据确定单元,还具体用于:
若当前采样周期内的当前增量测试数据存在数据丢失情况,且每个历史采样周期内的历史增量测试数据均不存在数据丢失情况,则根据当前采样周期对应的初始当前系数调整当前采样周期的前一历史采样周期的初始历史系数,并根据调整后的初始历史系数和各历史增量测试数据确定关联施压机在当前采样周期内的目标增量测试数据。
可选地,该装置还包括:
全量测试数据接收模块,用于在接收与目标任务关联的各关联施压机发送的增量测试数据时,接收各关联施压机发送的全量测试数据,其中全量测试数据由关联施压机根据采样周期内采集的各增量测试数据进行统计生成;
全量测试结果确定模块,用于根据各全量测试数据确定目标任务对应的全量测试结果。
可选地,增量测试数据包括采样周期内的成功执行次数、失败执行次数和平均响应时间;增量测试结果包括目标任务对应的每秒请求数QPS和响应时间。
本发明实施例所提供的测试数据统计装置可执行本发明任意实施例所提供的测试数据统计方法,具备执行测试数据统计方法相应的功能模块和有益效果。
实施例四
图4是本发明实施例四提供的一种设备的结构示意图。参见图4,该设备包括:
一个或多个处理器410;
存储器420,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器410执行,使得一个或多个处理器410实现如上述实施例中任意实施例所提供的测试数据统计方法,该方法包括:
接收与目标任务关联的各关联施压机发送的增量测试数据,其中,增量测试数据附加有对应的采样时间戳;
根据各增量测试数据对应的采样时间戳,对各增量测试数据进行统计,确定目标任务对应的增量测试结果。
图4中以一个处理器410为例;设备中的处理器410和存储器420可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的测试数据统计方法对应的程序指令/模块(例如,测试数据统计装置中的增量测试数据接收模块310和增量测试结果确定模块320)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的测试数据统计方法。
存储器420主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本实施例提出的设备与上述实施例提出的测试数据统计方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例具备执行测试数据统计方法相同的有益效果。
实施例五
本实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的测试数据统计方法,该方法包括:
接收与目标任务关联的各关联施压机发送的增量测试数据,其中,增量测试数据附加有对应的采样时间戳;
根据各增量测试数据对应的采样时间戳,对各增量测试数据进行统计,确定目标任务对应的增量测试结果。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种测试数据统计方法,其特征在于,包括:
接收与目标任务关联的各关联施压机发送的增量测试数据,其中,所述增量测试数据附加有对应的采样时间戳;
根据各所述增量测试数据对应的采样时间戳,对各所述增量测试数据进行统计,确定所述目标任务对应的增量测试结果。
2.根据权利要求1所述的方法,其特征在于,根据各所述增量测试数据对应的采样时间戳,对各所述增量测试数据进行统计,确定所述目标任务对应的增量测试结果,包括:
若检测到当前接收的每个增量测试数据对应的采样时间戳均在预设时间范围内,且当前接收的增量测试数据的个数等于所述关联施压机的个数,则对当前接收的各增量测试数据进行叠加统计,确定所述目标任务对应的增量测试结果。
3.根据权利要求1所述的方法,其特征在于,在接收与目标任务关联的各关联施压机发送的增量测试数据之后,还包括:
将接收的每个所述关联施压机发送的增量测试数据存储至所述关联施压机对应的多键值对结构类型的存储对象中,其中所述关联施压机与所述存储对象一一对应。
4.根据权利要求1所述的方法,其特征在于,根据各所述增量测试数据对应的采样时间戳,对各所述增量测试数据进行统计,确定所述目标任务对应的增量测试结果,包括:
根据各所述增量测试数据对应的采样时间戳,确定每个所述关联施压机在当前采样周期内的当前增量测试数据,并获取每个所述关联施压机在当前采样周期的前预设个数的历史采样周期内的历史增量测试数据;
根据各所述历史增量测试数据,对所述当前增量测试数据进行平滑处理,确定所述关联施压机在当前采样周期内的目标增量测试数据;
对各所述关联施压机对应的目标增量测试数据进行统计,确定所述目标任务对应的增量测试结果。
5.根据权利要求4所述的方法,其特征在于,根据各所述历史增量测试数据,对所述当前增量测试数据进行平滑处理,确定所述关联施压机在当前采样周期内的目标增量测试数据,包括:
若每个所述历史采样周期内的历史增量测试数据以及当前采样周期内的当前增量测试数据均不存在数据丢失情况,则根据每个所述历史采样周期对应的初始历史系数、所述当前采样周期对应的初始当前系数、各所述历史增量测试数据以及所述当前采样周期对应的当前增量测试数据,计算所述关联施压机在当前采样周期内的目标增量测试数据;
若至少一个所述历史采样周期内的历史增量测试数据存在数据丢失情况,且当前采样周期内的当前增量测试数据不存在数据丢失情况,则根据存在数据丢失情况的第一历史采样周期对应的初始历史系数,调整不存在数据丢失情况的第二历史采样周期对应的初始历史系数,确定所述第二历史采样周期对应的目标历史系数;
根据所述目标历史系数、所述第二历史采样周期对应的历史增量测试数据,以及所述当前采样周期对应的初始当前系数和当前增量测试数据,计算所述关联施压机在当前采样周期内的目标增量测试数据。
6.根据权利要求5所述的方法,其特征在于,还包括:
若当前采样周期内的当前增量测试数据存在数据丢失情况,且每个所述历史采样周期内的历史增量测试数据均不存在数据丢失情况,则根据所述当前采样周期对应的初始当前系数调整所述当前采样周期的前一历史采样周期的初始历史系数,并根据调整后的初始历史系数和各所述历史增量测试数据确定所述关联施压机在当前采样周期内的目标增量测试数据。
7.根据权利要求1-6任一所述的方法,其特征在于,在接收与目标任务关联的各关联施压机发送的增量测试数据时,还包括:
接收各所述关联施压机发送的全量测试数据,其中所述全量测试数据由所述关联施压机根据采样周期内采集的各增量测试数据进行统计生成;
根据各所述全量测试数据确定所述目标任务对应的全量测试结果。
8.根据权利要求1所述的方法,其特征在于,所述增量测试数据包括采样周期内的成功执行次数、失败执行次数和平均响应时间;增量测试结果包括所述目标任务对应的每秒请求数QPS和响应时间。
9.一种测试数据统计装置,其特征在于,包括:
增量测试数据接收模块,用于接收与目标任务关联的各关联施压机发送的增量测试数据,其中,所述增量测试数据附加有对应的采样时间戳;
增量测试结果确定模块,用于根据各所述增量测试数据对应的采样时间戳,对各所述增量测试数据进行统计,确定所述目标任务对应的增量测试结果。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的测试数据统计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910053593.0A CN109815102B (zh) | 2019-01-21 | 2019-01-21 | 一种测试数据统计方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910053593.0A CN109815102B (zh) | 2019-01-21 | 2019-01-21 | 一种测试数据统计方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109815102A true CN109815102A (zh) | 2019-05-28 |
CN109815102B CN109815102B (zh) | 2022-10-11 |
Family
ID=66604762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910053593.0A Active CN109815102B (zh) | 2019-01-21 | 2019-01-21 | 一种测试数据统计方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109815102B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112040328A (zh) * | 2020-08-04 | 2020-12-04 | 北京字节跳动网络技术有限公司 | 数据交互方法、装置和电子设备 |
CN112416686A (zh) * | 2020-12-02 | 2021-02-26 | 海光信息技术股份有限公司 | 芯片的验证方法、验证装置以及存储介质 |
CN113468234A (zh) * | 2021-05-31 | 2021-10-01 | 济南浪潮数据技术有限公司 | 一种监控数据处理方法、装置、系统及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101933001A (zh) * | 2008-01-31 | 2010-12-29 | 雅虎公司 | 在集群系统中执行软件性能测试作业 |
CN105404580A (zh) * | 2015-10-23 | 2016-03-16 | 努比亚技术有限公司 | 分布式压力测试系统和方法 |
CN105653456A (zh) * | 2015-12-31 | 2016-06-08 | 网易(杭州)网络有限公司 | 应用程序性能测试方法、装置和系统 |
CN107360060A (zh) * | 2017-08-07 | 2017-11-17 | 瑞斯康达科技发展股份有限公司 | 一种时延测量方法及装置 |
CN109039819A (zh) * | 2018-08-16 | 2018-12-18 | 深圳华锐金融技术股份有限公司 | 时延统计方法、装置、系统及存储介质 |
-
2019
- 2019-01-21 CN CN201910053593.0A patent/CN109815102B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101933001A (zh) * | 2008-01-31 | 2010-12-29 | 雅虎公司 | 在集群系统中执行软件性能测试作业 |
CN105404580A (zh) * | 2015-10-23 | 2016-03-16 | 努比亚技术有限公司 | 分布式压力测试系统和方法 |
CN105653456A (zh) * | 2015-12-31 | 2016-06-08 | 网易(杭州)网络有限公司 | 应用程序性能测试方法、装置和系统 |
CN107360060A (zh) * | 2017-08-07 | 2017-11-17 | 瑞斯康达科技发展股份有限公司 | 一种时延测量方法及装置 |
CN109039819A (zh) * | 2018-08-16 | 2018-12-18 | 深圳华锐金融技术股份有限公司 | 时延统计方法、装置、系统及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112040328A (zh) * | 2020-08-04 | 2020-12-04 | 北京字节跳动网络技术有限公司 | 数据交互方法、装置和电子设备 |
CN112040328B (zh) * | 2020-08-04 | 2023-03-10 | 北京字节跳动网络技术有限公司 | 数据交互方法、装置和电子设备 |
CN112416686A (zh) * | 2020-12-02 | 2021-02-26 | 海光信息技术股份有限公司 | 芯片的验证方法、验证装置以及存储介质 |
CN113468234A (zh) * | 2021-05-31 | 2021-10-01 | 济南浪潮数据技术有限公司 | 一种监控数据处理方法、装置、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109815102B (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107341098B (zh) | 软件性能测试方法、平台、设备及存储介质 | |
CN109815102A (zh) | 一种测试数据统计方法、装置和存储介质 | |
CN105376335B (zh) | 一种采集数据上传方法和装置 | |
CN104202220B (zh) | 压力测试方法和装置 | |
CN110244991B (zh) | 一种微服务依赖分析方法及装置 | |
CN111563014B (zh) | 接口服务性能测试方法、装置、设备和存储介质 | |
US9898339B2 (en) | Meter reading data validation | |
CN106911927B (zh) | 评估网络视频用户体验质量的方法、装置和dpi设备 | |
CN106383764A (zh) | 一种数据采集方法和设备 | |
CN111026627A (zh) | 压力测试方法、装置及服务器 | |
US9852051B2 (en) | Second failure data capture in co-operating multi-image systems | |
RU2013114686A (ru) | Способ сбора данных электронных анкет, основанный на событийном принципе | |
CN110134583B (zh) | 软件测试及数据处理方法及装置 | |
CN104683181B (zh) | 一种性能监控方法、设备和系统 | |
CN109408399A (zh) | 一种算力估计方法、装置、设备和存储介质 | |
CN113448854A (zh) | 一种回归测试方法和装置 | |
CN109254913A (zh) | 设备共享方法、装置、电子设备及计算机存储介质 | |
CN107203464B (zh) | 业务问题的定位方法以及装置 | |
CN112506751A (zh) | 一种服务器整机性能的对比测试方法、装置、设备及介质 | |
CN109857633B (zh) | 一种任务算力估计方法、装置和存储介质 | |
CN110503297B (zh) | 业务场景获取方法、装置、电子设备及介质 | |
CN103218295A (zh) | Esb消息处理能力的测试方法和系统 | |
CN107094306B (zh) | 终端性能评估方法及装置 | |
CN108964822B (zh) | 一种多方案并行获取网络时间的方法及系统 | |
CN110334118A (zh) | 数据查询方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |