一种系统性能测试方法、装置及存储介质与流程

文档序号:15163868发布日期:2018-08-14 17:11阅读:190来源:国知局

本发明涉及系统测试技术领域,具体涉及一种系统性能测试方法、装置及存储介质。



背景技术:

随着互联网及计算机技术的发展,网络中各类系统的功能不断变化和更新,例如,可以在系统的现有版本的基础上开发新版本,从而在系统中增加新功能或者改进原有功能。在新版本的系统开发完成之后,还需要对新版本的系统进行性能测试,以保证新版本的系统的质量。

现有技术中,在对系统的性能进行测试时,一般是通过引流方式把线上的数据复制到线下环境,例如,采用请求复制工具tcpcopy进行引流,或者是把自己的现有的服务器改造,通过改造后的服务器直接线上的数据引过来。然后可以根据得到的数据对系统的各项性能指标进行测试,得到测试结果。

在对现有技术的研究和实践过程中,本发明的发明人发现,在现有引流方式对系统性能进行测试时,只是使用得到的数据对系统性能进行测试,而不会检查测试结果,导致测试的准确性较低。



技术实现要素:

本发明实施例提供一种系统性能测试方法、装置及存储介质,旨在提高对系统性能进行测试的准确性。

为解决上述技术问题,本发明实施例提供以下技术方案:

一种系统性能测试方法,包括:

接收终端发送的指令串,所述指令串为所述终端根据配置指令配置的测试信息生成的;

根据所述指令串获取待测试的日志文件;

对所述日志文件中的每个原始请求及其对应的原始响应设置标识;

根据所述原始请求对待测试系统进行性能测试,得到测试响应;

根据所述标识将原始响应与测试响应进行比对,得到测试结果。

一种系统性能测试装置,包括:

接收单元,用于接收终端发送的指令串,所述指令串为所述终端根据配置指令配置的测试信息生成的;

获取单元,用于根据所述指令串获取待测试的日志文件;

设置单元,用于对所述日志文件中的每个原始请求及其对应的原始响应设置标识;

测试单元,用于根据所述原始请求对待测试系统进行性能测试,得到测试响应;

比对单元,用于根据所述标识将原始响应与测试响应进行比对,得到测试结果。

一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述系统性能测试方法中的步骤。

本发明实施例可以根据接收到终端发送的指令串获取待测试的日志文件,并对日志文件中的每个原始请求及其对应的原始响应设置标识,然后根据原始请求对待测试系统进行性能测试,得到测试响应,以及根据标识将测试响应与原始响应进行比对,得到测试结果。该方案通过获取日志文件,并对日志文件中的每个原始请求及其对应的原始响设置标识,可以在根据原始请求对待测试系统进行性能测试得到测试响应后,根据标识获取原始响应来与测试响应进行比对,得到测试结果,使得通过原始请求和原始响应设置标识以达到精准校验的目的,提高了对系统性能进行测试的准确性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的系统性能测试系统的场景示意图;

图2是本发明实施例提供的系统性能测试方法的流程示意图;

图3是本发明实施例提供的进行测试信息配置的框架示意图;

图4是本发明实施例提供的公共配置中测试环境配置的界面示意图;

图5是本发明实施例提供的引流配置中引流任务配置的界面示意图;

图6是本发明实施例提供的重放配置中重放任务配置的界面示意图;

图7是本发明实施例提供的系统性能测试的框架示意图;

图8是本发明实施例提供的数据处理的示意图;

图9是本发明实施例提供的数据染色的示意图;

图10是本发明实施例提供的调用执行器的读取进程从业务队列中获取原始请求对测试系统进行性能测试的示意图;

图11是本发明实施例提供的测试结果获取的示意图;

图12是本发明实施例提供的性能监控的示意图;

图13是本发明实施例提供的响应码结果比对的示意图;

图14是本发明实施例提供的系统性能测试方法的另一流程示意图;

图15是本发明实施例提供的系统性能测试装置的结构示意图;

图16是本发明实施例提供的系统性能测试装置的另一结构示意图;

图17是本发明实施例提供的系统性能测试装置的另一结构示意图;

图18是本发明实施例提供的服务器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种系统性能测试方法、装置及存储介质。

请参阅图1,图1为本发明实施例所提供的系统性能测试系统的场景示意图,该系统性能测试系统可以包括系统性能测试装置,该系统性能测试装置具体可以集成在服务器中,主要用于接收终端发送的指令串,其中,该指令串可以是终端根据配置指令配置的测试信息生成的。此时可以根据接收到的指令串获取待测试的日志文件,例如,可以先获取候选日志文件,再从候选日志文件中筛选出待测试的日志文件。然后,对日志文件中的每个原始请求及其对应的原始响应设置标识,其中,日志文件中可以包括一个或多个每个原始请求,每个原始请求有与其对应的原始响应,一个原始请求与其对应的一个原始响应设置同一个标识,还可以将设置标识后的每个原始请求存储至对应的业务用例队列中。其次,可以根据原始请求对待测试系统进行性能测试,得到测试响应;例如,可以从指令串中提取预设测试信息,以及调用至少一个读取进程从业务用例队列中获取与预设测试信息对应的原始请求,根据预设测试信息和获取到的原始请求对待测试系统进行性能测试,从而可以得到测试响应。最后,可以根据标识将原始响应与测试响应进行比对,得到测试结果;例如,可以将原始响应与对不同版本的待测试系统进行性能测试得到的测试响应进行比对;等等。

此外,该系统性能测试系统还可以包括终端,该终端主要用于接收用户发送的测试信息配置请求,根据测试信息配置请求生成测试信息配置界面,其中该测试信息配置界面内可以包括引流配置接口、重放配置接口、修改接口、及结果查看接口等,例如,可以通过重放配置接口接收重放配置指令,根据重放配置指令选择测试对象及重放方式等测试信息。然后,可以根据配置的测试信息生成指令串,并将指令串发送给服务器。

需要说明的是,图1所示的系统性能测试系统的场景示意图仅仅是一个示例,本发明实施例描述的系统性能测试系统以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统性能测试系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。

以下分别进行详细说明。

在本实施例中,将从系统性能测试装置的角度进行描述,该系统性能测试装置具体可以集成在服务器或网关等网络设备中。

一种系统性能测试方法,包括:接收终端发送的指令串,该指令串为终端根据配置指令配置的测试信息生成的;根据指令串获取待测试的日志文件;对日志文件中的每个原始请求及其对应的原始响应设置标识;根据原始请求对待测试系统进行性能测试,得到测试响应;根据标识将原始响应与测试响应进行比对,得到测试结果。

请参阅图2,图2是本发明一实施例提供的系统性能测试方法的流程示意图。该系统性能测试方法可以包括:

在步骤s101中,接收终端发送的指令串。

