性能测试方法、装置、设备及计算机可读存储介质与流程

文档序号:18544278发布日期:2019-08-27 21:31阅读:221来源:国知局
性能测试方法、装置、设备及计算机可读存储介质与流程

本发明涉及金融科技(fintech)的通信技术领域,尤其涉及一种性能测试方法、装置、设备及计算机可读存储介质。



背景技术:

随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。

在性能测试流程中,测试人员在进行具体的性能测试之后,会对现有的结果进行分析,分析当前的测试中是否存在异常情况,当前测试的各项性能指标是否满足要求,被测系统是否存在性能瓶颈。

但是目前业界的性能测试工具或者性能测试平台中,没有自动化的性能分析这个环节,而是由测试人员获取性能测试结果的数据,以及结合测试过程中各项指标数据,比如主机性能数据,数据库性能数据,通过人工线下的分析方法,来对当次性能测试结果进行分析,来评价某次的性能测试结果是否符合预期。对于存在问题或者某个指标不满足的情况,重新进行测试。

这种人工收集性能测试数据进行性能测试结果分析的效率非常低,且由于测试人员能力存在差异,对性能分析流程理解不统一,故分析的结果千差万别,没有一个统一的分析体系,导致性能测试结果分析的准确性和一致性也较低。



技术实现要素:

本发明的主要目的在于提供一种性能测试方法、装置、设备及计算机可读存储介质,旨在实现自动化性能测试结果分析以提升性能测试结果分析的效率、准确性和一致性。

为实现上述目的,本发明提供一种性能测试方法,所述性能测试方法包括以下步骤:

在接收到对被测系统进行性能测试的测试指令时,对所述被测系统进行性能测试,并记录测试数据;

根据所述测试数据获取预设分析维度的参数值;

按照预设分析策略对所述预设分析维度的参数值进行分析,以确定所述预设分析维度的权重值;

计算所述预设分析维度的权重值的加权值,根据所述加权值确定性能测试结果。

可选地,所述测试数据包括历史最优每秒事务处理数tps和本次性能测试的当前tps,所述预设分析维度包括基线维度,所述基线维度的参数值包括tps基线浮动率,所述根据所述测试数据获取预设分析维度的参数值的步骤包括:

计算所述历史最优tps的平均值和当前tps的平均值;

计算所述历史最优tps的平均值和当前tps的平均值的差值,再将所述差值除以所述历史最优tps的平均值,得到tps基线浮动率。

可选地,所述按照预设分析策略对所述预设分析维度的参数值进行分析,以确定所述预设分析维度的权重值的步骤包括:

判断所述tps基线浮动率是否小于或者等于第一预设浮动率;

若所述tps基线浮动率小于或者等于第一预设浮动率,则所述基线维度的权重值为第一基线权重值;

若所述tps浮动率大于第一预设浮动率且小于或者等于第二预设浮动率,则所述基线维度的权重值为第二基线权重值;

若所述tps浮动率大于第一预设浮动率且大于第二预设浮动率,则所述基线维度的权重值为第三基线权重值;

其中,所述第一预设浮动率小于所述第二预设浮动率,所述第一基线权重值大于所述第二基线权重值,所述第二基线权重值大于所述第三基线权重值。

可选地,所述测试数据包括本次性能测试的当前tps,所述预设分析维度包括波动维度,所述波动维度的参数值包括tps波动率,所述根据所述测试数据获取预设分析维度的参数值的步骤包括:

计算所述当前tps的平均值和标准差;

将当前tps的标准差除以当前tps的平均值,得到tps波动率。

可选地,所述按照预设分析策略对所述预设分析维度的参数值进行分析,以确定所述预设分析维度的权重值的步骤包括:

判断所述tps波动率是否小于或者等于第一预设波动率;

若所述tps波动率小于或者等于第一预设波动率,则所述波动维度的权重值为第一波动权重值;

若所述tps波动率大于第一预设波动率且小于或者等于第二预设波动率,则所述波动维度的权重值为第二波动权重值;

