CN108845914A - 性能测试报告的生成方法、电子装置及可读存储介质 - Google Patents
性能测试报告的生成方法、电子装置及可读存储介质 Download PDFInfo
- Publication number
- CN108845914A CN108845914A CN201810694756.9A CN201810694756A CN108845914A CN 108845914 A CN108845914 A CN 108845914A CN 201810694756 A CN201810694756 A CN 201810694756A CN 108845914 A CN108845914 A CN 108845914A
- Authority
- CN
- China
- Prior art keywords
- time series
- data
- performance
- index
- performance test
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种性能测试报告的生成方法、电子装置及可读存储介质,该方法包括:获取预设性能测试工具的性能测试结果数据;分析所述性能测试结果数据中包含的各种性能测试指标,并按预设规则将各个性能测试指标的性能测试结果数据转化为时期数类型或时点数类型的时序数据;将转化的时期数类型或时点数类型的时序数据存储至预设时序数据库中根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,并形成性能测试报告。本发明由于所有性能测试结果数据均被转变成时序数据存储于时序数据库中,性能测试结果数据可以长久的保存在时序数据库中,不会丢失。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种性能测试报告的生成方法、电子装置及可读存储介质。
背景技术
目前,现有的性能测试工具产生的测试报告形态各异且都存在不足。如性能测试工具jmeter产生的测试报告数据只有工具本身可以解析查看,如果脱离Jmeter工具则无法查看其结果。如果要共享其结果数据则很难传递给共享方,需要把工具也附带上。性能测试工具Gatling进行性能测试后生成的测试结果报告是固定的静态html文件格式,无法修改扩展以共享其测试结果数据。即现有的性能测试工具产生的性能测试报告都是以文件形式存储在各自的测试工具中,不易于共享,且测试结果数据不易长久保存,易丢失。
发明内容
本发明的目的在于提供一种性能测试报告的生成方法、电子装置及可读存储介质,旨在生成方便共享及保存的性能测试报告。
为实现上述目的,本发明提供一种电子装置,所述电子装置包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的性能测试报告的生成系统,所述性能测试报告的生成系统被所述处理器执行时实现如下步骤:
获取预设性能测试工具的性能测试结果数据;
分析所述性能测试结果数据中包含的各种性能测试指标,并按预设规则将各个性能测试指标的性能测试结果数据转化为时期数类型或时点数类型的时序数据;将转化的时期数类型或时点数类型的时序数据存储至预设时序数据库中;
根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,并形成性能测试报告。
优选地,所述按预设规则将所述性能测试结果数据转化为时序数据并存储于预设时序数据库中的步骤包括:
判断所述性能测试结果数据对应的各个性能测试指标属于预设的时期数类型范围或时点数类型范围;
若有性能测试指标属于预设的时期数类型范围,则将所述性能测试结果数据中该性能测试指标对应的性能测试结果数据转化为时期数类型的时序数据;
若有性能测试指标属于预设的时点数类型范围,则将所述性能测试结果数据中该性能测试指标对应的性能测试结果数据转化为时点数类型的时序数据;
将转化的时期数类型的时序数据和时点数类型的时序数据存储至预设时序数据库中。
优选地,所述预设时序数据库为分布式时序数据库influxdb。
优选地,所述根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,并形成性能测试报告的步骤包括:
根据预设的测试报告模板中用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,将取出的时序数据填充至所述预设的测试报告模板中与所述用户自定义测试指标对应的位置,并利用预设统计函数对所述用户自定义测试指标对应的时序数据进行计算,根据计算结果生成预设统计图表,形成性能测试报告;所述预设统计函数包括求最大、求最小和/或求和统计函数。
此外,为实现上述目的,本发明还提供一种性能测试报告的生成方法,所述性能测试报告的生成方法包括:
获取预设性能测试工具的性能测试结果数据;
分析所述性能测试结果数据中包含的各种性能测试指标,并按预设规则将各个性能测试指标的性能测试结果数据转化为时期数类型或时点数类型的时序数据;将转化的时期数类型或时点数类型的时序数据存储至预设时序数据库中;
根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,并形成性能测试报告。
优选地,所述按预设规则将所述性能测试结果数据转化为时序数据并存储于预设时序数据库中的步骤包括:
判断所述性能测试结果数据对应的各个性能测试指标属于预设的时期数类型范围或时点数类型范围;
若有性能测试指标属于预设的时期数类型范围,则将所述性能测试结果数据中该性能测试指标对应的性能测试结果数据转化为时期数类型的时序数据;
若有性能测试指标属于预设的时点数类型范围,则将所述性能测试结果数据中该性能测试指标对应的性能测试结果数据转化为时点数类型的时序数据;
将转化的时期数类型的时序数据和时点数类型的时序数据存储至预设时序数据库中。
优选地,所述预设时序数据库为分布式时序数据库influxdb。
优选地,所述根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,并形成性能测试报告的步骤包括:
根据预设的测试报告模板中用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,将取出的时序数据填充至所述预设的测试报告模板中与所述用户自定义测试指标对应的位置,并利用预设统计函数对所述用户自定义测试指标对应的时序数据进行计算,根据计算结果生成预设统计图表,形成性能测试报告;所述预设统计函数包括求最大、求最小和/或求和统计函数。
优选地,所述性能测试结果数据对应的各个性能测试指标包括:
在线用户数量、并发用户数量、请求响应时间、事务响应时间、每秒事务处理量TPS、吞吐率、业务办理成功率、资源利用率中的至少一个。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有性能测试报告的生成系统,所述性能测试报告的生成系统可被至少一个处理器执行,以使所述至少一个处理器执行如上述的性能测试报告的生成方法的步骤。
本发明提出的性能测试报告的生成方法、电子装置及可读存储介质,通过预设规则将预设性能测试工具的性能测试结果数据转化为时序数据并存储于预设时序数据库中;根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,并形成性能测试报告。由于能在获取性能测试工具的性能测试结果数据后,对性能测试结果数据进行解析,将其转变成时序数据并存储于时序数据库中。在需要生成性能测试报告时只需根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据即可共享性能测试结果数据,十分方便。而且,由于所有性能测试结果数据均被转变成时序数据存储于时序数据库中,性能测试结果数据可以长久的保存在时序数据库中,不会丢失。
附图说明
图1为本发明性能测试报告的生成系统10较佳实施例的运行环境示意图;
图2为本发明性能测试报告的生成方法一实施例的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种性能测试报告的生成系统。请参阅图1,是本发明性能测试报告的生成系统10较佳实施例的运行环境示意图。
在本实施例中,所述的性能测试报告的生成系统10安装并运行于电子装置1中。该电子装置1可包括,但不仅限于,存储器11、处理器12及显示器13。图1仅示出了具有组件11-13的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器11为至少一种类型的可读计算机存储介质,所述存储器11在一些实施例中可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘或内存。所述存储器11在另一些实施例中也可以是所述电子装置1的外部存储设备,例如所述电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括所述电子装置1的内部存储单元也包括外部存储设备。所述存储器11用于存储安装于所述电子装置1的应用软件及各类数据,例如所述性能测试报告的生成系统10的程序代码等。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器11中存储的程序代码或处理数据,例如执行所述性能测试报告的生成系统10等。
所述显示器13在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器13用于显示在所述电子装置1中处理的信息以及用于显示可视化的用户界面,例如最终生成的性能测试报告等。所述电子装置1的部件11-13通过系统总线相互通信。
性能测试报告的生成系统10包括至少一个存储在所述存储器11中的计算机可读指令,该至少一个计算机可读指令可被所述处理器12执行,以实现本申请各实施例。
其中,上述性能测试报告的生成系统10被所述处理器12执行时实现如下步骤:
步骤S1,获取预设性能测试工具的性能测试结果数据;
步骤S2,分析所述性能测试结果数据中包含的各种性能测试指标,并按预设规则将各个性能测试指标的性能测试结果数据转化为时期数类型或时点数类型的时序数据;将转化的时期数类型或时点数类型的时序数据存储至预设时序数据库中;
步骤S3,根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,并形成性能测试报告。
本实施例中,性能测试报告的生成系统接收用户发出的性能测试报告生成请求,例如,接收用户通过手机、平板电脑、自助终端设备等终端发送的性能测试报告生成请求,如接收用户在手机、平板电脑、自助终端设备等终端中预先安装的客户端上发送来的性能测试报告生成请求,或接收用户在手机、平板电脑、自助终端设备等终端中的浏览器系统上发送来的性能测试报告生成请求。
本实施例中在收到用户发出的性能测试报告生成请求后,获取预设的性能测试工具如压力测试工具Jmeter、高性能服务器性能测试工具Gatling等的性能测试结果数据,并对生成的性能测试结果数据进行解析,根据性能测试指标算法将其转变成时序数据并存储于时序数据库如分布式时序数据库influxdb中。用户可预先根据其所需查看的关键测试指标把sql预定义进模板以建立关键指标测试报告模板,从时序数据库如分布式时序数据库influxdb中存储的时序数据中提取出关键测试指标对应的时序数据,并填充至建立的关键指标测试报告模板中,这样,用户执行完性能操作即可查看各个关键测试指标对应的测试报告。
具体的,本实施例中采集预设的性能测试工具如压力测试工具Jmeter、高性能服务器性能测试工具Gatling等中性能测试结果数据的性能测试指标包括以下几种:1注册用户数,注册用户数指软件中已经注册的用户,这些用户是系统的潜在用户,随时都有可能上线。这个指标的意义在于让测试工程师了解系统数据中的数据总量和系统最大可能有多少用户同时在线。2、在线用户数,在线用户数是指某一时刻已经登录系统的用户数量。在线用户数只是统计了登录系统的用户数量,这些用户不一定都对系统进行操作,对服务器产生压力。3、并发用户数,不同于在线用户数,并发用户数是指某一时刻向服务器发送请求的在线用户数,是衡量服务器并发容量和同步协调能力的重要指标,一方面其包括同一时刻向服务器发送相同或者不同请求的用户数,也就是说,既可以包括对某一业务的相同请求,也可以包括对多个业务的不同请求;另一方面其包括同一时刻向服务器发送相同请求的用户数,仅限于某一业务的相同请求。4、请求的相应时间,相应时间就是用户感受软件系统为其服务所消耗的时间。对于web系统,请求的相应时间指的是从客户端发起的一个请求时间,到客户端接收到从服务器返回的相应结束。5、事务的相应时间,事务是指用户在客户端做一种或多种业务所执行的操作集,事务的相应时间就是衡量用户执行这些操作集所花费的时间。在性能测试中,一般通过计算事务的开始时间和结束时间的差值来获取事务的相应时间。6、每秒点击数,每秒点击数是指每秒钟向web服务器提交的HTTP请求数,它是衡量服务器处理能力的一个常用指标。7、吞吐率,吞吐率通常指单位时间内从服务器返回的字节数,也可以单位时间内客户提交的请求数。吞吐率是大型web系统衡量自身负载能力的一个重要指标,一般来说,吞吐率越大,单位时间内处理的数据就越多,系统的负载能力也强。8、业务成功率,指多用户对某一业务发起操作的成功率。9、每秒事务处理量(TransactionPerSecond,TPS),TPS表示服务器每秒处理的事务数,是衡量系统处理能力的一个非常重要的指标,在性能测试中,通过检测不同用户的TPS,可以估算出系统处理能力的拐点。10、资源利用率,资源利用率就是指资源的使用情况,如CPU使用率、内存使用率、网络宽带的使用情况、磁盘I/O的输入输出量等系统硬件方面的监控指标。本发明中可针对用户对不同测试报告的需求从上述性能测试指标中选出单个的性能测试指标,也可从上述性能测试指标中选出几种性能测试指标进行组合计算得到用户所需的特定指标。
获取到各个性能测试指标的性能测试结果数据后,对性能测试结果数据进行解析,并将其转变成时序数据。时序数据是指时间序列数据,是同一统一指标按时间顺序记录的数据列。在同一数据列中的各个数据必须是同口径的,要求具有可比性。时序数据可以是时期数,也可以是时点数。本实施例中可根据各个性能测试指标的特性将其按时间顺序记录转换为时期数或时点数,例如,针对性能测试指标“在线用户数”,一般在测试时更关注每天同一时刻的在线用户数量的变化,以在后续的测试报告中可针对若干天数中每天同一时刻的测试指标“在线用户数”来进行比对分析,因此,本实施例中可将测试指标“在线用户数”的测试数据转换为时点数据,如在每一天同一时刻的在线用户数,采集若干天数的在线用户数转换成时点数据组成时序数列,即转换为时序数据。针对性能测试指标“注册用户数”,将测试数据转换为时期数据,如每天按相同的统计和计算方法得到的注册用户数量,采集若干天数的注册用户数量转换成由时期数组成的时序数据列,即转换为时序数据。本实施例中可预先设定针对哪些性能测试指标自动转换为时点数,针对哪些性能测试指标自动转换为时期数,以完成性能测试结果数据到时序数据的自动转换。例如,针对测试网络订票系统的并发处理性能,在早上8:00——8:30半小时的高峰里,要求能支持10万比订票业务,其中成功率不少于98%。因此,针对性能测试指标“业务成功率”,需将测试数据转换为时期数据,每天按相同的统计和计算方法得到在早上8:00——8:30半小时的时期内的业务成功率数据,采集若干天数的业务成功率数据转换成由时期数组成的时序数据列,即转换为时序数据。
将性能测试结果数据转换成时序数据后,将转换的时序数据存储于时序数据库如分布式时序数据库influxdb中。其中,influxdb是一个开源分布式时序、事件和指标数据库。使用Go语言编写,无需外部依赖。Influxdb具有如下特性:1.Time Series(时间序列):可以使用与时间有关的相关函数(如最大,最小,求和等)。2.Metrics(度量):可以实时对大量数据进行计算。3.Eevents(事件):支持任意的事件数据。本发明中将转换的时序数据按各个预设标签存储于influxdb中,该预设标签可包括:机器名、测量时间、测量指标等等。Influxdb支持HTTP API,用户可使用http对Influxdb进行读写操作。Influxdb中内置常用统计函数,比如max,min,mean等,用户可调用Influxdb中的内置常用统计函数max,min,mean等对Influxdb中存储的时序数据进行求最大,求最小,求和等统计形成最终的测试报告。Influxdb还支持Grafana,Grafana是一个纯粹的html/js应用,访问InfluxDB时不会有跨域访问的限制。只要配置好数据源为InfluxDB之后就可以配置图表。本实施例中可利用Grafana来对Influxdb中的经计算统计的时序数据进行图表配置,即可为用户展示具有可视化图表的测试报告。
本实施例通过预设规则将预设性能测试工具的性能测试结果数据转化为时序数据并存储于预设时序数据库中;根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,并形成性能测试报告。由于能在获取性能测试工具的性能测试结果数据后,对性能测试结果数据进行解析,将其转变成时序数据并存储于时序数据库中。在需要生成性能测试报告时只需根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据即可共享性能测试结果数据,十分方便。而且,由于所有性能测试结果数据均被转变成时序数据存储于时序数据库中,性能测试结果数据可以长久的保存在时序数据库中,不会丢失。
进一步地,在一可选的实施例中,用户还可预先定义一个测试报告模板,如利用sql语句预先定义一个测试报告模板,用户可自定义自己需要的性能测试指标和各种趋势图,在将性能测试指标数据转换为时序数据并存储于时序数据库如分布式时序数据库influxdb后,即可从时序数据库如分布式时序数据库influxdb中存储的时序数据中提取出用户自定义的测试报告模板中的关键测试指标对应的时序数据,并填充至建立的关键指标测试报告模板中,这样,用户执行完性能操作即可查看各个关键测试指标对应的测试报告。本实施例中由测试报告模板得到的最终测试结果报告相比于原始测试工具Jmeter、Gatling中自带生成的简单报告内容更加丰富,更易于分析系统性能测试问题及瓶颈,便于用户查看分析,灵活易扩展。而且,由于测试结果数据是存储于时序数据库如分布式时序数据库influxdb中,而不是以文件形式存储在各个原始测试工具Jmeter、Gatling中,本实施例中的测试结果数据可以永久保存,不会丢失,方便对数据存取及展示。
如图2所示,图2为本发明性能测试报告的生成方法一实施例的流程示意图,该性能测试报告的生成方法包括以下步骤:
步骤S10,获取预设性能测试工具的性能测试结果数据;
步骤S20,分析所述性能测试结果数据中包含的各种性能测试指标,并按预设规则将各个性能测试指标的性能测试结果数据转化为时期数类型或时点数类型的时序数据;将转化的时期数类型或时点数类型的时序数据存储至预设时序数据库中;
步骤S30,根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,并形成性能测试报告。
本实施例中,性能测试报告的生成系统接收用户发出的性能测试报告生成请求,例如,接收用户通过手机、平板电脑、自助终端设备等终端发送的性能测试报告生成请求,如接收用户在手机、平板电脑、自助终端设备等终端中预先安装的客户端上发送来的性能测试报告生成请求,或接收用户在手机、平板电脑、自助终端设备等终端中的浏览器系统上发送来的性能测试报告生成请求。
本实施例中在收到用户发出的性能测试报告生成请求后,获取预设的性能测试工具如压力测试工具Jmeter、高性能服务器性能测试工具Gatling等的性能测试结果数据,并对生成的性能测试结果数据进行解析,根据性能测试指标算法将其转变成时序数据并存储于时序数据库如分布式时序数据库influxdb中。用户可预先根据其所需查看的关键测试指标把sql预定义进模板以建立关键指标测试报告模板,从时序数据库如分布式时序数据库influxdb中存储的时序数据中提取出关键测试指标对应的时序数据,并填充至建立的关键指标测试报告模板中,这样,用户执行完性能操作即可查看各个关键测试指标对应的测试报告。
具体的,本实施例中采集预设的性能测试工具如压力测试工具Jmeter、高性能服务器性能测试工具Gatling等中性能测试结果数据的性能测试指标包括以下几种:1注册用户数,注册用户数指软件中已经注册的用户,这些用户是系统的潜在用户,随时都有可能上线。这个指标的意义在于让测试工程师了解系统数据中的数据总量和系统最大可能有多少用户同时在线。2、在线用户数,在线用户数是指某一时刻已经登录系统的用户数量。在线用户数只是统计了登录系统的用户数量,这些用户不一定都对系统进行操作,对服务器产生压力。3、并发用户数,不同于在线用户数,并发用户数是指某一时刻向服务器发送请求的在线用户数,是衡量服务器并发容量和同步协调能力的重要指标,一方面其包括同一时刻向服务器发送相同或者不同请求的用户数,也就是说,既可以包括对某一业务的相同请求,也可以包括对多个业务的不同请求;另一方面其包括同一时刻向服务器发送相同请求的用户数,仅限于某一业务的相同请求。4、请求的相应时间,相应时间就是用户感受软件系统为其服务所消耗的时间。对于web系统,请求的相应时间指的是从客户端发起的一个请求时间,到客户端接收到从服务器返回的相应结束。5、事务的相应时间,事务是指用户在客户端做一种或多种业务所执行的操作集,事务的相应时间就是衡量用户执行这些操作集所花费的时间。在性能测试中,一般通过计算事务的开始时间和结束时间的差值来获取事务的相应时间。6、每秒点击数,每秒点击数是指每秒钟向web服务器提交的HTTP请求数,它是衡量服务器处理能力的一个常用指标。7、吞吐率,吞吐率通常指单位时间内从服务器返回的字节数,也可以单位时间内客户提交的请求数。吞吐率是大型web系统衡量自身负载能力的一个重要指标,一般来说,吞吐率越大,单位时间内处理的数据就越多,系统的负载能力也强。8、业务成功率,指多用户对某一业务发起操作的成功率。9、每秒事务处理量(TransactionPerSecond,TPS),TPS表示服务器每秒处理的事务数,是衡量系统处理能力的一个非常重要的指标,在性能测试中,通过检测不同用户的TPS,可以估算出系统处理能力的拐点。10、资源利用率,资源利用率就是指资源的使用情况,如CPU使用率、内存使用率、网络宽带的使用情况、磁盘I/O的输入输出量等系统硬件方面的监控指标。本发明中可针对用户对不同测试报告的需求从上述性能测试指标中选出单个的性能测试指标,也可从上述性能测试指标中选出几种性能测试指标进行组合计算得到用户所需的特定指标。
获取到各个性能测试指标的性能测试结果数据后,对性能测试结果数据进行解析,并将其转变成时序数据。时序数据是指时间序列数据,是同一统一指标按时间顺序记录的数据列。在同一数据列中的各个数据必须是同口径的,要求具有可比性。时序数据可以是时期数,也可以是时点数。本实施例中可根据各个性能测试指标的特性将其按时间顺序记录转换为时期数或时点数,例如,针对性能测试指标“在线用户数”,一般在测试时更关注每天同一时刻的在线用户数量的变化,以在后续的测试报告中可针对若干天数中每天同一时刻的测试指标“在线用户数”来进行比对分析,因此,本实施例中可将测试指标“在线用户数”的测试数据转换为时点数据,如在每一天同一时刻的在线用户数,采集若干天数的在线用户数转换成时点数据组成时序数列,即转换为时序数据。针对性能测试指标“注册用户数”,将测试数据转换为时期数据,如每天按相同的统计和计算方法得到的注册用户数量,采集若干天数的注册用户数量转换成由时期数组成的时序数据列,即转换为时序数据。本实施例中可预先设定针对哪些性能测试指标自动转换为时点数,针对哪些性能测试指标自动转换为时期数,以完成性能测试结果数据到时序数据的自动转换。例如,针对测试网络订票系统的并发处理性能,在早上8:00——8:30半小时的高峰里,要求能支持10万比订票业务,其中成功率不少于98%。因此,针对性能测试指标“业务成功率”,需将测试数据转换为时期数据,每天按相同的统计和计算方法得到在早上8:00——8:30半小时的时期内的业务成功率数据,采集若干天数的业务成功率数据转换成由时期数组成的时序数据列,即转换为时序数据。
将性能测试结果数据转换成时序数据后,将转换的时序数据存储于时序数据库如分布式时序数据库influxdb中。其中,influxdb是一个开源分布式时序、事件和指标数据库。使用Go语言编写,无需外部依赖。Influxdb具有如下特性:1.Time Series(时间序列):可以使用与时间有关的相关函数(如最大,最小,求和等)。2.Metrics(度量):可以实时对大量数据进行计算。3.Eevents(事件):支持任意的事件数据。本发明中将转换的时序数据按各个预设标签存储于influxdb中,该预设标签可包括:机器名、测量时间、测量指标等等。Influxdb支持HTTP API,用户可使用http对Influxdb进行读写操作。Influxdb中内置常用统计函数,比如max,min,mean等,用户可调用Influxdb中的内置常用统计函数max,min,mean等对Influxdb中存储的时序数据进行求最大,求最小,求和等统计形成最终的测试报告。Influxdb还支持Grafana,Grafana是一个纯粹的html/js应用,访问InfluxDB时不会有跨域访问的限制。只要配置好数据源为InfluxDB之后就可以配置图表。本实施例中可利用Grafana来对Influxdb中的经计算统计的时序数据进行图表配置,即可为用户展示具有可视化图表的测试报告。
本实施例通过预设规则将预设性能测试工具的性能测试结果数据转化为时序数据并存储于预设时序数据库中;根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,并形成性能测试报告。由于能在获取性能测试工具的性能测试结果数据后,对性能测试结果数据进行解析,将其转变成时序数据并存储于时序数据库中。在需要生成性能测试报告时只需根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据即可共享性能测试结果数据,十分方便。而且,由于所有性能测试结果数据均被转变成时序数据存储于时序数据库中,性能测试结果数据可以长久的保存在时序数据库中,不会丢失。
进一步地,在一可选的实施例中,用户还可预先定义一个测试报告模板,如利用sql语句预先定义一个测试报告模板,用户可自定义自己需要的性能测试指标和各种趋势图,在将性能测试指标数据转换为时序数据并存储于时序数据库如分布式时序数据库influxdb后,即可从时序数据库如分布式时序数据库influxdb中存储的时序数据中提取出用户自定义的测试报告模板中的关键测试指标对应的时序数据,并填充至建立的关键指标测试报告模板中,这样,用户执行完性能操作即可查看各个关键测试指标对应的测试报告。本实施例中由测试报告模板得到的最终测试结果报告相比于原始测试工具Jmeter、Gatling中自带生成的简单报告内容更加丰富,更易于分析系统性能测试问题及瓶颈,便于用户查看分析,灵活易扩展。而且,由于测试结果数据是存储于时序数据库如分布式时序数据库influxdb中,而不是以文件形式存储在各个原始测试工具Jmeter、Gatling中,本实施例中的测试结果数据可以永久保存,不会丢失,方便对数据存取及展示。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有性能测试报告的生成系统,所述性能测试报告的生成系统可被至少一个处理器执行,以使所述至少一个处理器执行如上述实施例中的性能测试报告的生成方法的步骤,该性能测试报告的生成方法的步骤S10、S20、S30等具体实施过程如上文所述,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
Claims (10)
1.一种电子装置,其特征在于,所述电子装置包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的性能测试报告的生成系统,所述性能测试报告的生成系统被所述处理器执行时实现如下步骤:
获取预设性能测试工具的性能测试结果数据;
分析所述性能测试结果数据中包含的各种性能测试指标,并按预设规则将各个性能测试指标的性能测试结果数据转化为时期数类型或时点数类型的时序数据;将转化的时期数类型或时点数类型的时序数据存储至预设时序数据库中;
根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,并形成性能测试报告。
2.如权利要求1所述的电子装置,其特征在于,所述按预设规则将所述性能测试结果数据转化为时序数据并存储于预设时序数据库中的步骤包括:
判断所述性能测试结果数据对应的各个性能测试指标属于预设的时期数类型范围或时点数类型范围;
若有性能测试指标属于预设的时期数类型范围,则将所述性能测试结果数据中该性能测试指标对应的性能测试结果数据转化为时期数类型的时序数据;
若有性能测试指标属于预设的时点数类型范围,则将所述性能测试结果数据中该性能测试指标对应的性能测试结果数据转化为时点数类型的时序数据;
将转化的时期数类型的时序数据和时点数类型的时序数据存储至预设时序数据库中。
3.如权利要求2所述的电子装置,其特征在于,所述预设时序数据库为分布式时序数据库influxdb。
4.如权利要求1、2或3所述的电子装置,其特征在于,所述根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,并形成性能测试报告的步骤包括:
根据预设的测试报告模板中用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,将取出的时序数据填充至所述预设的测试报告模板中与所述用户自定义测试指标对应的位置,并利用预设统计函数对所述用户自定义测试指标对应的时序数据进行计算,根据计算结果生成预设统计图表,形成性能测试报告;所述预设统计函数包括求最大、求最小和/或求和统计函数。
5.一种性能测试报告的生成方法,其特征在于,所述性能测试报告的生成方法包括:
获取预设性能测试工具的性能测试结果数据;
分析所述性能测试结果数据中包含的各种性能测试指标,并按预设规则将各个性能测试指标的性能测试结果数据转化为时期数类型或时点数类型的时序数据;将转化的时期数类型或时点数类型的时序数据存储至预设时序数据库中;
根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,并形成性能测试报告。
6.如权利要求5所述的性能测试报告的生成方法,其特征在于,所述按预设规则将所述性能测试结果数据转化为时序数据并存储于预设时序数据库中的步骤包括:
判断所述性能测试结果数据对应的各个性能测试指标属于预设的时期数类型范围或时点数类型范围;
若有性能测试指标属于预设的时期数类型范围,则将所述性能测试结果数据中该性能测试指标对应的性能测试结果数据转化为时期数类型的时序数据;
若有性能测试指标属于预设的时点数类型范围,则将所述性能测试结果数据中该性能测试指标对应的性能测试结果数据转化为时点数类型的时序数据;
将转化的时期数类型的时序数据和时点数类型的时序数据存储至预设时序数据库中。
7.如权利要求6所述的性能测试报告的生成方法,其特征在于,所述预设时序数据库为分布式时序数据库influxdb。
8.如权利要求5、6或7所述的性能测试报告的生成方法,其特征在于,所述根据用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,并形成性能测试报告的步骤包括:
根据预设的测试报告模板中用户自定义测试指标从所述预设时序数据库中取出对应的时序数据,将取出的时序数据填充至所述预设的测试报告模板中与所述用户自定义测试指标对应的位置,并利用预设统计函数对所述用户自定义测试指标对应的时序数据进行计算,根据计算结果生成预设统计图表,形成性能测试报告;所述预设统计函数包括求最大、求最小和/或求和统计函数。
9.如权利要求5、6或7所述的性能测试报告的生成方法,其特征在于,所述性能测试结果数据对应的各个性能测试指标包括:
在线用户数量、并发用户数量、请求响应时间、事务响应时间、每秒事务处理量TPS、吞吐率、业务办理成功率、资源利用率中的至少一个。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有性能测试报告的生成系统,所述性能测试报告的生成系统被处理器执行时实现如权利要求5至9中任一项所述的性能测试报告的生成方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810694756.9A CN108845914A (zh) | 2018-06-29 | 2018-06-29 | 性能测试报告的生成方法、电子装置及可读存储介质 |
PCT/CN2018/107704 WO2020000726A1 (zh) | 2018-06-29 | 2018-09-26 | 性能测试报告的生成方法、电子装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810694756.9A CN108845914A (zh) | 2018-06-29 | 2018-06-29 | 性能测试报告的生成方法、电子装置及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108845914A true CN108845914A (zh) | 2018-11-20 |
Family
ID=64201775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810694756.9A Pending CN108845914A (zh) | 2018-06-29 | 2018-06-29 | 性能测试报告的生成方法、电子装置及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108845914A (zh) |
WO (1) | WO2020000726A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245051A (zh) * | 2019-06-14 | 2019-09-17 | 上海中通吉网络技术有限公司 | 数据埋点方法、装置、设备和存储介质 |
CN111143198A (zh) * | 2019-12-10 | 2020-05-12 | 湖北大学 | 测试数据的处理方法以及装置 |
CN111209285A (zh) * | 2020-04-23 | 2020-05-29 | 成都四方伟业软件股份有限公司 | 一种基于时序数据的统计指标存储方法及装置 |
CN111611746A (zh) * | 2020-05-20 | 2020-09-01 | 中国公路工程咨询集团有限公司 | 一种面向智能网联车测试的数据库管理系统 |
CN113609008A (zh) * | 2021-07-27 | 2021-11-05 | 北京淇瑀信息科技有限公司 | 测试结果分析方法、装置和电子设备 |
CN113608981A (zh) * | 2021-07-27 | 2021-11-05 | 远景智能国际私人投资有限公司 | 时序数据库测试方法、装置、计算机设备及存储介质 |
CN113742226A (zh) * | 2021-09-01 | 2021-12-03 | 上海浦东发展银行股份有限公司 | 一种软件性能测试方法、装置、介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331477A (zh) * | 2014-11-04 | 2015-02-04 | 哈尔滨工业大学 | 基于联邦式检索的云平台并发性能测试方法 |
CN105279065A (zh) * | 2015-09-30 | 2016-01-27 | 北京奇虎科技有限公司 | 在云测试平台中统计测试结果的方法及装置 |
CN107544897A (zh) * | 2017-08-25 | 2018-01-05 | 重庆扬讯软件技术股份有限公司 | 基于一体化实时监控的性能测试方法与系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9743299B2 (en) * | 2014-12-22 | 2017-08-22 | International Business Machines Corporation | Network performance testing in non-homogeneous networks |
CN105045710B (zh) * | 2015-06-30 | 2017-11-10 | 吉林大学 | 一种云计算环境下的自动化测试数据生成方法 |
CN106529145A (zh) * | 2016-10-27 | 2017-03-22 | 浙江工业大学 | 一种基于arima‑bp神经网络的桥梁监测数据预测方法 |
CN107832226A (zh) * | 2017-11-23 | 2018-03-23 | 中国平安人寿保险股份有限公司 | 基于性能测试的报告生成方法、装置、设备和计算机介质 |
-
2018
- 2018-06-29 CN CN201810694756.9A patent/CN108845914A/zh active Pending
- 2018-09-26 WO PCT/CN2018/107704 patent/WO2020000726A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331477A (zh) * | 2014-11-04 | 2015-02-04 | 哈尔滨工业大学 | 基于联邦式检索的云平台并发性能测试方法 |
CN105279065A (zh) * | 2015-09-30 | 2016-01-27 | 北京奇虎科技有限公司 | 在云测试平台中统计测试结果的方法及装置 |
CN107544897A (zh) * | 2017-08-25 | 2018-01-05 | 重庆扬讯软件技术股份有限公司 | 基于一体化实时监控的性能测试方法与系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245051A (zh) * | 2019-06-14 | 2019-09-17 | 上海中通吉网络技术有限公司 | 数据埋点方法、装置、设备和存储介质 |
CN111143198A (zh) * | 2019-12-10 | 2020-05-12 | 湖北大学 | 测试数据的处理方法以及装置 |
CN111143198B (zh) * | 2019-12-10 | 2023-04-28 | 湖北大学 | 测试数据的处理方法以及装置 |
CN111209285A (zh) * | 2020-04-23 | 2020-05-29 | 成都四方伟业软件股份有限公司 | 一种基于时序数据的统计指标存储方法及装置 |
CN111611746A (zh) * | 2020-05-20 | 2020-09-01 | 中国公路工程咨询集团有限公司 | 一种面向智能网联车测试的数据库管理系统 |
CN113609008A (zh) * | 2021-07-27 | 2021-11-05 | 北京淇瑀信息科技有限公司 | 测试结果分析方法、装置和电子设备 |
CN113608981A (zh) * | 2021-07-27 | 2021-11-05 | 远景智能国际私人投资有限公司 | 时序数据库测试方法、装置、计算机设备及存储介质 |
CN113608981B (zh) * | 2021-07-27 | 2024-01-05 | 远景智能国际私人投资有限公司 | 时序数据库测试方法、装置、计算机设备及存储介质 |
CN113742226A (zh) * | 2021-09-01 | 2021-12-03 | 上海浦东发展银行股份有限公司 | 一种软件性能测试方法、装置、介质及电子设备 |
CN113742226B (zh) * | 2021-09-01 | 2024-04-30 | 上海浦东发展银行股份有限公司 | 一种软件性能测试方法、装置、介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2020000726A1 (zh) | 2020-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108845914A (zh) | 性能测试报告的生成方法、电子装置及可读存储介质 | |
CN108984388B (zh) | 一种生成自动化测试用例的方法及终端设备 | |
CN105657003B (zh) | 一种信息处理方法和服务器 | |
US20150170070A1 (en) | Method, apparatus, and system for monitoring website | |
CN108446210A (zh) | 系统性能的度量方法、存储介质和服务器 | |
US10116534B2 (en) | Systems and methods for WebSphere MQ performance metrics analysis | |
CN104348810B (zh) | 被盗帐号的检测方法、装置及系统 | |
US8660833B2 (en) | Method, computer program product and apparatus for providing an interactive network simulator | |
US20180253754A1 (en) | System and method for tracking users across a plurality of media platforms | |
CN107229619A (zh) | 互联网业务链路调用情况的统计、展示方法及装置 | |
CN107632920A (zh) | 一种输变电设备监测装置深度监控方法 | |
CN109597805A (zh) | 一种数据处理方法、电子设备及存储介质 | |
US20080168044A1 (en) | System and method for providing performance statistics for application components | |
CN109858965A (zh) | 一种用户识别方法和系统 | |
CN109636639A (zh) | 基于大数据分析的用药检测方法、装置、设备和存储介质 | |
CN105637488A (zh) | 追踪源代码用于末端用户监控 | |
CN112463254A (zh) | 网页加载时长的获取方法、装置、设备及存储介质 | |
CN110266555B (zh) | 用于分析网站服务请求的方法 | |
CN112860556A (zh) | 覆盖率统计方法、装置、计算机系统和可读存储介质 | |
WO2018236476A1 (en) | ADAPTIVE APPLICATION PERFORMANCE ANALYSIS | |
CN110119334A (zh) | 一种页面脚本监控方法及装置 | |
CN117215867A (zh) | 一种业务监控方法、装置、计算机设备及存储介质 | |
CN116910102A (zh) | 一种基于用户反馈的企业查询方法、装置及电子设备 | |
US11797366B1 (en) | Identifying a root cause of an error | |
CN110113208A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181120 |
|
RJ01 | Rejection of invention patent application after publication |