其中,该指令串可以是终端根据配置指令配置的测试信息生成的,例如,终端可以接收用户发送的测试信息配置请求,根据测试信息配置请求生成测试信息配置界面,即在终端当前的显示界面内显示测试信息配置界面,该测试信息配置界面可以是用户登录账号进入的测试信息配置的网页界面。其中该测试信息配置界面内可以包括任务配置接口、环境配置接口、工具配置接口、引流配置接口、重放配置接口、修改接口及结果查看接口等,其中,任务配置接口主要用于接收任务配置指令,以根据任务配置指令对日志文件的数据拉取方式进行配置等;环境配置接口主要用于接收环境配置指令,以根据环境配置指令对系统性能测试的测试环境和线上环境等进行配置,该线上环境可以是待测试的日志文件所在的现网环境;工具配置接口主要用于接收工具配置指令,以根据工具配置指令对日志工具和重放工具等进行配置,该日志工具可以是从线上获取日志文件的工具,该重放工具可以是将待测试的日志文件放至测试环境的工具;引流配置接口主要用于接收引流配置指令,以根据引流配置指令对引流任务等进行配置,该引流可以是从现网拉取日志文件的数据;重放配置接口主要用于接收重放配置指令,以根据重放配置指令对测试对象和重放方式等进行配置,该重放可以是将待测试的日志文件放至测试环境;修改接口主要用于接收修改指令,以根据修改指令对配置的测试信息进行相应的修改;结果查看接口主要用于接收结果查看指令,以根据结果查看指令显示测试信息配置结果或显示系统性能测试结果等,接口的表现形式可以是输入文本框或按钮等形式,具体内容在此处不作限定。例如,终端可以通过重放配置接口接收重放配置指令,根据重放配置指令选择测试对象及重放方式等测试信息;或者是,终端可以通过环境配置接口接收环境配置指令,根据环境配置指令为测试环境参数进行设置等。

例如,如图3所示,在终端上配置测试信息时,可以进行公共配置,该公共配置主要用于配置各类公共信息,支持各类系统、各类环境、及各类工具等的接入,以提高测试信息配置平台的开放能力。该公共配置可以包括任务配置、环境配置及工具配置等,其中,任务配置可以包括数据拉取配置等,该数据拉取配置可以是对日志文件的拉取方式进行配置等,环境配置可以包括测试环境配置和线上环境配置等,工具配置可以包括日志工具配置和重放工具配置等。例如,如图4所示,在进行测试环境配置时,可以通过添加配置接口接收添加配置指令,以根据添加配置指令添加测试环境的环境标识(identification,id)、环境名称、网络协议(internetprotocol,ip)、端口号(port)及文件目录等参数,图4中各个参数的取值可以根据实际需要进行灵活设置,具体取值在此处不作限定。

在测试信息配置界面内还可以进行引流配置和重放配置等,在进行引流配置(即线上引流)时,可以选择测试对象、选择线上环境、及建立引流任务等,该测试对象可以是选择要测试的系统,该线上环境可以是系统对应的线上环境,该引流任务可以通过选择引流工具来执行。在建立引流任务后可以启动引流任务,从而可以通过引流工具把线上真实的日志文件复制到线下环境,解决了人工构造数据进行测试环境模拟不够真实,或覆盖不够全面的问题。在启动引流执行引流任务后,可以将执行后的引流任务得到的引流任务结果存储至引流任务列表中,用户可以在引流任务列表中查询引流任务结果,该引流任务结果可以包括引流任务完成状态、及线上数据分析等,其中,线上数据分析可以包括吞吐量、时延、业务类型统计等。例如,如图5所示,在线上引流的引流任务配置中可以通过添加配置接口接收添加配置指令,以根据添加配置指令添加引流任务的任务标识id、计划名、引流环境、引流原文件、引流解析文件及引流状态等参数,图5中各个参数的取值可以根据实际需要进行灵活设置,具体取值在此处不作限定。

在进行重放配置时,可以选择测试对象、选择引流任务及选择重放方式等,该测试对象可以是选择要测试的系统,该引流任务可以是引流配置中建立的一个或多个引流任务,该重放方式可以通过选择的重放工具来确定。在选择重放方式后可以启动重放,通过重放工具把复制到线下环境的日志文件放至测试环境。在启动重放执行重放任务(即性能测试任务)后,可以将执行后的重放任务得到的重放任务结果存储至重放任务列表中,用户可以在重放任务列表中查询重放任务结果(即性能测试任务结果),该重放任务结果可以包括性能测试任务的完成状态、发送总笔数、成功总笔数、成功率、耗时、及实际吞吐量等。例如,如图6所示,在重放配置的重放任务配置中,可以通过添加配置接口接收添加配置指令,以根据添加配置指令添加重放任务的任务标识id、计划名、重放环境、引流计划、请求总数、重放速率、重放时间、重放状态及操作者等参数,图6中各个参数的取值可以根据实际需要进行灵活设置,具体取值在此处不作限定。

终端可以根据上述配置的测试信息生成指令串,并将指令串发送给系统性能测试装置。系统性能测试装置接收到终端发送的指令串后,可以根据指令串对系统性能进行性能测试并将得到的测试结果发送给终端,该性能测试可以是通过自动化的测试工具(例如测试桩)模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试等。终端可以将测试结果存储至结果列表中,终端可以通过结果查看接口接收结果查看指令,根据结果查看指令从结果列表中提取相应的测试结果进行结果查看,并在显示界面内进行结果展示等。

在步骤s102中,根据指令串获取待测试的日志文件。

系统性能测试装置在接收到终端发送的指令串后,可以从指令串中提取出配置的测试信息,可以根据测试信息从现网获取待测试的日志文件。

在某些实施方式中,根据指令串获取待测试的日志文件的步骤可以包括:根据指令串获取候选日志文件;对候选日志文件进行解析,得到解析后的日志文件;按照预设条件对解析后的日志文件进行筛选,得到待测试的日志文件。

系统性能测试装置可以根据指令串从现网中获取候选日志文件,然后对候选日志文件进行数据处理,例如,如图7所示。具体地,在得到候选日志文件后,系统性能测试装置可以对候选日志文件进行解析,得到解析后的日志文件;例如,如图8所示,在对候选日志文件进行解析(即日志解析)时,可以从指令串中提取出配置的测试信息,通过根据测试信息调用各业务解析模块,通过各业务解析模块对候选日志文件解析处理,该解析处理可以是日志解析,例如通过网关层relay进行日志解析,通过开发框架middle进行日志解析,通过消息通道cq/cmq进行日志解析等,当然,还可以通过业务解析模块进行日志解析,具体内容在此处不作限定。

在解析得到解析后的日志文件后,系统性能测试装置可以按照预设条件对解析后的日志文件进行筛选,得到待测试的日志文件,该预设条件可以是配置的测试信息中设置的过滤规则等。其中,对解析后的日志文件进行筛选即为对解析后的日志文件进行数据过滤及数据分析等,其中,数据分析主要是对候选日志文件中的原始请求进行分析,如数据中的请求类型及各请求类型的占比、错误率、时延、数据流量时间段分布等,供后续可能的设置场景测试进行数据源匹配应用等;数据过滤主要是对可能存在不能重放的数据、异常数据、暂时无法剥离依赖的数据、及本次重放不需要的业务请求等进行过滤,以及根据测试信息中设置的过滤规则对解析后的日志文件进行内容筛选,可以得到待测试的日志文件,可以将待测试的日志文件进行数据存储,即根据测试信息中配置的存放路径将待测试的日志文件存储至该存放路径下。