若所述tps波动率大于第一预设波动率且大于第二预设波动率,则所述波动维度的权重值为第三波动权重值;

其中,所述第一预设波动率小于所述第二预设波动率,所述第一波动权重值大于所述第二波动权重值,所述第二波动权重值大于所述第三波动权重值。

可选地,所述预设分析维度包括中央处理器cpu维度,所述cpu维度的参数值包括cpu占用率,所述按照预设分析策略对所述预设分析维度的参数值进行分析,以确定所述预设分析维度的权重值的步骤包括:

判断所述cpu占用率是否小于或者等于第一预设占用率;

若所述cpu占用率小于或者等于第一预设占用率,则所述cpu维度的权重值为第一cpu权重值;

若所述cpu占用率大于第一预设占用率且小于或者等于第二预设占用率,则所述波动维度的权重值为第二cpu权重值;

若所述cpu占用率大于第一预设占用率且大于第二预设占用率,则所述波动维度的权重值为第三cpu权重值;

其中,所述第一预设占用率小于所述第二预设占用率,所述第一cpu权重值大于所述第二cpu权重值,所述第二cpu权重值大于所述第三cpu权重值。

可选地,所述预设分析维度包括线程维度,所述线程维度的参数值包括线程cpu占用率,所述根据所述测试数据获取预设分析维度的参数值的步骤包括:

按照预设频率从所述测试数据中获取线程的线程cpu占用率;

所述按照预设分析策略对所述预设分析维度的参数值进行分析,以确定所述预设分析维度的权重值的步骤包括:

对每次获取到的线程cpu占用率进行排序,得到多个线程cpu占用率序列;

验证所述多个线程cpu占用率序列中是否存在同一线程的线程cpu占用率大于预设占用率阈值;

若所述多个线程cpu占用率序列中不存在同一线程的线程cpu占用率大于预设占用率阈值,则所述线程维度的权重值为第一线程权重值;

若所述多个线程cpu占用率序列中存在同一线程的线程cpu占用率大于预设占用率阈值,则所述线程维度的权重值为第二线程权重值;

其中,所述第一线程权重值大于所述第二线程权重值。

可选地,所述预设分析维度包括数据库维度,所述数据库维度的参数值包括数据库响应时长,所述按照预设分析策略对所述预设分析维度的参数值进行分析,以确定所述预设分析维度的权重值的步骤包括:

验证所述数据库响应时长是否大于预设时长阈值;

若所述数据库响应时长不大于预设时长阈值,则所述数据库维度的权重值为第一数据库权重值;

若所述数据库响应时长大于预设时长阈值,则所述数据库维度的权重值为第二数据库权重值;

其中,所述第一数据库权重值大于所述第二数据库权重值。

可选地,所述根据所述加权值确定性能测试结果的步骤包括:

判断所述加权值是否大于或者等于第一加权值阈值;

若所述加权值大于或者等于第一加权值阈值,则判定所述被测系统的性能良好;

若所述加权值小于第一加权值阈值且大于或者等于第二加权值阈值,则判定所述被测系统的性能存在部分异常;

若所述加权值小于第二加权值阈值,则判定所述被测系统的性能存在高度异常,需重新进行性能测试。

进一步地,为实现上述目的,本发明还提供一种性能测试装置,所述性能测试装置包括:

测试模块,用于在接收到对被测系统进行性能测试的测试指令时,对所述被测系统进行性能测试,并记录测试数据;

计算模块,用于根据所述测试数据获取预设分析维度的参数值;

分析模块,用于按照预设分析策略对所述预设分析维度的参数值进行分析,以确定所述预设分析维度的权重值;

确定模块,用于计算所述预设分析维度的权重值的加权值,根据所述加权值确定性能测试结果。

进一步地,为实现上述目的,本发明还提供一种性能测试设备,所述性能测试设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的性能测试程序,所述性能测试程序被所述处理器执行时实现如上述所述的性能测试方法的步骤。

进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有性能测试程序,所述性能测试程序被处理器执行时实现如上所述的性能测试方法的步骤。

