CN110309038B - 性能测试方法、装置、电子设备及计算机可读存储介质 - Google Patents
性能测试方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110309038B CN110309038B CN201910310587.9A CN201910310587A CN110309038B CN 110309038 B CN110309038 B CN 110309038B CN 201910310587 A CN201910310587 A CN 201910310587A CN 110309038 B CN110309038 B CN 110309038B
- Authority
- CN
- China
- Prior art keywords
- execution
- test script
- machines
- test
- execution machines
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种性能测试方法、装置、电子设备及计算机可读存储介质。所述方法包括:从开发调试环境中获取测试脚本,其中所述测试脚本中包括设定的执行机的总并发数量及所述执行机的最大并发数量;根据设定的执行机的总并发数量及所述执行机的最大并发数量计算所述执行机的数量及每台所述执行机待执行的并发数量;将所述测试脚本中每台所述执行机待执行的并发数量添加到所述测试脚本中以对所述测试脚本进行更新;根据计算出的执行机的数量及更新后的所述测试脚本生成与所述执行机的数量相同的执行镜像,其中,每一执行镜像对应一执行机;及控制所述执行机按照与所述执行机相对应的执行镜像进行测试。本发明实现简单,能够提高对执行机的测试效率。
Description
技术领域
本发明涉及云存储领域,具体涉及一种执行机的性能测试方法、装置、电子设备及计算机可读存储介质。
背景技术
目前市面上很多的性能测试工具,以Jmeter为例,当需要执行的并发数大于1000的时候,可以通过分布式执行的方式发起测试,但是需要提前计算好每个执行机的并发数以及总共需要多少台执行机。因而,现有的性能测试工具要求执行机资源提前准备到位,且需要投入大量的人力成本创建执行机环境,使得性能测试的效率低下。
发明内容
鉴于以上内容,有必要提出一种性能测试方法、装置、电子设备和计算机可读存储介质,以提高性能测试的效率。
本申请的第一方面提供一种性能测试方法,所述方法包括:
访问性能测试管理平台的开发调试环境;
从所述开发调试环境中获取测试脚本,其中所述测试脚本中包括设定的执行机的总并发数量及所述执行机的最大并发数量;
根据设定的执行机的总并发数量及所述执行机的最大并发数量计算所述执行机的数量及每台所述执行机待执行的并发数量;
将所述测试脚本中每台所述执行机待执行的添加到所述测试脚本中以对所述测试脚本进行更新;
根据计算出的执行机的数量及更新后的所述测试脚本生成与所述执行机的数量相同的执行镜像,其中,所述执行镜像为对所述执行机进行测试的指令集,每一执行镜像对应一执行机;及
控制所述执行机按照与所述执行机相对应的执行镜像进行测试。
优选地,所述访问性能测试管理平台的开发调试环境包括:
在所述性能测试管理平台中启动Agent控制程序并通过所述Agent控制程序访问所述开发调试环境。
优选地,所述根据设定的执行机的总并发数量及所述执行机的最大并发数量计算所述执行机的数量及每台所述执行机待执行的并发数量包括:
按照第一预设公式计算所述执行机的数量,其中所述第一预设公式为b=a/A+(a%A==0?0:1),其中,a为设定的执行机的总并发数量,A为设定的所述执行机最大并发数量,b为计算得到的执行机的数量;及
按照第二预设公式计算每台所述执行机待执行的并发数量,其中所述第二预设公式为c=a/b+(a%b==0?0:1),其中c为计算得到的每台所述执行机待执行的并发数量。
优选地,所述测试脚本包括参数文件,所述根据计算出的执行机的数量及更新后的所述测试脚本生成与所述执行机的数量相同的执行镜像包括:
判断所述测试脚本的参数文件是否可以重复执行;
当所述测试脚本中的参数文件可以重复执行时,将所述测试脚本的参数文件复制到每一所述执行镜像中,并将所述测试脚本中的总并发数量根据所述执行机的数量等分,将等分后的总并发数量复制到每一所述执行镜像中;及
当所述测试脚本中的参数文件不可以重复执行时,将所述测试脚本的参数文件量根据所述执行机的数量等分并将等分后的参数文件复制到每一所述执行镜像中,将所述测试脚本中的总并发数量根据所述执行机的数量等分,并将等分后的总并发数量复制到每一所述执行镜像中。
优选地,所述方法还包括:校验所述测试脚本。
优选地,所述校验所述测试脚本包括:
在所述开发调试环境中填写所述测试脚本的存储路径,按照所述存储路径查找所述测试脚本并对所述测试脚本的文件类型和存在性做校验,及在校验通过后将所述测试脚本保存在所述性能测试管理平台。
优选地,所述方法还包括:
将测试结果做统计分析,并将分析结果显示给用户,其中在对所述测试结果做统计分析时可以生成两个维度的统计表,其中,所述统计表的横向维度为所述测试结果的达标性分析维度,所述统计表的纵向维度为历史测试结果的趋势性分析维度。
本申请的第二方面提供一种性能测试装置,所述装置包括:
访问模块,用于访问性能测试管理平台的开发调试环境;
脚本获取模块,用于从所述开发调试环境中获取测试脚本,其中所述测试脚本中包括设定的执行机的总并发数量及所述执行机的最大并发数量;
计算模块,用于根据设定的执行机的总并发数量及所述执行机的最大并发数量计算所述执行机的数量及每台所述执行机待执行的并发数量;
更新模块,用于将所述测试脚本中每台所述执行机待执行的并发数量添加到所述测试脚本中以对所述测试脚本进行更新;
执行镜像生成模块,用于根据计算出的执行机的数量及更新后的所述测试脚本生成与所述执行机的数量相同的执行镜像,其中,所述执行镜像为对所述执行机进行测试的指令集,每一执行镜像对应一执行机;及
测试模块,用于控制所述执行机按照与所述执行机相对应的执行镜像进行测试。
本申请的第三方面提供一种电子设备,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述性能测试方法。
本申请的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述性能测试方法。
本发明根据设定的每台执行机的并发数量及每台所述执行机的最大并发数量计算所述执行机的数量及待执行的每台所述执行机的并发数量以对所述测试脚本进行更新,根据计算出的执行机的数量及更新后的所述测试脚本生成与所述执行机的数量相同的执行镜像,并控制每一执行镜像对与所述执行镜像对应的执行机进行测试,从而提高对执行机的测试效率。
附图说明
图1是本发明性能测试方法的应用环境示意图。
图2是本发明性能测试方法较佳实施例的流程图。
图3是本发明性能测试装置实施例的结构图。
图4为本发明电子设备较佳实施例的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
优选地,本发明的性能测试方法应用在一个或者多个电子设备中。所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(DigitalSignal Processor,DSP)、嵌入式设备等。
所述电子设备可以是桌上型计算机、笔记本电脑、平板电脑及云端服务器等计算设备。所述设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
实施例1
图1是本发明一实施方式中性能测试方法的应用环境图。
参阅图1所述,所述性能测试方法应用在所述性能测试管理平台10中,所述性能测试管理平台10包括管理服务器20及执行机30。所述管理服务器20与所述执行机30连接。所述管理服务器20包括开发调试环境21。所述管理服务器20用户获取开发调试环境21中的测试脚本,并根据所述测试脚本控制执行机30进行测试。
图2是本发明一实施方式中性能测试方法的流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。
参阅图2所示,所述性能测试方法具体包括以下步骤:
步骤S201,访问性能测试管理平台10的开发调试环境。
本实施方式中,在所述性能测试管理平台10中启动Agent控制程序并通过所述Agent控制程序访问所述开发调试环境。本实施方式中,所述开发调试环境为一通过UI界面使用的Linux操作***实例。本实施方式中,Agent控制程序是一个具有自适应性和智能性的软件实体,可以代表用户或其它程序以主动服务的方式完成一项工作。Agent控制程序还可以完成以下几方面的工作:反馈自身启动状态到管理服务器20;检查所述开发调试环境21的本地文件存在性;监听消息通知,收到需要执行的消息时开始启动Jmeter工具执行所述开发调试环境21的本地存储的测试脚本。
步骤S202,从所述开发调试环境21中获取测试脚本。
本实施方式中,所述测试脚本存储在所述开发调试环境21的本地存储空间中,可以从所述开发调试环境21的本地存储空间中获取所述测试脚本。在另一实施方式中,通过所述开发调试环境21获取用户上传的测试脚本。本实施方式中,所述测试脚本指的是一个特定测试的一系列指令,所述指令可以被自动化执行工具执行。例如,所述测试脚本可以被Jmeter工具自动化执行。其中Jmeter工具为基于Java的压力测试工具,其可以用于对静态的和动态的资源,如文件,Servlet、Perl脚本,Java对象,数据库和FTP服务器等的性能进行测试。本实施方式中,所述测试脚本中包括参数文件、设定的执行机30的总并发数量及执行机30的最大并发数量。
步骤S203,根据设定的执行机30的总并发数量及所述执行机30的最大并发数量计算所述执行机30的数量及每台所述执行机30待执行的并发数量。
本实施方式中,管理服务器20获取所述测试脚本中设定的执行机30的总并发数量及执行机30的最大并发数量,并根据获取的设定的执行机30的总并发数量及执行机30的最大并发数量按照第一预设公式计算所述执行机30的数量。本实施方式中,所述第一预设公式为:b=a/A+(a%A==0?0:1),其中,a为用户设置的执行机30的总并发数量,A为设定的每台执行机30的最大并发数量,b为计算得到的执行机30的数量。管理服务器20进一步根据设定的执行机30的总并发数量及计算出的执行机30的并发数量按照第二预设公式计算每台执行机30待执行的并发数量。本实施方式中,所述第二预设公式为:c=a/b+(a%b==0?0:1),其中c为计算得到的每台执行机30待执行的并发数量。
步骤S204,将所述测试脚本中每台所述执行机30待执行的并发数量添加到所述测试脚本中以对所述测试脚本进行更新。
例如,当计算出的每台执行机30待执行的并发数量为3000时,所述管理服务器20将每台执行机30待执行的3000并发数量添加到所述测试脚本中。
步骤S205,根据计算出的执行机30的数量及更新后的测试脚本生成与所述执行机30的数量相同的执行镜像,其中,执行镜像为对执行机30进行测试的指令集,每一执行镜像对应一执行机。
在一具体实施方式中,所述管理服务器20判断测试脚本的参数文件是否可以重复执行。当所述测试脚本中的参数文件可以重复执行时,所述管理服务器20将测试脚本的参数文件复制到每一执行镜像中,并将测试脚本中的总并发数量根据执行机30的数量等分,将等分后的总并发数量复制到每一执行镜像中。例如,当执行机30的数量为10及测试脚本中的总并发数量为3000时,所述管理服务器20根据执行机30的数量及测试脚本生成10个执行镜像,然后将测试脚本的参数文件复制到每一执行镜像中,最后将测试脚本中的3000并发做10等分,并将每一等分后的300并发复制到对应的一执行镜像中。
当所述测试脚本中的参数文件不可以重复执行时,所述管理服务器20将测试脚本的参数文件量根据执行机30的数量等分并将等分后的参数文件复制到每一执行镜像中,及将测试脚本中的总并发数量根据执行机30的数量等分,将等分后的总并发数量复制到每一执行镜像中。
例如,当执行机的数量为10、参数文件包括300万条数据及测试脚本中的总并发数量为3000时,所述管理服务器20根据执行机30的数量及测试脚本生成10个执行镜像,然后将测试脚本的参数文件中的数据进行10等分并将每一等分后的参数文件复制到对应的一执行镜像中,最后将测试脚本中3000并发做10等分并将等分后的300并发复制到对应的一执行镜像中。
本实施方式中,对于测试脚本中不能重复执行的参数文件,根据计算得到的执行机数量,均分参数文件中的数据量,并将均分的参数文件的数据量写入对应的执行镜像中,保证每个执镜像执行不同的测试。
步骤S206,控制所述执行机按照与所述执行机相对应的执行镜像进行测试。
本实施方式中,所述管理服务器20获取执行镜像的生成处理进展,并在确认执行镜像的生成处理完毕时通过消息通知Agent控制程序控制对应的执行机30按照与所述执行机相对应的执行镜像进行测试。
本实施方式中,所述方法还包括:校验所述测试脚本。
本实施方式中,在所述开发调试环境21中填写测试脚本的路径,所述开发调试环境21按照所述存储路径查找所述测试脚本并对所述测试脚本的文件类型和存在性做校验,校验通过后将所述测试脚本保存在所述性能测试管理平台10。例如,当所述测试脚本为Jmeter测试脚本时,所述开发调试环境21首先能够确定所述测试脚本的类型为Jmeter,然后根据绝对路径检查测试脚本的文件在所述开发调试环境21中是否真实存在。
本实施方式中,所述方法还包括:
将每一执行镜像的测试结果存储在所述管理服务器20的数据库中。
本实施方式中,所述方法还包括:
将测试结果做统计分析,并将分析结果显示给用户。
本实施方式中,在对测试结果做统计分析时可以生成两个维度的统计表,其中,所述统计表的横向维度为测试结果的达标性分析维度,纵向维度为历史测试结果的趋势性分析维度。
实施例2
图3为本发明性能测试装置40较佳实施例的结构图。
在一些实施例中,所述性能测试装置40运行于电子设备中。所述性能测试装置40可以包括多个由程序代码段所组成的功能模块。所述性能测试装置40中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行性能测试的功能。
本实施例中,所述性能测试装置40根据其所执行的功能,可以被划分为多个功能模块。参阅图3所示,所述性能测试装置40可以包括访问模块401、脚本获取模块402、计算模块403、更新模块404、执行镜像生成模块405及测试模块406。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在一些实施例中,关于各模块的功能将在后续的实施例中详述。
所述访问模块401用于访问性能测试管理平台10的开发调试环境。
本实施方式中,所述访问模块401在所述性能测试管理平台10中启动Agent控制程序并通过所述Agent控制程序访问所述开发调试环境。本实施方式中,所述开发调试环境为一通过UI界面使用的Linux操作***实例。本实施方式中,Agent控制程序是一个具有自适应性和智能性的软件实体,可以代表用户或其它程序以主动服务的方式完成一项工作。Agent控制程序还可以完成以下几方面的工作:反馈自身启动状态到管理服务器20;检查所述开发调试环境21的本地文件存在性;监听消息通知,收到需要执行的消息时开始启动Jmeter工具执行所述开发调试环境21的本地存储的测试脚本。
所述脚本获取模块402用于从所述开发调试环境21中获取测试脚本。
本实施方式中,所述测试脚本存储在所述开发调试环境21的本地存储空间中,所述脚本获取模块402可以从所述开发调试环境21的本地存储空间中获取所述测试脚本。在另一实施方式中,所述脚本获取模块402通过所述开发调试环境21获取用户上传的测试脚本。本实施方式中,所述测试脚本指的是一个特定测试的一系列指令,所述指令可以被自动化执行工具执行。例如,所述测试脚本可以被Jmeter工具自动化执行。其中Jmeter工具为基于Java的压力测试工具,其可以用于对静态的和动态的资源,如文件,Servlet、Perl脚本,Java对象,数据库和FTP服务器等的性能进行测试。本实施方式中,所述测试脚本中包括参数文件、设定的每台执行机30的总并发数量及执行机30的最大并发数量。
所述计算模块403用于根据设定的执行机30的并发数量及所述执行机30的最大并发数量计算所述执行机30的数量及每台所述执行机30待执行的并发数量。
本实施方式中,所述计算模块403获取所述测试脚本中设定的执行机30的总并发数量及执行机30的最大并发数量,并根据获取的设定的执行机30的总并发数量及执行机30的最大并发数量按照第一预设公式计算所述执行机30的数量。本实施方式中,所述第一预设公式为:b=a/A+(a%A==0?0:1),其中,a为用户设置的执行机30的总并发数量,A为设定的每台执行机30的最大并发数量,b为计算得到的执行机30的数量。所述计算模块403进一步根据设定的执行机30的总并发数量及计算出的执行机30的并发数量按照第二预设公式计算每台执行机30待执行的并发数量。本实施方式中,所述第二预设公式为:c=a/b+(a%b==0?0:1),其中c为计算得到的每台执行机30待执行的并发数量。
所述更新模块404用于将所述测试脚本中每台所述执行机30待执行的并发数量添加到所述测试脚本中以对所述测试脚本进行更新。
例如,当计算出的每台执行机30待执行的并发数量为3000时,所述更新模块404将每台执行机30待执行的3000并发数量添加到所述测试脚本中。
所述执行镜像生成模块405用于根据计算出的执行机30的数量及更新后的测试脚本生成与所述执行机30的数量相同的执行镜像,其中,执行镜像为对执行机30进行测试的指令集,每一执行镜像对应一执行机。
在一具体实施方式中,所述执行镜像生成模块405判断测试脚本的参数文件是否可以重复执行。当所述测试脚本中的参数文件可以重复执行时,所述执行镜像生成模块405将测试脚本的参数文件复制到每一执行镜像中,并将测试脚本中的总并发数量根据执行机30的数量等分,将等分后的总并发数量复制到每一执行镜像中。例如,当执行机30的数量为10及测试脚本中的总并发数量为3000时,所述执行镜像生成模块405根据执行机30的数量及测试脚本生成10个执行镜像,然后将测试脚本的参数文件复制到每一执行镜像中,最后将测试脚本中的3000并发做10等分,并将每一等分后的300并发复制到对应的一执行镜像中。
当所述测试脚本中的参数文件不可以重复执行时,所述执行镜像生成模块405将测试脚本的参数文件量根据执行机30的数量等分并将等分后的参数文件复制到每一执行镜像中,及将测试脚本中的总并发数量根据执行机30的数量等分,将等分后的总并发数量复制到每一执行镜像中。
例如,当执行机的数量为10、参数文件包括300万条数据及测试脚本中的总并发数量为3000时,所述执行镜像生成模块405根据执行机30的数量及测试脚本生成10个执行镜像,然后将测试脚本的参数文件中的数据进行10等分并将每一等分后的参数文件复制到对应的一执行镜像中,最后将测试脚本中3000并发做10等分并将等分后的300并发复制到对应的一执行镜像中。
本实施方式中,所述执行镜像生成模块405对于测试脚本中不能重复执行的参数文件,根据计算得到的执行机数量,均分参数文件中的数据量,并将均分的参数文件的数据量写入对应的执行镜像中,保证每个执镜像执行不同的测试。
所述测试模块406用于控制所述执行机按照与所述执行机相对应的执行镜像进行测试。
本实施方式中,所述测试模块406获取执行镜像的生成处理进展,并在确认执行镜像的生成处理完毕时通过消息通知Agent控制程序控制对应的执行机30按照与所述执行机相对应的执行镜像进行测试。
本实施方式中,所述测试模块406还用于校验所述测试脚本。本实施方式中,在所述开发调试环境21中填写测试脚本的存储路径,所述测试模块406按照所述存储路径查找所述测试脚本并对所述测试脚本的文件类型和存在性做校验,校验通过后将所述测试脚本保存在所述性能测试管理平台10。例如,当所述测试脚本为Jmeter测试脚本时,所述测试模块406首先能够确定所述测试脚本的类型为Jmeter,然后根据所述存储路径检查测试脚本的文件在所述开发调试环境21中是否真实存在。
本实施方式中,所述测试模块406还用于将每一执行镜像的测试结果存储在所述管理服务器20的数据库中。
本实施方式中,所述测试模块406还用于将测试结果做统计分析,并将分析结果显示给用户。实施方式中,所述测试模块406在对测试结果做统计分析时可以生成两个维度的统计表,其中,所述统计表的横向维度为测试结果的达标性分析维度,纵向维度为历史测试结果的趋势性分析维度。
实施例3
图4为本发明电子设备6较佳实施例的示意图。
所述电子设备6包括存储器61、处理器62以及存储在所述存储器61中并可在所述处理器62上运行的计算机程序63。所述处理器62执行所述计算机程序63时实现上述性能测试方法实施例中的步骤,例如图2所示的步骤S201~S206。或者,所述处理器62执行所述计算机程序63时实现上述性能测试装置实施例中各模块/单元的功能,例如图3中的模块401~406。
示例性的,所述计算机程序63可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器62执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序63在所述电子设备6中的执行过程。例如,所述计算机程序63可以被分割成图3中的访问模块401、脚本获取模块402、计算模块403、更新模块404、执行镜像生成模块405及测试模块406,各模块具体功能参见实施例二。
本实施方式中,所述电子设备6与所述性能测试管理平台10可以是同一装置。例如,所述电子设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,所述示意图仅仅是电子设备6的示例,并不构成对电子设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备6还可以包括输入输出设备、网络接入设备、总线等。
所称处理器62可以是中央处理模块(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器62也可以是任何常规的处理器等,所述处理器62是所述电子设备6的控制中心,利用各种接口和线路连接整个电子设备6的各个部分。
所述存储器61可用于存储所述计算机程序63和/或模块/单元,所述处理器62通过运行或执行存储在所述存储器61内的计算机程序和/或模块/单元,以及调用存储在存储器61内的数据,实现所述计电子设备6的各种功能。所述存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备6的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述电子设备6集成的模块/单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应该理解到,所揭露的电子设备和方法,可以通过其它的方式实现。例如,以上所描述的电子设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能模块可以集成在相同处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在相同模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他模块或步骤,单数不排除复数。电子设备权利要求中陈述的多个模块或电子设备也可以由同一个模块或电子设备通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种性能测试方法,其特征在于,所述方法包括:
访问性能测试管理平台的开发调试环境;
从所述开发调试环境中获取测试脚本,其中所述测试脚本中包括设定的执行机的总并发数量及所述执行机的最大并发数量;
根据设定的执行机的总并发数量及所述执行机的最大并发数量计算所述执行机的数量及每台所述执行机待执行的并发数量;
将所述测试脚本中每台所述执行机待执行的并发数量添加到所述测试脚本中以对所述测试脚本进行更新;
根据计算出的执行机的数量及更新后的所述测试脚本生成与所述执行机的数量相同的执行镜像,其中,所述执行镜像为对所述执行机进行测试的指令集,每一执行镜像对应一执行机;及
控制所述执行机按照与所述执行机相对应的执行镜像进行测试。
2.如权利要求1所述的性能测试方法,其特征在于,所述访问性能测试管理平台的开发调试环境包括:
在所述性能测试管理平台中启动Agent控制程序并通过所述Agent控制程序访问所述开发调试环境。
3.如权利要求1所述的性能测试方法,其特征在于,所述根据设定的执行机的总并发数量及所述执行机的最大并发数量计算所述执行机的数量及每台所述执行机待执行的并发数量包括:
按照第一预设公式计算所述执行机的数量,其中所述第一预设公式为b=a/A+(a%A==0?0:1),其中,a为设定的执行机的总并发数量,A为设定的所述执行机的最大并发数量,b为计算得到的执行机的数量;及
按照第二预设公式计算每台所述执行机待执行的并发数量,其中所述第二预设公式为c=a/b+(a%b==0?0:1),其中c为计算得到的每台所述执行机待执行并发数量。
4.如权利要求1所述的性能测试方法,其特征在于,所述测试脚本包括参数文件,所述根据计算出的执行机的数量及更新后的所述测试脚本生成与所述执行机的数量相同的执行镜像包括:
判断所述测试脚本的参数文件是否可以重复执行;
当所述测试脚本中的参数文件可以重复执行时,将所述测试脚本的参数文件复制到每一所述执行镜像中,并将所述测试脚本中的总并发数量根据所述执行机的数量等分,将等分后的总并发数量复制到每一所述执行镜像中;及
当所述测试脚本中的参数文件不可以重复执行时,将所述测试脚本的参数文件量根据所述执行机的数量等分并将等分后的参数文件复制到每一所述执行镜像中,将所述测试脚本中的总并发数量根据所述执行机的数量等分,并将等分后的总并发数量复制到每一所述执行镜像中。
5.如权利要求1所述的性能测试方法,其特征在于,所述方法还包括:校验所述测试脚本。
6.如权利要求5所述的性能测试方法,其特征在于,所述校验所述测试脚本包括:
在所述开发调试环境中填写所述测试脚本的存储路径,按照所述存储路径查找所述测试脚本并对所述测试脚本的文件类型和存在性做校验,及在校验通过后将所述测试脚本保存在所述性能测试管理平台。
7.如权利要求1所述的性能测试方法,其特征在于,所述方法还包括:
将测试结果做统计分析,并将分析结果显示给用户,其中在对所述测试结果做统计分析时可以生成两个维度的统计表,其中,所述统计表的横向维度为所述测试结果的达标性分析维度,所述统计表的纵向维度为历史测试结果的趋势性分析维度。
8.一种性能测试装置,其特征在于,所述装置包括:
访问模块,用于访问性能测试管理平台的开发调试环境;
脚本获取模块,用于从所述开发调试环境中获取测试脚本,其中所述测试脚本中包括设定的执行机的总并发数量及所述执行机的最大并发数量;
计算模块,用于根据设定的执行机的总并发数量及所述执行机的最大并发数量计算所述执行机的数量及每台所述执行机待执行的并发数量;
更新模块,用于将所述测试脚本中每台所述执行机待执行的添加到所述测试脚本中以对所述测试脚本进行更新;
执行镜像生成模块,用于根据计算出的执行机的数量及更新后的所述测试脚本生成与所述执行机的数量相同的执行镜像,其中,所述执行镜像为对所述执行机进行测试的指令集,每一执行镜像对应一执行机;及
测试模块,用于控制所述执行机按照与所述执行机相对应的执行镜像进行测试。
9.一种电子设备,其特征在于:所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-7中任一项所述性能测试方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述性能测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910310587.9A CN110309038B (zh) | 2019-04-17 | 2019-04-17 | 性能测试方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910310587.9A CN110309038B (zh) | 2019-04-17 | 2019-04-17 | 性能测试方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110309038A CN110309038A (zh) | 2019-10-08 |
CN110309038B true CN110309038B (zh) | 2023-02-07 |
Family
ID=68074413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910310587.9A Active CN110309038B (zh) | 2019-04-17 | 2019-04-17 | 性能测试方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110309038B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760286A (zh) * | 2016-02-17 | 2016-07-13 | 中国工商银行股份有限公司 | 应用数据库动态性能检测方法及检测装置 |
CN106067043A (zh) * | 2016-06-01 | 2016-11-02 | 重庆中科云丛科技有限公司 | 一种性能测试方法及*** |
CN107341098A (zh) * | 2017-07-13 | 2017-11-10 | 携程旅游信息技术(上海)有限公司 | 软件性能测试方法、平台、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10042709B2 (en) * | 2011-06-06 | 2018-08-07 | International Business Machines Corporation | Rebuild prioritization during a plurality of concurrent data object write operations |
CN109359031B (zh) * | 2018-09-04 | 2023-08-22 | 中国平安人寿保险股份有限公司 | 多设备应用程序测试方法、装置、服务器及存储介质 |
CN109460333A (zh) * | 2018-11-01 | 2019-03-12 | 郑州云海信息技术有限公司 | 一种存储***的功能测试方法、装置及相关设备 |
-
2019
- 2019-04-17 CN CN201910310587.9A patent/CN110309038B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760286A (zh) * | 2016-02-17 | 2016-07-13 | 中国工商银行股份有限公司 | 应用数据库动态性能检测方法及检测装置 |
CN106067043A (zh) * | 2016-06-01 | 2016-11-02 | 重庆中科云丛科技有限公司 | 一种性能测试方法及*** |
CN107341098A (zh) * | 2017-07-13 | 2017-11-10 | 携程旅游信息技术(上海)有限公司 | 软件性能测试方法、平台、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于LoadRunner的一种性能;李怡等;《计算机应用研究》;20091130;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110309038A (zh) | 2019-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7415444B2 (en) | Determining compliance rates for probabilistic requests | |
US8660833B2 (en) | Method, computer program product and apparatus for providing an interactive network simulator | |
CN113127347B (zh) | 一种接口测试方法、装置、设备及可读存储介质 | |
CN108460068B (zh) | 报表导入导出的方法、装置、存储介质及终端 | |
US9824000B1 (en) | Testing calling code dynamically with random error injection based on user-specified configuration | |
CN110737594A (zh) | 自动生成测试用例的数据库标准符合性测试方法及装置 | |
CN108255967B (zh) | 存储过程的调用方法、装置、存储介质及终端 | |
CN113886162A (zh) | 一种计算设备性能测试方法、计算设备及存储介质 | |
CN111459814A (zh) | 自动化测试用例生成方法、装置及电子设备 | |
US11138094B2 (en) | Creation of minimal working examples and environments for troubleshooting code issues | |
CN114764296A (zh) | 机器学习模型训练方法、装置、电子设备及存储介质 | |
CN112052070A (zh) | 应用容器化评估方法、装置、电子设备及存储介质 | |
CN110309038B (zh) | 性能测试方法、装置、电子设备及计算机可读存储介质 | |
CN116860608A (zh) | 一种接口测试方法、装置、计算设备及存储介质 | |
CN109669829A (zh) | 一种基于bmc的诊断调试方法、装置及服务器 | |
CN113220586A (zh) | 一种自动化的接口压力测试执行方法、装置和*** | |
CN111897728B (zh) | 接口调试方法及相关设备 | |
CN112507521A (zh) | 蒸汽发生器数字仿真平台 | |
CN112631949A (zh) | 一种调试方法、装置、计算机设备及存储介质 | |
CN112445711A (zh) | 一种基于Web网页可视化拖拽生成模拟测试场景的测试方法 | |
CN109669668B (zh) | 一种***性能测试中实现模拟交易执行的方法和装置 | |
CN114116244A (zh) | 数据处理的方法、装置及***、电子设备及存储介质 | |
US20180203790A1 (en) | Detection of software errors | |
CN114692382B (zh) | 核电仿真模型开发数据的管理方法、装置及计算机设备 | |
CN112650679B (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 |