在步骤s103中,对日志文件中的每个原始请求及其对应的原始响应设置标识。

在得到待测试的日志文件后,系统性能测试装置可以进入测试准备,例如,图7中,该测试准备可以包括用例管理、内容管理及环境管理等,其中,用例管理主要用于对日志文件中的数据进行染色,生成引流用例,便于业务跟踪和结果匹配,该染色可以是设置标识;内容管理主要用于根据消息类型对日志文件中的数据进行分类管理,环境管理主要用于对测试环境进行管理等。

系统性能测试装置进入测试准备后,可以对待测试的日志文件进行数据染色,即对日志文件中的每个原始请求及其对应的原始响应设置标识,一个原始请求与其对应的一个原始响应设置同一个标识。例如,如图9所示,可以对日志文件中的每个原始请求及其对应的原始响应进行染色,并将染色后的原始请求进行用例分发,以将该原始请求进行用例重放,以及将染色后的原始响应存储至响应缓存中。

在某些实施方式中,对日志文件中的每个原始请求及其对应的原始响应设置标识之后,系统性能测试方法还可以包括:

确定设置标识后的每个原始请求对应的业务;根据设置标识后的每个原始请求对应的业务,将设置标识后的每个原始请求存储至对应的业务用例队列中。

具体地,对日志文件中的每个原始请求及其对应的原始响应设置标识之后,可以进行用例重放,如图7所示,该用例重放可以包括重放管理及各类执行器,其中,重放管理主要用于对待测试的日志文件放至测试环境进行管理,各类执行器可以包括relay执行器和middle执行器等,主要用于将待测试的日志文件放至测试环境,其中,系统性能测试装置设置的执行器与上述终端配置的测试信息中包含的重放工具对应,即测试信息配置界面中配置的重放工具,即为系统性能测试装置需要调用的执行器。系统性能测试装置将该原始请求进行用例重放的过程中,可以确定设置标识后的每个原始请求对应的业务,然后根据设置标识后的每个原始请求对应的业务,将设置标识后的每个原始请求存储至对应的业务用例队列中。

在步骤s104中,根据原始请求对待测试系统进行性能测试,得到测试响应。

在对日志文件中的每个原始请求及其对应的原始响应设置标识后,首先,可以根据原始请求对待测试系统进行性能测试,例如,可以从业务用例队列中获取原始请求对待测试系统进行性能测试。

在某些实施方式中,根据原始请求对待测试系统进行性能测试,得到测试响应的步骤可以包括:

从指令串中提取预设测试信息;调用至少一个读取进程,并根据至少一个读取进程从与原始请求对应的业务用例队列中,获取与预设测试信息对应的原始请求;根据预设测试信息和获取到的原始请求对待测试系统进行性能测试,得到测试响应。

具体地,系统性能测试装置可以从指令串中提取预设测试信息,该预设测试信息可以是配置的测试信息中的部分或全部信息,该预设测试信息主要用于指示系统性能测试装置对待测试系统进行性能测试。系统性能测试装置可以调用至少一个执行器的读取进程,并根据至少一个读取进程从与原始请求对应的业务用例队列中,获取与预设测试信息对应的原始请求,其中,一个执行器可以调用一个或多个读取进程。例如,如图10所示,各业务用例队列中可以包括业务用例队列1至业务用例队列n,其中,n的取值可根据实际需要进行设置。图10中系统性能测试装置可以从指令串中提取测试信息中包含的配置文件,该配置文件可以用于指示系统性能测试装置调用执行器及其读取进程从业务用例队列中获取原始请求,例如,可以调用执行器a的读取进程1至读取进程n,以及调用执行器b的读取进程1至读取进程n,其中,n的取值可以根据实际需要进行灵活设置,当然还可以调用其他执行器的读取进程,在此不作限定。根据调用到的执行器a的读取进程1至读取进程n、及执行器b的读取进程1至读取进程n,并行或串行从业务用例队列1至业务用例队列n中的一个或多个业务用例队列中,获取与预设测试信息对应的原始请求,该原始请求可以包括一个或多个。然后,系统性能测试装置将得到的原始请求发送给测试系统,该测试系统即为待测试系统,该测试系统可以包括测试系统1至测试系统n,其中,n的取值可以根据实际需要进行灵活设置,具体取值在此处不作限定。从而系统性能测试装置可以根据预设测试信息和获取到的原始请求对待测试系统进行性能测试,得到测试响应。

可选地,根据预设测试信息和获取到的原始请求对待测试系统进行性能测试,得到测试响应的步骤可以包括:

根据预设测试信息确定需要调用的执行器,并调用执行器;通过执行器将获取到的原始请求发送给待测试系统,以使得待测试系统将基于原始请求输出的测试数据发送给原始请求对应的测试桩;接收测试桩依次通过待测试系统及执行器返回的测试响应,测试响应为测试桩基于测试数据进行性能测试得到的。

具体地,系统性能测试装置可以根据预设测试信息确定需要调用的执行器,并调用执行器,该执行器可以包括一个或多个。通过执行器将获取到的原始请求发送给待测试系统,例如,图10中系统性能测试装置可以调用执行器a的读取进程1至读取进程n,以及调用执行器b的读取进程1至读取进程n,并行或串行从业务用例队列1至业务用例队列n中的一个或多个业务用例队列中,获取与预设测试信息对应的一个或多个原始请求。然后将得到的原始请求发送给测试系统1至测试系统n中的任一个或多个,该测试系统即为待测试系统。以使得待测试系统执行原始请求,并基于原始请求输出的测试数据,将输出的测试数据发送给原始请求对应的测试桩,如图7中,该测试桩可以包括测试桩1至测试桩n,其中,n的取值可以根据实际需要进行灵活设置,具体取值在此处不作限定。以使得测试桩基于测试数据对待测试系统进行性能测试,接收测试桩依次通过待测试系统及执行器返回的测试响应,可以将性能测试得到的测试响应存储至测试数据库中。从而可以实现自动拉取线上真实的日志文件,在测试环境回放,无需人工构造数据,数据的形式变化无需人工模拟,不仅降低了工作量,而且测试数据更可信;通过得到待测试的日志文件中的原始请求对系统性能进行测试,可以使得测试响应的数据规律更符合真实情况,即符合客观规律,该测试响应更贴近现实。

在步骤s105中,根据标识将原始响应与测试响应进行比对,得到测试结果。

在得到测试响后,系统性能测试装置可以获取与测试响应对应的原始请求的标识,并获取与该标识对应的原始响应,例如,可以从响应缓存中获取与该标识对应的原始响应,也可以从设置标识后的日志文件中获取与该标识对应的原始响应等。然后将原始响应与测试响应进行精准比对,得到测试结果。该测试结果可以包括显示结果精准校验结果(原始响应与测试响应的精准校验结果)、系统性能监控曲线、及吞吐量变化曲线等。例如,如图7所示,在得到测试响后,系统性能测试装置可以进行测试响应处理,该测试响应处理可以包括将测试响应进行存储、将原始响应与测试响应进行校验、及将原始响应与测试响应进行比对等,得到测试结果。此时,还可以进行测试结果处理,例如,存储测试结果、分析结果趋势及对测试结果进行统计分析等。