本发明通过在接收到对被测系统进行性能测试的测试指令时,对被测系统进行性能测试,并记录测试数据;根据测试数据获取预设分析维度的参数值;按照预设分析策略对预设分析维度的参数值进行分析,以确定预设分析维度的权重值;计算预设分析维度的权重值的加权值,根据加权值确定性能测试结果。实现了自动根据测试数据计算各个分析维度的参数值,并按照预设分析策略确定各个分析维度的权重值,再根据各个分析维度的权重值的和确定性能测试结果,从而实现了性能测试和结果分析的自动化流程,进而提升性能测试结果分析的效率、准确性和一致性。

附图说明

图1为本发明性能测试设备实施例方案涉及的设备硬件运行环境的结构示意图;

图2为本发明性能测试方法第一实施例的流程示意图;

图3为本发明性能测试装置的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

需要说明的是,现有的性能测试工具或者性能测试平台中,没有自动化的性能分析这个环节,而是由测试人员获取性能测试结果的数据,以及结合测试过程中各项指标数据,比如主机性能数据,数据库性能数据,通过人工线下的分析方法,来对当次性能测试结果进行分析,来评价某次的性能测试结果是否符合预期。对于存在问题或者某个指标不满足的情况,重新进行测试。这种人工收集性能测试数据进行性能测试结果分析的效率非常低,且由于测试人员能力存在差异,对性能分析流程理解不统一,故分析的结果千差万别,没有一个统一的分析体系,导致性能测试结果分析的准确性和一致性也较低。

基于上述缺陷,本发明提供一种性能测试设备,参照图1,图1为本发明性能测试设备实施例方案涉及的设备硬件运行环境的结构示意图。

如图1所示,该性能测试设备可以包括:处理器1001,例如cpu,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。

本领域技术人员可以理解,图1中示出的性能测试设备的硬件结构并不构成对性能测试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及性能测试程序。其中,操作系统是管理和控制性能测试设备与软件资源的程序,支持网络通信模块、用户接口模块、性能测试程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。

在图1所示的性能测试设备硬件结构中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;处理器1001可以调用存储器1005中存储的性能测试程序,并执行以下操作:

在接收到对被测系统进行性能测试的测试指令时,对所述被测系统进行性能测试,并记录测试数据;

根据所述测试数据获取预设分析维度的参数值;

按照预设分析策略对所述预设分析维度的参数值进行分析,以确定所述预设分析维度的权重值;

计算所述预设分析维度的权重值的加权值,根据所述加权值确定性能测试结果。

进一步地,所述测试数据包括历史最优每秒事务处理数tps和本次性能测试的当前tps,所述预设分析维度包括基线维度,所述基线维度的参数值包括tps基线浮动率,所述根据所述测试数据获取预设分析维度的参数值的步骤包括:

计算所述历史最优tps的平均值和当前tps的平均值;

计算所述历史最优tps的平均值和当前tps的平均值的差值,再将所述差值除以所述历史最优tps的平均值,得到tps基线浮动率。

进一步地,所述按照预设分析策略对所述预设分析维度的参数值进行分析,以确定所述预设分析维度的权重值的步骤包括:

判断所述tps基线浮动率是否小于或者等于第一预设浮动率;

若所述tps基线浮动率小于或者等于第一预设浮动率,则所述基线维度的权重值为第一基线权重值;

若所述tps浮动率大于第一预设浮动率且小于或者等于第二预设浮动率,则所述基线维度的权重值为第二基线权重值;

若所述tps浮动率大于第一预设浮动率且大于第二预设浮动率,则所述基线维度的权重值为第三基线权重值;

其中,所述第一预设浮动率小于所述第二预设浮动率,所述第一基线权重值大于所述第二基线权重值,所述第二基线权重值大于所述第三基线权重值。

进一步地,所述测试数据包括本次性能测试的当前tps,所述预设分析维度包括波动维度,所述波动维度的参数值包括tps波动率,所述根据所述测试数据获取预设分析维度的参数值的步骤包括:

计算所述当前tps的平均值和标准差;

将当前tps的标准差除以当前tps的平均值,得到tps波动率。

进一步地,所述按照预设分析策略对所述预设分析维度的参数值进行分析,以确定所述预设分析维度的权重值的步骤包括:

判断所述tps波动率是否小于或者等于第一预设波动率;

若所述tps波动率小于或者等于第一预设波动率,则所述波动维度的权重值为第一波动权重值;

若所述tps波动率大于第一预设波动率且小于或者等于第二预设波动率,则所述波动维度的权重值为第二波动权重值;

若所述tps波动率大于第一预设波动率且大于第二预设波动率,则所述波动维度的权重值为第三波动权重值;

其中,所述第一预设波动率小于所述第二预设波动率,所述第一波动权重值大于所述第二波动权重值,所述第二波动权重值大于所述第三波动权重值。

进一步地,所述预设分析维度包括中央处理器cpu维度,所述cpu维度的参数值包括cpu占用率,所述按照预设分析策略对所述预设分析维度的参数值进行分析,以确定所述预设分析维度的权重值的步骤包括:

判断所述cpu占用率是否小于或者等于第一预设占用率;

若所述cpu占用率小于或者等于第一预设占用率,则所述cpu维度的权重值为第一cpu权重值;

若所述cpu占用率大于第一预设占用率且小于或者等于第二预设占用率,则所述波动维度的权重值为第二cpu权重值;

若所述cpu占用率大于第一预设占用率且大于第二预设占用率,则所述波动维度的权重值为第三cpu权重值;

其中,所述第一预设占用率小于所述第二预设占用率,所述第一cpu权重值大于所述第二cpu权重值,所述第二cpu权重值大于所述第三cpu权重值。

进一步地,所述预设分析维度包括线程维度,所述线程维度的参数值包括线程cpu占用率,所述根据所述测试数据获取预设分析维度的参数值的步骤包括:

按照预设频率从所述测试数据中获取线程的线程cpu占用率;

进一步地,所述按照预设分析策略对所述预设分析维度的参数值进行分析,以确定所述预设分析维度的权重值的步骤包括:

对每次获取到的线程cpu占用率进行排序,得到多个线程cpu占用率序列;

验证所述多个线程cpu占用率序列中是否存在同一线程的线程cpu占用率大于预设占用率阈值;

若所述多个线程cpu占用率序列中不存在同一线程的线程cpu占用率大于预设占用率阈值,则所述线程维度的权重值为第一线程权重值;

若所述多个线程cpu占用率序列中存在同一线程的线程cpu占用率大于预设占用率阈值,则所述线程维度的权重值为第二线程权重值;

其中,所述第一线程权重值大于所述第二线程权重值。

进一步地,所述预设分析维度包括数据库维度,所述数据库维度的参数值包括数据库响应时长,所述按照预设分析策略对所述预设分析维度的参数值进行分析,以确定所述预设分析维度的权重值的步骤包括:

验证所述数据库响应时长是否大于预设时长阈值;

若所述数据库响应时长不大于预设时长阈值,则所述数据库维度的权重值为第一数据库权重值;

若所述数据库响应时长大于预设时长阈值,则所述数据库维度的权重值为第二数据库权重值;

其中,所述第一数据库权重值大于所述第二数据库权重值。

进一步地,所述根据所述加权值确定性能测试结果的步骤包括:

判断所述加权值是否大于或者等于第一加权值阈值;

若所述加权值大于或者等于第一加权值阈值,则判定所述被测系统的性能良好;

若所述加权值小于第一加权值阈值且大于或者等于第二加权值阈值,则判定所述被测系统的性能存在部分异常;

若所述加权值小于第二加权值阈值,则判定所述被测系统的性能存在高度异常,需重新进行性能测试。

本发明性能测试设备的具体实施方式与下述性能测试方法各实施例基本相同,在此不再赘述。

本发明还提供一种性能测试方法。

性能测试,是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的目的。

本发明实施例提供了性能测试方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