在某些实施方式中,根据标识将原始响应与测试响应进行比对,得到测试结果的步骤可以包括:

获取与测试响应对应的原始请求的标识,得到目标标识;从待测试的日志文件中获取与目标标识对应的原始响应;从测试响应中获取与原始响应所在系统的版本相同的待测试系统对应的测试响应;将获取到的原始响应与获取到的测试响应进行比对,得到测试结果。

具体地,系统性能测试装置首先可以获取与测试响应对应的原始请求的标识,得到目标标识,然后从待测试的日志文件中获取与目标标识对应的原始响应,或者是,从响应缓存中获取与目标标识对应的原始响应。其次,从测试响应中获取与原始响应所在系统的版本相同的待测试系统对应的测试响应,该测试响应可以是一个或者多个。最后,可以将获取到的原始响应与获取到的一个测试响应进行比对,得到测试结果;或者,将获取到的原始响应与获取到的多个测试响应分别进行比对,得到测试结果;或者,将获取到的多个测试响应分别进行比对,得到测试结果。系统性能测试装置可以基于线上引流进行系统性能测试,支持线上原始请求自动拉取、统计分析、数据筛选、及数据重放动态调整等,支持原始请求和原始响应串的多样性测试,通过对原始请求和原始响应设置标识,可以达到精准校验的效果,无需多维护一套对比系统,极大减少维护工作量。

在某些实施方式中,根据标识将原始响应与测试响应进行比对,得到测试结果的步骤可以包括:

获取与测试响应对应的原始请求的标识,得到目标标识;从待测试的日志文件中获取与目标标识对应的原始响应;从测试响应中获取与原始响应所在系统的版本不同的待测试系统对应的各个测试响应;将获取到的原始响应与各个测试响应分别进行比对,得到测试结果。

具体地,系统性能测试装置首先可以获取与测试响应对应的原始请求的标识,得到目标标识。然后,从待测试的日志文件中获取与目标标识对应的原始响应,或者是,从响应缓存中获取与目标标识对应的原始响应。其次,从测试响应中获取与原始响应所在系统的版本不同的待测试系统对应的各个测试响应,该测试响应可以是一个或者多个。最后,可以将获取到的原始响应与各个测试响应分别进行比对,例如,可以将获取到的原始响应与获取到的一个测试响应进行比对,得到测试结果;或者,将获取到的原始响应与获取到的多个测试响应分别进行比对,得到测试结果;或者,将获取到的多个测试响应分别进行比对,得到测试结果。系统性能测试装置可以将同一个原始请求用于两个版本(a和b)或多个版本(a/b/n)的待测试系统进行测试,然后根据各个版本的待测试系统得到的测试响应来比较各个版本的实际效果,提高了测试结果获取的灵活性及可靠性。

需要说明的是,系统性能测试装置可以使用同一个原始请求对待测试系统进行多次测试,得到测试响应集,该测试响应集中包括多次测试得到的多个测试响应。然后,将测试响应集中每个测试响应分别与原始响应进行比对,或每个测试响应之间进行比对,得到测试结果集。例如,如图11所示,不同的原始请求可以得到对待测试系统进行多次测试,得到不同的测试响应集,例如,响应结果集1和测试响应集2等,当然,还可以包括其他的测试响应集,具体个数在此处不作限定。然后对测试响应集1和测试响应集2进行多套环境结果对比验证,即对测试响应集1和测试响应集2中获取与原始响应所在系统的版本不同的待测试系统对应的测试响应,将得到测试响应与原始响应进行不同版本或不同环境的结果比对验证,得到测试结果。或者是,对测试响应集1和测试响应集2进行单套环境结果对比验证,即对测试响应集1和测试响应集2中获取与原始响应所在系统的版本相同的待测试系统对应的测试响应,将得到测试响应与原始响应进行相同版本或相同环境的结果比对验证,得到测试结果。对测试结果进行进一步处理后,可以实现测试结果二次生成,该二次生成的测试结果可以发送给终端进行显示,测试结果为原始的验证结果数据,二次生成主要基于原始的验证结果数据,做整体上的统计分析,主要包括:总用例数成功率、失败用例数、具体失败用例、批跑任务执行的时间段及数据源等。

需要说明的是,系统性能测试装置可以对测试过程进行监控,例如,如图7所示,可以对测试过程进行监控管理,该监控管理可以包括系统监控、业务监控、流量监控、日志监控及测试环境监控等。该系统监控可以包括性能监控等,该性能监控主要用于监控服务性能,例如,中央处理器(centralprocessingunit,cpu)、内存(memory)、及句柄等,以预防系统发生性能问题。另外,还可以自动扩展结果核对及性能监控等功能,可以在系统性能测试的同时自动监控服务性能,在系统性能测试结束后自动完成数据核对、报表生成、及告警等。当系统性能测试存在异常时,系统性能测试装置可以生成测试通知或监控通知等,将测试通知或监控通知等以邮件方式发送到预留的邮箱,或以消息方式发送给到预留的即时通信账号,或以短信方式发送到预留的手机号等。

系统性能测试装置可以对各类系统开放引流性能测试能力,直接用现网中原始请求代替性能测试中的数据构造,节省数据构造时间,并提升性能测试可靠性,并且将测试响应和原始响应进行结果精准校验,保证性能测试准确性,另外,可以在测试的同时,自动监督系统性能,方便测试人员判断系统是否存在性能问题,以及测试结果统一管理,集中维护,为日后系统优化提供参考。

在某些实施方式中,根据标识将原始响应与测试响应进行比对,得到测试结果的步骤之后,系统性能测试方法还可以包括:将测试结果发送给终端,以使得终端在显示界面内显示测试结果。

具体地,系统性能测试装置可以得到的测试结果发送给终端,终端可以对接收到的测试结果进行存储,当终端接收到结果查看指令时,可以在显示界面内显示与该结果查看指令对应的测试结果。例如,可以显示完成状态、发送总笔数、成功总笔数、成功率、耗时、系统性能监控曲线、吞吐量变化曲线、原始响应与测试响应之间的精准校验等。例如,如图12所示,终端可以在显示界面内显示cpu性能监控中cpu占用比例及内存使用的监控曲线。又例如,如图13所示,可以在显示界面内显示对测试响应中不同响应码进行统计的结果。从而可以丰富测试结果显示的多样性。

由上可知,本发明实施例可以根据接收到终端发送的指令串获取待测试的日志文件,并对日志文件中的每个原始请求及其对应的原始响应设置标识,然后根据原始请求对待测试系统进行性能测试,得到测试响应,以及根据标识将测试响应与原始响应进行比对,得到测试结果。该方案通过获取日志文件,并对日志文件中的每个原始请求及其对应的原始响设置标识,可以在根据原始请求对待测试系统进行性能测试得到测试响应后,根据标识获取原始响应来与测试响应进行比对,得到测试结果,使得通过原始请求和原始响应设置标识以达到精准校验的目的,提高了对系统性能进行测试的准确性。

根据上述实施例所描述的方法,以下将举例作进一步详细说明。

本实施例以系统性能测试装置为服务器为例,请参阅图14,图14为本发明实施例提供的系统性能测试方法的另一流程示意图。该系统性能测试方法流程可以包括:

201、服务器接收终端发送的指令串。

该指令串可以是终端根据配置指令配置的测试信息生成的,例如,终端可以接收用户发送的测试信息配置请求,根据测试信息配置请求生成测试信息配置界面,即在终端当前的显示界面内显示测试信息配置界面,该测试信息配置界面可以是用户登录账号进入的测试信息配置的网页界面。

该测试信息配置请求可以是用户向终端发送的,例如,用户可以通过在终端的显示界面内点击测试信息配置图标,生成测试信息配置请求;或者是,用户可以通过向终端发送“测试信息配置”等相关语音,生成测试信息配置请求;或者是用户可以通过向终端发送由体感指令生成的测试信息配置请求;等等。可以理解的是,测试信息配置请求的生成的方式还可以是其他的方式,具体内容在此处不作限定。

终端可以根据上述配置的测试信息生成指令串,并将指令串发送给服务器,服务器接收终端发送的指令串。

202、服务器根据指令串获取候选日志文件,并对候选日志文件进行筛选,得到待测试的日志文件。

服务器在接收到指令串后,可以从指令串中提取出配置的测试信息,可以根据测试信息从现网获取候选日志文件,然后对进行筛选,例如,调用各业务解析模块对候选日志文件进行解析,可以按照预设条件对解析后的日志文件进行筛选,例如,对不能重放的数据、异常数据、及重放不需要的业务请求等日志文件进行过滤,以及根据测试信息中设置的过滤规则对解析后的日志文件进行内容筛选,可以得到待测试的日志文件。

203、服务器对日志文件中的每个原始请求及其对应的原始响应设置标识,并将设置标识后的每个原始请求存储至对应的业务用例队列中。

在得到待测试的日志文件后,服务器可以对日志文件中的每个原始请求及其对应的原始响应设置标识,即一个原始请求与其对应的一个原始响应设置同一个标识。在对日志文件中的每个原始请求及其对应的原始响应设置标识后,可以确定设置标识后的每个原始请求对应的业务,然后根据设置标识后的每个原始请求对应的业务,将设置标识后的每个原始请求存储至对应的业务用例队列中。

204、服务器从指令串中提取预设测试信息,以及调用至少一个读取进程从业务用例队列中,获取与预设测试信息对应的原始请求

服务器可以从指令串中提取预设测试信息,该预设测试信息可以是配置的测试信息中的部分或全部信息,该预设测试信息主要用于指示系统性能测试装置对待测试系统进行性能测试。服务器可以调用至少一个执行器的至少一个读取进程,并根据至少一个读取进程从与原始请求对应的业务用例队列中,获取与预设测试信息对应的原始请求,该原始请求可以包括一个或多个,其中,一个执行器可以调用一个或多个读取进程。

205、服务器根据预设测试信息和获取到的原始请求对待测试系统进行性能测试,得到测试响应。

服务器可以根据预设测试信息确定需要调用的执行器,并调用执行器,其中,该执行器可以包括一个或多个。然后通过执行器将获取到的原始请求发送给待测试系统,当包括多个执行器时,可以通过多个执行器并行或串行将将获取到的原始请求发送给待测试系统,该待测试系统可以包括一个或多个,以使得待测试系统将基于原始请求输出的测试数据发送给原始请求对应的测试桩。接收测试桩依次通过待测试系统及执行器返回的测试响应,测试响应为测试桩基于测试数据进行性能测试得到的。

206、服务器根据标识将获取到的原始请求对应的原始响应与得到的测试响应进行比对,得到测试结果。

在得到测试响后,服务器可以获取测试响应对应的原始请求的标识,并从待测试的日志文件中或响应缓存中获取与该标识对应的原始响应。然后,从测试响应中获取与原始响应所在系统的版本相同的待测试系统对应的测试响应,该测试响应可以是一个或者多个;并将获取到的原始响应与获取到的一个或多个测试响应进行比对,得到测试结果。或者,从测试响应中获取与原始响应所在系统的版本不同的待测试系统对应的一个或多个测试响应,并将获取到的原始响应与获取到的一个或多个测试响应进行比对,得到测试结果。或者,将获取到的多个测试响应之间进行比对,得到测试结果。

207、服务器将测试结果发送给终端,以使得终端在显示界面内显示测试结果。

服务器可以得到的测试结果发送给终端,终端可以对接收到的测试结果进行存储,当终端接收到结果查看指令时,可以在显示界面内显示与该结果查看指令对应的测试结果。需要说明的是,服务器可以对系统性能测试过程进行监控,并且在系统性能测试存在异常时,可以生成告警信息,还可以将告警信息发送至终端,以使得终端输出告警信息,以及时通知技术人员采取相应措施。

本发明实施例,可以用现网日志文件中原始请求代替性能测试中的数据构造,提升了系统性能测试可靠性,并且,可以通过对日志文件中的每个原始请求及其对应的原始响设置标识,来实现将测试响应和原始响应进行精准校验的目的,保证了性能测试的准确性。

为便于更好的实施本发明实施例提供的系统性能测试方法,本发明实施例还提供一种基于上述系统性能测试方法的装置。其中名词的含义与上述系统性能测试方法中相同,具体实现细节可以参考方法实施例中的说明。

请参阅图15,图15为本发明实施例提供的系统性能测试装置的结构示意图,其中该系统性能测试装置可以包括接收单元301、获取单元302、设置单元303、测试单元304、及比对单元305。

其中,接收单元301,用于接收终端发送的指令串。

其中,该指令串可以是终端根据配置指令配置的测试信息生成的,例如,终端可以接收用户发送的测试信息配置请求,根据测试信息配置请求生成测试信息配置界面,即在终端当前的显示界面内显示测试信息配置界面,该测试信息配置界面可以是用户登录账号进入的测试信息配置的网页界面。其中该测试信息配置界面内可以包括任务配置接口、环境配置接口、工具配置接口、引流配置接口、重放配置接口、修改接口及结果查看接口等,其中,任务配置接口主要用于接收任务配置指令,以根据任务配置指令对日志文件的数据拉取方式

进行配置等;环境配置接口主要用于接收环境配置指令,以根据环境配置指令对系统性能测试的测试环境和线上环境等进行配置,该线上环境可以是待测试的日志文件所在的现网环境;工具配置接口主要用于接收工具配置指令,以根据工具配置指令对日志工具和重放工具等进行配置,该日志工具可以是从线上获取日志文件的工具,该重放工具可以是将待测试的日志文件放至测试环境的工具;引流配置接口主要用于接收引流配置指令,以根据引流配置指令对引流任务等进行配置,该引流可以是从现网拉取日志文件的数据;重放配置接口主要用于接收重放配置指令,以根据重放配置指令对测试对象和重放方式等进行配置,该重放可以是将待测试的日志文件放至测试环境;修改接口主要用于接收修改指令,以根据修改指令对配置的测试信息进行相应的修改;结果查看接口主要用于接收结果查看指令,以根据结果查看指令显示测试信息配置结果或显示系统性能测试结果等,接口的表现形式可以是输入文本框或按钮等形式,具体内容在此处不作限定。例如,终端可以通过重放配置接口接收重放配置指令,根据重放配置指令选择测试对象及重放方式等测试信息;或者是,终端可以通过环境配置接口接收环境配置指令,根据环境配置指令为测试环境参数进行设置等。