在性能测试方法的各个实施例中,为了便于描述,省略执行主体进行阐述各个实施例。参照图2,图2为本发明性能测试方法第一实施例的流程示意图,所述性能测试方法包括:

步骤s10,在接收到对被测系统进行性能测试的测试指令时,对所述被测系统进行性能测试,并记录测试数据;

现有的性能测试工具或者性能测试平台中,没有自动化的性能分析这个环节,而是由测试人员获取性能测试结果的数据,以及结合测试过程中各项指标数据,比如主机性能数据,数据库性能数据,通过人工线下的分析方法,来对当次性能测试结果进行分析,来评价某次的性能测试结果是否符合预期。对于存在问题或者某个指标不满足的情况,重新进行测试。这种人工收集性能测试数据进行性能测试结果分析的效率非常低,且由于测试人员能力存在差异,对性能分析流程理解不统一,故分析的结果千差万别,没有一个统一的分析体系,导致性能测试结果分析的准确性和一致性也较低。

为解决现有技术性能测试结果分析效率低、准确性低和一致性低的技术问题,本实施例中,性能测试装置在接收到对被测系统进行性能测试的测试指令时,按照预设的性能测试脚本对被测系统进行性能测试,并记录性能测试数据。其中,对被测系统进行性能测试的测试指令可以是由测试人员发起的;也可以是测试人员设定测试指令执行时间批量执行,当性能测试装置检测到达预设测试时间时,自动生成对被测系统进行性能测试的测试指令。以上两种测试指令的生成方法可以择其一实施,也可以组合在一起实施,本实施例不做限制。

步骤s20,根据所述测试数据获取预设分析维度的参数值;

在本实施例中,测试数据包括但不限于tps(trancationpersecond,每秒事务处理数)、cpu(centralprocessingunit,中央处理器)占用率、线程cpu占用率、数据库响应时长。

预设分析维度包括但不限于基线维度、波动维度、cpu维度、线程维度和数据库维度。性能测试装置在对被测系统进行性能测试并记录测试数据后,将从上述五个分析维度来对测试数据进行计算以得到不同分析维度的参数值。其中基线维度的参数值是tps基线浮动率,波动维度的参数值是tps波动率,cpu维度的参数值是cpu占用率,线程维度的参数值是线程cpu占用率,数据库维度的参数值是数据库响应时长。

进一步地,预设分析维度还可以包括成功率维度,成功率即对系统业务处理的成功次数、失败次数和超时次数的综合统计。

步骤s30,按照预设分析策略对所述预设分析维度的参数值进行分析,以确定所述预设分析维度的权重值;

在本实施例中,在计算出不同分析维度对应的参数值后,性能测试装置根据测试人员预先设置的分析策略对不同分析维度对应的参数值进行分析,以确定不同分析维度的权重值。

进一步地,在步骤s30之前还可以包括对预设分析策略的设置步骤。

步骤s40,计算所述预设分析维度的权重值的加权值,根据所述加权值确定性能测试结果。

在本实施例中,在得到不同分析维度的权重值后,对不同分析维度的权重值进行加权运算,得到各个分析维度的权重值的和,即加权值,再根据加权值与预设加权阈值的大小确定性能测试结果。具体地,判断所述加权值是否大于或者等于第一加权值阈值;若所述加权值大于或者等于第一加权值阈值,则判定所述被测系统的性能良好;若所述加权值小于第一加权值阈值且大于或者等于第二加权值阈值,则判定所述被测系统的性能存在部分异常;若所述加权值小于第二加权值阈值,则判定所述被测系统的性能存在高度异常,需重新进行性能测试。

本实施例通过在接收到对被测系统进行性能测试的测试指令时,对所述被测系统进行性能测试,并记录测试数据;根据所述测试数据获取预设分析维度的参数值;按照预设分析策略对所述预设分析维度的参数值进行分析,以确定所述预设分析维度的权重值;计算所述预设分析维度的权重值的加权值,根据所述加权值确定性能测试结果。实现了自动基于预设的分析维度获取相应的测试数据,根据测试数据计算各个分析维度的参数值,并按照预设分析策略确定各个分析维度的权重值,再根据各个分析维度的权重值的和确定性能测试结果,从而实现了性能测试和结果分析的自动化流程,进而提升性能测试结果分析的效率、准确性和一致性。

进一步地,提出本发明性能测试方法第二实施例,所述测试数据包括历史最优tps和本次性能测试的当前tps,所述预设分析维度包括基线维度,所述基线维度的参数值包括tps基线浮动率,上述步骤s20包括:

步骤s21,计算所述历史最优tps的平均值和当前tps的平均值;

在本实施例中,tps指的是某个软件每秒所处理的事务请求数;历史最优tps指的是对于某个软件的多个版本分别进行的多次性能测试中,每个版本性能测试结果最好的那一次性能测试中的tps的平均值。

步骤s22,计算所述历史最优tps的平均值和当前tps的平均值的差值,再将所述差值除以所述历史最优tps的平均值,得到tps基线浮动率

为辅助理解,现列举一实例,若a软件有1a、2a、3a和4a这4个版本,对这4个版本分别进行了多次性能测试,1a这个版本的第三次性能测试结果最好,此次性能测试中的tps的平均值为t1,2a这个版本的第二次性能测试结果最好,此次性能测试中的tps的平均值为t2,3a这个版本的第四次性能测试结果最好,此次性能测试中的tps的平均值为t3,4a这个版本的第三次性能测试结果最好,此次性能测试中的tps的平均值为t4,则历史最优tps为t1、t2、t3和t4,历史最优tps的平均值为(t1+t2+t3+t4)/4。

对于本次性能测试的当前tps,若a软件本次测试的版本为5a,且本次性能测试的时长为60秒,则本次性能测试的当前tps为这60秒中每一秒的tps,即t1、t2…、t60,共60个tps,则当前tps的平均值为这60个tps的平均值,即(t1+t2+…+t60)/60,则tps基线浮动率=(当前tps的平均值-历史最优tps的平均值)/历史最优tps的平均值,即tps基线浮动率=[(t1+t2+…+t60)/60-(t1+t2+t3+t4)/4]÷[(t1+t2+t3+t4)/4]

进一步地,上述步骤s30包括:

判断所述tps基线浮动率是否小于或者等于第一预设浮动率;

若所述tps基线浮动率小于或者等于第一预设浮动率,则所述基线维度的权重值为第一基线权重值;

若所述tps浮动率大于第一预设浮动率且小于或者等于第二预设浮动率,则所述基线维度的权重值为第二基线权重值;

若所述tps浮动率大于第一预设浮动率且大于第二预设浮动率,则所述基线维度的权重值为第三基线权重值;其中,所述第一预设浮动率小于所述第二预设浮动率,所述第一基线权重值大于所述第二基线权重值,所述第二基线权重值大于所述第三基线权重值。

在本实施例中,对基线维度的参数值即tps基线浮动率进行分析,以确定基线维度的权重值。基线维度所体现的是本次性能测试中的tps相对于基线的稳定性,tps基线浮动率越小,说明本次性能测试的tps相对于基线来说越稳定,被测系统越倾向高性能;tps基线浮动率越大,说明本次性能测试的tps相对于基线来说越不稳定,被测系统越倾向低性能。

具体地,判断tps基线浮动率是否小于或者等于第一预设浮动率;若tps基线浮动率小于或者等于第一预设浮动率,则基线维度的权重值为第一基线权重值;若tps浮动率大于第一预设浮动率且小于或者等于第二预设浮动率,则基线维度的权重值为第二基线权重值;若tps浮动率大于第一预设浮动率且大于第二预设浮动率,则基线维度的权重值为第三基线权重值;其中,第一预设浮动率小于第二预设浮动率,第一基线权重值大于第二基线权重值,第二基线权重值大于第三基线权重值。

本实施例通过计算基线维度的参数值,即tps基线浮动率,并通过比较tps基线浮动率与预设浮动率的大小,确定了基线维度的权重值,为实现根据各个分析维度的权重值的和确定性能测试结果奠定了基础。