例如,如图3所示,在终端上配置测试信息时,可以进行公共配置,该公共配置主要用于配置各类公共信息,支持各类系统、各类环境、及各类工具等的接入,以提高测试信息配置平台的开放能力。该公共配置可以包括任务配置、环境配置及工具配置等,其中,任务配置可以包括数据拉取配置等,该数据拉取配置可以是对日志文件的拉取方式进行配置等,环境配置可以包括测试环境配置和线上环境配置等,工具配置可以包括日志工具配置和重放工具配置等。例如,如图4所示,在进行测试环境配置时,可以通过添加配置接口接收添加配置指令,以根据添加配置指令添加测试环境的环境标识、环境名称、ip、端口号及文件目录等参数,图4中各个参数的取值可以根据实际需要进行灵活设置,具体取值在此处不作限定。

在测试信息配置界面内还可以进行引流配置和重放配置等,在进行引流配置(即线上引流)时,可以选择测试对象、选择线上环境、及建立引流任务等,该测试对象可以是选择要测试的系统,该线上环境可以是系统对应的线上环境,该引流任务可以通过选择引流工具来执行。在建立引流任务后可以启动引流任务,从而可以通过引流工具把线上真实的日志文件复制到线下环境,解决了人工构造数据进行测试环境模拟不够真实,或覆盖不够全面的问题。在启动引流执行引流任务后,可以将执行后的引流任务得到的引流任务结果存储至引流任务列表中,用户可以在引流任务列表中查询引流任务结果,该引流任务结果可以包括引流任务完成状态、及线上数据分析等,其中,线上数据分析可以包括吞吐量、时延、业务类型统计等。例如,如图5所示,在线上引流的引流任务配置中可以通过添加配置接口接收添加配置指令,以根据添加配置指令添加引流任务的任务标识id、计划名、引流环境、引流原文件、引流解析文件及引流状态等参数,图5中各个参数的取值可以根据实际需要进行灵活设置,具体取值在此处不作限定。

在进行重放配置时,可以选择测试对象、选择引流任务及选择重放方式等,该测试对象可以是选择要测试的系统,该引流任务可以是引流配置中建立的一个或多个引流任务,该重放方式可以通过选择的重放工具来确定。在选择重放方式后可以启动重放,通过重放工具把复制到线下环境的日志文件放至测试环境。在启动重放执行重放任务(即性能测试任务)后,可以将执行后的重放任务得到的重放任务结果存储至重放任务列表中,用户可以在重放任务列表中查询重放任务结果(即性能测试任务结果),该重放任务结果可以包括性能测试任务的完成状态、发送总笔数、成功总笔数、成功率、耗时、及实际吞吐量等。例如,如图6所示,在重放配置的重放任务配置中,可以通过添加配置接口接收添加配置指令,以根据添加配置指令添加重放任务的任务标识id、计划名、重放环境、引流计划、请求总数、重放速率、重放时间、重放状态及操作者等参数,图6中各个参数的取值可以根据实际需要进行灵活设置,具体取值在此处不作限定。

终端可以根据上述配置的测试信息生成指令串,并将指令串发送给系统性能测试装置。接收单元301可以接收终端发送的指令串,以便系统性能测试装置中的其他单元可以根据指令串对系统性能进行性能测试并将得到的测试结果发送给终端,该性能测试可以是通过自动化的测试工具(例如测试桩)模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试等。终端可以将测试结果存储至结果列表中,终端可以通过结果查看接口接收结果查看指令,根据结果查看指令从结果列表中提取相应的测试结果进行结果查看,并在显示界面内进行结果展示等。

获取单元302,用于根据指令串获取待测试的日志文件。

在接收到终端发送的指令串后,获取单元302可以从指令串中提取出配置的测试信息,可以根据测试信息从现网获取待测试的日志文件。

在某些实施方式中,获取单元302具体可以用于:根据指令串获取候选日志文件;对候选日志文件进行解析,得到解析后的日志文件;按照预设条件对解析后的日志文件进行筛选,得到待测试的日志文件。

获取单元302可以根据指令串从现网中获取候选日志文件,然后对候选日志文件进行数据处理,例如,如图7所示。具体地,在得到候选日志文件后,,获取单元302可以对候选日志文件进行解析,得到解析后的日志文件;例如,如图8所示,在对候选日志文件进行解析(即日志解析)时,可以从指令串中提取出配置的测试信息,通过根据测试信息调用各业务解析模块,通过各业务解析模块对候选日志文件解析处理,该解析处理可以是日志解析,例如通过网关层relay进行日志解析,通过开发框架middle进行日志解析,通过消息通道cq/cmq进行日志解析等,当然,还可以通过业务解析模块进行日志解析,具体内容在此处不作限定。

在解析得到解析后的日志文件后,,获取单元302可以按照预设条件对解析后的日志文件进行筛选,得到待测试的日志文件,该预设条件可以是配置的测试信息中设置的过滤规则等。其中,对解析后的日志文件进行筛选即为对解析后的日志文件进行数据过滤及数据分析等,其中,数据分析主要是对候选日志文件中的原始请求进行分析,如数据中的请求类型及各请求类型的占比、错误率、时延、数据流量时间段分布等,供后续可能的设置场景测试进行数据源匹配应用等;数据过滤主要是对可能存在不能重放的数据、异常数据、暂时无法剥离依赖的数据、及本次重放不需要的业务请求等进行过滤,以及根据测试信息中设置的过滤规则对解析后的日志文件进行内容筛选,可以得到待测试的日志文件,可以将待测试的日志文件进行数据存储,即根据测试信息中配置的存放路径将待测试的日志文件存储至该存放路径下。

设置单元303,用于对日志文件中的每个原始请求及其对应的原始响应设置标识。

在得到待测试的日志文件后,设置单元303可以进入测试准备,例如,图7中,该测试准备可以包括用例管理、内容管理及环境管理等,其中,用例管理主要用于对日志文件中的数据进行染色,生成引流用例,便于业务跟踪和结果匹配,该染色可以是设置标识;内容管理主要用于根据消息类型对日志文件中的数据进行分类管理,环境管理主要用于对测试环境进行管理等。

设置单元303进入测试准备后,可以对待测试的日志文件进行数据染色,即对日志文件中的每个原始请求及其对应的原始响应设置标识,一个原始请求与其对应的一个原始响应设置同一个标识。例如,如图9所示,可以对日志文件中的每个原始请求及其对应的原始响应进行染色,并将染色后的原始请求进行用例分发,以将该原始请求进行用例重放,以及将染色后的原始响应存储至响应缓存中。

在某些实施方式中,如图16所示,系统性能测试装置还可以包括确定单元306及存储单元307等,具体可以如下:

确定单元306,用于确定设置标识后的每个原始请求对应的业务。

存储单元307,用于根据设置标识后的每个原始请求对应的业务,将设置标识后的每个原始请求存储至对应的业务用例队列中。