进一步地,提出本发明性能测试方法第三实施例,所述测试数据包括本次性能测试的当前tps,所述预设分析维度包括波动维度,所述波动维度的参数值包括tps波动率,上述步骤s20包括:

步骤s23,计算所述当前tps的平均值和标准差;

步骤s24,将当前tps的标准差除以当前tps的平均值,得到tps波动率。

为辅助理解,现列举一实例,对于本次性能测试的当前tps,若a软件本次测试的版本为5a,且本次性能测试的时长为60秒,则本次性能测试的当前tps为这60秒中每一秒的tps,即t1、t2…、t60,共60个tps,则当前tps的平均值为这60个tps的平均值,即平均值μ=(t1+t2+…+t60)/60。

当前tps的标准差为这60个tps的标准差,即标准差

进一步地,上述步骤s30包括:

判断所述tps波动率是否小于或者等于第一预设波动率;

若所述tps波动率小于或者等于第一预设波动率,则所述波动维度的权重值为第一波动权重值;

若所述tps波动率大于第一预设波动率且小于或者等于第二预设波动率,则所述波动维度的权重值为第二波动权重值;

若所述tps波动率大于第一预设波动率且大于第二预设波动率,则所述波动维度的权重值为第三波动权重值;其中,所述第一预设波动率小于所述第二预设波动率,所述第一波动权重值大于所述第二波动权重值,所述第二波动权重值大于所述第三波动权重值。

在本实施例中,对波动维度的参数值即tps波动率进行分析,以确定波动维度的权重值。波动维度所体现的是本次性能测试中的tps值的离散程度,tps波动率越小,说明本次性能测试的tps值的离散程度越小,即波动越小,被测系统越倾向高性能;tps波动率越大,说明本次性能测试的tps值的离散程度越大,即波动越大,被测系统越倾向低性能。

具体地,判断tps波动率是否小于或者等于第一预设波动率;若tps波动率小于或者等于第一预设波动率,则波动维度的权重值为第一波动权重值;若tps波动率大于第一预设波动率且小于或者等于第二预设波动率,则波动维度的权重值为第二波动权重值;若tps波动率大于第一预设波动率且大于第二预设波动率,则波动维度的权重值为第三波动权重值;其中,第一预设波动率小于第二预设波动率,第一波动权重值大于第二波动权重值,第二波动权重值大于第三波动权重值。

本实施例通过计算波动维度的参数值,即tps波动率,并通过比较tps波动率与预设波动率的大小,确定了波动维度的权重值,为实现根据各个分析维度的权重值的和确定性能测试结果奠定了基础。

进一步地,提出本发明性能测试方法第四实施例,所述预设分析维度包括中央处理器cpu维度,所述cpu维度的参数值包括cpu占用率,上述步骤s30包括:

判断所述cpu占用率是否小于或者等于第一预设占用率;若所述cpu占用率小于或者等于第一预设占用率,则所述cpu维度的权重值为第一cpu权重值;若所述cpu占用率大于第一预设占用率且小于或者等于第二预设占用率,则所述波动维度的权重值为第二cpu权重值;若所述cpu占用率大于第一预设占用率且大于第二预设占用率,则所述波动维度的权重值为第三cpu权重值;其中,所述第一预设占用率小于所述第二预设占用率,所述第一cpu权重值大于所述第二cpu权重值,所述第二cpu权重值大于所述第三cpu权重值。

在本实施例中,cpu维度的参数值cpu占用率可从测试数据中直接获取。在cpu维度,cpu占用率越低,被测系统越倾向高性能;cpu占用率越高,被测系统越倾向低性能。

进一步地,所述预设分析维度包括线程维度,所述线程维度的参数值包括线程cpu占用率,上述步骤s20包括:

按照预设频率从所述测试数据中获取线程的线程cpu占用率;

上述步骤s30包括:

对每次获取到的线程cpu占用率进行排序,得到多个线程cpu占用率序列;验证所述多个线程cpu占用率序列中是否存在同一线程的线程cpu占用率大于预设占用率阈值;若所述多个线程cpu占用率序列中不存在同一线程的线程cpu占用率大于预设占用率阈值,则所述线程维度的权重值为第一线程权重值;若所述多个线程cpu占用率序列中存在同一线程的线程cpu占用率大于预设占用率阈值,则所述线程维度的权重值为第二线程权重值;其中,所述第一线程权重值大于所述第二线程权重值。

在本实施例中,线程维度的参数值线程cpu占用率是按照预设频率从测试数据中抓取的。在线程维度,线程cpu占用率越低,被测系统越倾向高性能;线程cpu占用率越高,被测系统越倾向低性能。

进一步地,所述预设分析维度包括数据库维度,所述数据库维度的参数值包括数据库响应时长,上述步骤s30包括:

验证所述数据库响应时长是否大于预设时长阈值;若所述数据库响应时长不大于预设时长阈值,则所述数据库维度的权重值为第一数据库权重值;若所述数据库响应时长大于预设时长阈值,则所述数据库维度的权重值为第二数据库权重值;其中,所述第一数据库权重值大于所述第二数据库权重值。

在本实施例中,在数据库维度,数据库响应时长越短,被测系统越倾向高性能;数据库响应时长越长,被测系统越倾向低性能。

进一步地,上述步骤s40中的根据所述加权值确定性能测试结果的步骤包括:

判断所述加权值是否大于或者等于第一加权值阈值;若所述加权值大于或者等于第一加权值阈值,则判定所述被测系统的性能良好;若所述加权值小于第一加权值阈值且大于或者等于第二加权值阈值,则判定所述被测系统的性能存在部分异常;若所述加权值小于第二加权值阈值,则判定所述被测系统的性能存在高度异常,需重新进行性能测试。

在本实施例中,在得到不同分析维度的权重值后,对不同分析维度的权重值进行加权运算,得到各个分析维度的权重值的和,即加权值,再根据加权值与预设加权阈值的大小确定性能测试结果。例如,设第一加权值阈值为0.9,第二加权值阈值为0.8,若加权值≥0.9,则判定被测系统的性能良好;若0.8≤加权值<0.9,则判定被测系统的性能存在部分异常;若加权值<0.8,则判定被测系统的性能存在高度异常,需重新进行性能测试。

进一步地,预设分析维度还可以包括成功率维度,成功率即对系统业务处理的成功次数、失败次数和超时次数的综合统计。

进一步地,在确定性能测试结果后,可生成性能测试结果报表,以供测试人员查看,并确定是否重新进行性能测试。其中,性能测试结果报表中可以包括但不限于测试数据、预设分析维度、预设分析维度的参数值、预设分析维度的权重值、性能测试结果以及异常的参数值等。

本实施例通过比较各个分析维度的参数值与预设值的大小,确定了各个分析维度的权重值,实现了根据各个分析维度的权重值的和确定性能测试结果,从而实现了性能测试和结果分析的自动化流程,进而提升性能测试结果分析的效率、准确性和一致性。

本发明还提供一种性能测试装置。

参照图3,图3为本发明性能测试装置第一实施例的功能模块示意图,所述性能测试装置包括:

测试模块10,用于在接收到对被测系统进行性能测试的测试指令时,对所述被测系统进行性能测试,并记录测试数据;

计算模块20,用于根据所述测试数据获取预设分析维度的参数值;

分析模块30,用于按照预设分析策略对所述预设分析维度的参数值进行分析,以确定所述预设分析维度的权重值;

确定模块40,用于计算所述预设分析维度的权重值的加权值,根据所述加权值确定性能测试结果。

本发明性能测试装置具体实施方式与上述性能测试方法各实施例基本相同,在此不再赘述。

此外,本发明实施例还提出一种计算机可读存储介质。

可读存储介质上存储有性能测试程序,性能测试程序被处理器执行时实现如上所述的性能测试方法的步骤。

本发明可读存储介质具体实施方式与上述性能测试方法各实施例基本相同,在此不再赘述。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。

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