具体地,对日志文件中的每个原始请求及其对应的原始响应设置标识之后,可以进行用例重放,如图7所示,该用例重放可以包括重放管理及各类执行器,其中,重放管理主要用于对待测试的日志文件放至测试环境进行管理,各类执行器可以包括relay执行器和middle执行器等,主要用于将待测试的日志文件放至测试环境,其中,系统性能测试装置设置的执行器与上述终端配置的测试信息中包含的重放工具对应,即测试信息配置界面中配置的重放工具,即为系统性能测试装置需要调用的执行器。在将该原始请求进行用例重放的过程中,可以由确定单元306确定设置标识后的每个原始请求对应的业务,然后由存储单元307根据设置标识后的每个原始请求对应的业务,将设置标识后的每个原始请求存储至对应的业务用例队列中。

测试单元304,用于根据原始请求对待测试系统进行性能测试,得到测试响应。

在对日志文件中的每个原始请求及其对应的原始响应设置标识后,首先,测试单元304可以根据原始请求对待测试系统进行性能测试,例如,可以从业务用例队列中获取原始请求对待测试系统进行性能测试。

在某些实施方式中,如图17所示,测试单元304可以包括提取子单元3041、获取子单元3042及测试子单元3043等,具体可以如下:

提取子单元3041,用于从指令串中提取预设测试信息。

获取子单元3042,用于调用至少一个读取进程,并根据至少一个读取进程从与原始请求对应的业务用例队列中,获取与预设测试信息对应的原始请求。

测试子单元3043,用于根据预设测试信息和获取到的原始请求对待测试系统进行性能测试,得到测试响应。

具体地,提取子单元3041可以从指令串中提取预设测试信息,该预设测试信息可以是配置的测试信息中的部分或全部信息,该预设测试信息主要用于指示系统性能测试装置对待测试系统进行性能测试。获取子单元3042可以调用至少一个执行器的读取进程,并根据至少一个读取进程从与原始请求对应的业务用例队列中,获取与预设测试信息对应的原始请求,其中,一个执行器可以调用一个或多个读取进程。例如,如图10所示,各业务用例队列中可以包括业务用例队列1至业务用例队列n,其中,n的取值可根据实际需要进行设置。图10中系统性能测试装置可以从指令串中提取测试信息中包含的配置文件,该配置文件可以用于指示系统性能测试装置调用执行器及其读取进程从业务用例队列中获取原始请求,例如,可以调用执行器a的读取进程1至读取进程n,以及调用执行器b的读取进程1至读取进程n,其中,n的取值可以根据实际需要进行灵活设置,当然还可以调用其他执行器的读取进程,在此不作限定。根据调用到的执行器a的读取进程1至读取进程n、及执行器b的读取进程1至读取进程n,并行或串行从业务用例队列1至业务用例队列n中的一个或多个业务用例队列中,获取与预设测试信息对应的原始请求,该原始请求可以包括一个或多个。然后,测试子单元3043将得到的原始请求发送给测试系统,该测试系统即为待测试系统,该测试系统可以包括测试系统1至测试系统n,其中,n的取值可以根据实际需要进行灵活设置,具体取值在此处不作限定。从而测试子单元3043可以根据预设测试信息和获取到的原始请求对待测试系统进行性能测试,得到测试响应。

可选地,测试子单元3043具体可以用于:根据预设测试信息确定需要调用的执行器,并调用执行器;通过执行器将获取到的原始请求发送给待测试系统,以使得待测试系统将基于原始请求输出的测试数据发送给原始请求对应的测试桩;接收测试桩依次通过待测试系统及执行器返回的测试响应,测试响应为测试桩基于测试数据进行性能测试得到的。

具体地,测试子单元3043可以根据预设测试信息确定需要调用的执行器,并调用执行器,该执行器可以包括一个或多个。通过执行器将获取到的原始请求发送给待测试系统,例如,图10中系统性能测试装置可以调用执行器a的读取进程1至读取进程n,以及调用执行器b的读取进程1至读取进程n,并行或串行从业务用例队列1至业务用例队列n中的一个或多个业务用例队列中,获取与预设测试信息对应的一个或多个原始请求。然后将得到的原始请求发送给测试系统1至测试系统n中的任一个或多个,该测试系统即为待测试系统。以使得待测试系统执行原始请求,并基于原始请求输出的测试数据,将输出的测试数据发送给原始请求对应的测试桩,如图7中,该测试桩可以包括测试桩1至测试桩n,其中,n的取值可以根据实际需要进行灵活设置,具体取值在此处不作限定。以使得测试桩基于测试数据对待测试系统进行性能测试,接收测试桩依次通过待测试系统及执行器返回的测试响应,可以将性能测试得到的测试响应存储至测试数据库中。从而可以实现自动拉取线上真实的日志文件,在测试环境回放,无需人工构造数据,数据的形式变化无需人工模拟,不仅降低了工作量,而且测试数据更可信;通过得到待测试的日志文件中的原始请求对系统性能进行测试,可以使得测试响应的数据规律更符合真实情况,即符合客观规律,该测试响应更贴近现实。

比对单元305,用于根据标识将原始响应与测试响应进行比对,得到测试结果。

在得到测试响后,比对单元305可以获取与测试响应对应的原始请求的标识,并获取与该标识对应的原始响应,例如,可以从响应缓存中获取与该标识对应的原始响应,也可以从设置标识后的日志文件中获取与该标识对应的原始响应等。然后比对单元305将原始响应与测试响应进行精准比对,得到测试结果。该测试结果可以包括显示结果精准校验结果(原始响应与测试响应的精准校验结果)、系统性能监控曲线、及吞吐量变化曲线等。例如,如图7所示,在得到测试响后,系统性能测试装置可以进行测试响应处理,该测试响应处理可以包括将测试响应进行存储、将原始响应与测试响应进行校验、及将原始响应与测试响应进行比对等,得到测试结果。此时,还可以进行测试结果处理,例如,存储测试结果、分析结果趋势及对测试结果进行统计分析等。

在某些实施方式中,比对单元305具体可以用于:获取与测试响应对应的原始请求的标识,得到目标标识;从待测试的日志文件中获取与目标标识对应的原始响应;从测试响应中获取与原始响应所在系统的版本相同的待测试系统对应的测试响应;将获取到的原始响应与获取到的测试响应进行比对,得到测试结果。

具体地,比对单元305首先可以获取与测试响应对应的原始请求的标识,得到目标标识,然后从待测试的日志文件中获取与目标标识对应的原始响应,或者是,从响应缓存中获取与目标标识对应的原始响应。其次,比对单元305从测试响应中获取与原始响应所在系统的版本相同的待测试系统对应的测试响应,该测试响应可以是一个或者多个。最后,比对单元305可以将获取到的原始响应与获取到的一个测试响应进行比对,得到测试结果;或者,将获取到的原始响应与获取到的多个测试响应分别进行比对,得到测试结果;或者,将获取到的多个测试响应分别进行比对,得到测试结果。系统性能测试装置可以基于线上引流进行系统性能测试,支持线上原始请求自动拉取、统计分析、数据筛选、及数据重放动态调整等,支持原始请求和原始响应串的多样性测试,通过对原始请求和原始响应设置标识,可以达到精准校验的效果,无需多维护一套对比系统,极大减少维护工作量。

比对单元305具体可以用于:获取与测试响应对应的原始请求的标识,得到目标标识;从待测试的日志文件中获取与目标标识对应的原始响应;从测试响应中获取与原始响应所在系统的版本不同的待测试系统对应的各个测试响应;将获取到的原始响应与各个测试响应分别进行比对,得到测试结果。

具体地,比对单元305首先可以获取与测试响应对应的原始请求的标识,得到目标标识。然后,从待测试的日志文件中获取与目标标识对应的原始响应,或者是,从响应缓存中获取与目标标识对应的原始响应。其次,比对单元305从测试响应中获取与原始响应所在系统的版本不同的待测试系统对应的各个测试响应,该测试响应可以是一个或者多个。最后,比对单元305可以将获取到的原始响应与各个测试响应分别进行比对,例如,可以将获取到的原始响应与获取到的一个测试响应进行比对,得到测试结果;或者,将获取到的原始响应与获取到的多个测试响应分别进行比对,得到测试结果;或者,将获取到的多个测试响应分别进行比对,得到测试结果。比对单元305可以将同一个原始请求用于两个版本(a和b)或多个版本(a/b/n)的待测试系统进行测试,然后根据各个版本的待测试系统得到的测试响应来比较各个版本的实际效果,提高了测试结果获取的灵活性及可靠性。

需要说明的是,比对单元305可以使用同一个原始请求对待测试系统进行多次测试,得到测试响应集,该测试响应集中包括多次测试得到的多个测试响应。然后,将测试响应集中每个测试响应分别与原始响应进行比对,或每个测试响应之间进行比对,得到测试结果集。例如,如图11所示,不同的原始请求可以得到对待测试系统进行多次测试,得到不同的测试响应集,例如,响应结果集1和测试响应集2等,当然,还可以包括其他的测试响应集,具体个数在此处不作限定。然后对测试响应集1和测试响应集2进行多套环境结果对比验证,即对测试响应集1和测试响应集2中获取与原始响应所在系统的版本不同的待测试系统对应的测试响应,将得到测试响应与原始响应进行不同版本或不同环境的结果比对验证,得到测试结果。或者是,对测试响应集1和测试响应集2进行单套环境结果对比验证,即对测试响应集1和测试响应集2中获取与原始响应所在系统的版本相同的待测试系统对应的测试响应,将得到测试响应与原始响应进行相同版本或相同环境的结果比对验证,得到测试结果。对测试结果进行进一步处理后,可以实现测试结果二次生成,该二次生成的测试结果可以发送给终端进行显示,测试结果为原始的验证结果数据,二次生成主要基于原始的验证结果数据,做整体上的统计分析,主要包括:总用例数成功率、失败用例数、具体失败用例、批跑任务执行的时间段及数据源等。

需要说明的是,系统性能测试装置可以对测试过程进行监控,例如,如图7所示,可以对测试过程进行监控管理,该监控管理可以包括系统监控、业务监控、流量监控、日志监控及测试环境监控等。该系统监控可以包括性能监控等,该性能监控主要用于监控服务性能,例如,中央处理器(centralprocessingunit,cpu)、内存(memory)、及句柄等,以预防系统发生性能问题。另外,还可以自动扩展结果核对及性能监控等功能,可以在系统性能测试的同时自动监控服务性能,在系统性能测试结束后自动完成数据核对、报表生成、及告警等。当系统性能测试存在异常时,系统性能测试装置可以生成测试通知或监控通知等,将测试通知或监控通知等以邮件方式发送到预留的邮箱,或以消息方式发送给到预留的即时通信账号,或以短信方式发送到预留的手机号等。

系统性能测试装置可以对各类系统开放引流性能测试能力,直接用现网中原始请求代替性能测试中的数据构造,节省数据构造时间,并提升性能测试可靠性,并且将测试响应和原始响应进行结果精准校验,保证性能测试准确性,另外,可以在测试的同时,自动监督系统性能,方便测试人员判断系统是否存在性能问题,以及测试结果统一管理,集中维护,为日后系统优化提供参考。

在某些实施方式中,系统性能测试装置还可以包括:发送单元,用于将测试结果发送给终端,以使得终端在显示界面内显示测试结果。

具体地,发送单元可以得到的测试结果发送给终端,终端可以对接收到的测试结果进行存储,当终端接收到结果查看指令时,可以在显示界面内显示与该结果查看指令对应的测试结果。例如,可以显示完成状态、发送总笔数、成功总笔数、成功率、耗时、系统性能监控曲线、吞吐量变化曲线、原始响应与测试响应之间的精准校验等。例如,如图12所示,终端可以在显示界面内显示cpu性能监控中cpu占用比例及内存使用的监控曲线。又例如,如图13所示,可以在显示界面内显示对测试响应中不同响应码进行统计的结果。从而可以丰富测试结果显示的多样性。

由上可知,本发明实施例获取单元302可以根据接收单元301接收到终端发送的指令串获取待测试的日志文件,并由设置单元303对日志文件中的每个原始请求及其对应的原始响应设置标识,然后由测试单元304根据原始请求对待测试系统进行性能测试,得到测试响应,以及由比对单元305根据标识将测试响应与原始响应进行比对,得到测试结果。该方案通过获取日志文件,并对日志文件中的每个原始请求及其对应的原始响设置标识,可以在根据原始请求对待测试系统进行性能测试得到测试响应后,根据标识获取原始响应来与测试响应进行比对,得到测试结果,使得通过原始请求和原始响应设置标识以达到精准校验的目的,提高了对系统性能进行测试的准确性。

本发明实施例还提供一种服务器,如图18所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:

该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图18中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。

存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。

服务器还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该服务器还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:

接收终端发送的指令串,指令串为终端根据配置指令配置的测试信息生成的;根据指令串获取待测试的日志文件;对日志文件中的每个原始请求及其对应的原始响应设置标识;根据原始请求对待测试系统进行性能测试,得到测试响应;根据标识将原始响应与测试响应进行比对,得到测试结果。

由上可知,本发明实施例可以根据接收到终端发送的指令串获取待测试的日志文件,并对日志文件中的每个原始请求及其对应的原始响应设置标识,然后根据原始请求对待测试系统进行性能测试,得到测试响应,以及根据标识将测试响应与原始响应进行比对,得到测试结果。该方案通过获取日志文件,并对日志文件中的每个原始请求及其对应的原始响设置标识,可以在根据原始请求对待测试系统进行性能测试得到测试响应后,根据标识获取原始响应来与测试响应进行比对,得到测试结果,使得通过原始请求和原始响应设置标识以达到精准校验的目的,提高了对系统性能进行测试的准确性。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对系统性能测试方法的详细描述,此处不再赘述。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种系统性能测试方法中的步骤。例如,该指令可以执行如下步骤:

接收终端发送的指令串,指令串为终端根据配置指令配置的测试信息生成的;根据指令串获取待测试的日志文件;对日志文件中的每个原始请求及其对应的原始响应设置标识;根据原始请求对待测试系统进行性能测试,得到测试响应;根据标识将原始响应与测试响应进行比对,得到测试结果。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种系统性能测试方法中的步骤,因此,可以实现本发明实施例所提供的任一种系统性能测试方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本发明实施例所提供的一种系统性能测试方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1