CN110704312A - 压力测试的方法、装置、计算机设备和存储介质 - Google Patents

压力测试的方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110704312A
CN110704312A CN201910911771.9A CN201910911771A CN110704312A CN 110704312 A CN110704312 A CN 110704312A CN 201910911771 A CN201910911771 A CN 201910911771A CN 110704312 A CN110704312 A CN 110704312A
Authority
CN
China
Prior art keywords
test
pressure
pressure test
frame
testing
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
Application number
CN201910911771.9A
Other languages
English (en)
Other versions
CN110704312B (zh
Inventor
王右右
沈若川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dasou Vehicle Software Technology Co Ltd
Original Assignee
Zhejiang Dasou Vehicle Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Dasou Vehicle Software Technology Co Ltd filed Critical Zhejiang Dasou Vehicle Software Technology Co Ltd
Priority to CN201910911771.9A priority Critical patent/CN110704312B/zh
Publication of CN110704312A publication Critical patent/CN110704312A/zh
Application granted granted Critical
Publication of CN110704312B publication Critical patent/CN110704312B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Measuring Fluid Pressure (AREA)

Abstract

本申请涉及软件测试技术领域,特别涉及一种压力测试的方法、装置、计算机设备和存储介质。所述方法包括:获取压力测试对应的关键字,根据关键字生成对应的测试脚本;获取测试脚本的地址,将地址发送至目标测试框架,供目标测试框架根据地址与测试脚本建立连接,并从测试脚本中获取关键字;接收目标测试框架发送的与关键字对应的参数,根据参数构建压力测试框架对应的压力测试模板;将压力测试模板传输到压力测试框架的执行器中执行压力测试任务。采用本方法能够让目标测试框架进行压力测试。

Description

压力测试的方法、装置、计算机设备和存储介质
技术领域
本申请涉及软件测试技术领域,特别是涉及一种压力测试的方法、装置、计算机设备和存储介质。
背景技术
随着IT技术的发展,各种各样新的软件的系统、数据也越来越复杂,并且对于新的软件,我们期望得到其功能和性能的确切数据,功能测试可以确保软件可以正常运行,而性能测试则保证了软件在极端的条件下也能正常的运行,因此要开发一款优秀的软件,性能测试必不可少。
然而,目前的Robot Framework测试框架,只能对软件进行接口测试,并不能对软件进行性能测试,并且也没有得到其他压力测试的框架支持。
发明内容
基于此,有必要针对上述技术问题,提供一种能够让目标测试框架进行压力测试的方法、装置、计算机设备和存储介质。
一种压力测试的方法,所述方法包括:
获取压力测试对应的关键字,根据所述关键字生成对应的测试脚本;
获取所述测试脚本的地址,将所述地址发送至目标测试框架,供所述目标测试框架根据所述地址与所述测试脚本建立连接,并从测试脚本中获取所述关键字;
接收所述目标测试框架发送的与所述关键字对应的参数,根据所述参数构建压力测试框架对应的压力测试模板;
将所述压力测试模板传输到所述压力测试框架的执行器中执行压力测试任务。
本实施例通过压力测试框的执行器执行压力测试任务,使得目标测试框架能够通过执行器以及压力测试模板完成压力测试任务,进行压力测试。
在其中一个实施例中,所述方法还包括:
检测所述目标测试框架接收到的所述压力测试任务的数量是否大于预设数量;
当所述压力测试任务的任务数量大于预设数量时,将所述目标测试框架接收到的所述压力测试任务对应的数据进行打包,并将打包后的数组文件发送至所述压力测试框架的执行器,供所述压力测试框架的执行器并行对所述压力测试任务进行压力测试。
本实施例中,服务器通过检测压力测试任务数量是否超过预设,当超过时对多个压力测试任务进行打包成数组并行处理,节省了任务处理时间。
在其中一个实施例中,所述将打包后的数组文件发送至所述压力测试框架的执行器之后,还包括:
获取所述压力测试任务对应的监控终端;
获取所述压力测试框架的执行器执行压力测试后的压力测试结果数据,并根据所述压力测试结果数据生成压力测试报告;
将所述压力测试报告发送至所述监控终端。
本实施例中,服务器获取压力测试任务的监控对象,根据压力测试结果数据生成报告发送至监控终端,供监控终端根据压力测试报告对压力测试的对象进行改进。
在其中一个实施例中,所述方法还包括:
获取线程池中历史压力测试线程的名称,对所述历史压力测试线程的名称进行递增后得到当前压力测试线程的名称,根据所述当前压力测试线程的名称对所述压力测试模板命名。
本实施例中,服务器通过递增规则得到各不相同的压力测试模板名称,防止压力测试模板的名称相同而导致压力测试任务出错。
在其中一个实施例中,所述方法还包括:
获取压力测试框架的断言函数;
所述根据所述参数构建压力测试框架对应的压力测试模板之后,还包括:当所述压力测试模板包含所述断言函数时,根据所述断言函数进行断言操作;
所述断言操作成功时,向所述目标测试框架反馈成功信息;
所述断言操作失败时,向所述目标测试框架反馈失败信息。
本实施例中,服务器通过压力测试模板中的断言函数进行断言操作,判断压力测试任务运行过程中是否出现失误,并将断言结果反馈至目标测试框架,方便目标测试框架得到压力测试任务的断言结果。
一种压力测试的装置,所述装置包括:
第一获取模块,用于获取压力测试对应的关键字,根据所述关键字生成对应的测试脚本;
第二获取模块,用于获取所述测试脚本的地址,将所述地址发送至目标测试框架,供所述目标测试框架根据所述地址与所述测试脚本建立连接,并从测试脚本中获取所述关键字;
接收模块,用于接收所述目标测试框架发送的与所述关键字对应的参数,根据所述参数构建压力测试框架对应的压力测试模板;
传输模块,用于将所述压力测试模板传输到所述压力测试框架的执行器中执行压力测试任务。
在其中一个实施例中,所述装置还包括:
检测模块,用于检测所述目标测试框架所接收到的所述压力测试任务的数量是否大于预设数量;
打包模块,用于当所述压力测试任务的任务数量大于预设数量时,将所述目标测试框架所接收到的所述压力测试任务对应的数据进行打包,并将打包后的数组文件发送至所述压力测试框架的执行器,供所述压力测试框架的执行器根据所述压力测试模板并行对所述压力测试任务进行压力测试。
在其中一个实施例中,所述装置还包括:
命名模块,用于获取线程池中历史压力测试线程的名称,对所述历史压力测试线程的名称进行递增后得到当前压力测试线程的名称,根据所述当前压力测试线程的名称对所述压力测试模板命名。
在其中一个实施例中,所述装置还包括:
第三获取模块,用于获取所述压力测试任务对应的监控终端;
生成模块,用于获取所述压力测试框架的执行器执行压力测试后的压力测试结果数据,并根据所述压力测试结果数据生成压力测试报告;
发送模块,用于将所述压力测试报告发送至所述监控终端。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
上述压力测试的调整方法、装置、计算机设备和存储介质,为了让不能进行压力测试的目标测试框架完成压力测试的任务,获取压力测试对应的关键字,并根据关键字生成对应的测试脚本;获取测试脚本的地址,将地址发送至目标测试框架,使目标测试框架根据地址与测试脚本建立连接,以从测试脚本中获取关键字,接收目标测试框架根据关键字发送的对应参数,根据参数构建压力测试框架对应的压力测试模板;将压力测试模板传输到压力测试框架的执行器中执行压力测试任务。通过关键字与参数构建压力测试模板,并通过压力测试框的执行器执行压力测试任务,使得原本不能进行压力测试的目标测试框架能够通过执行器以及压力测试模板完成压力测试任务,进行压力测试。
附图说明
图1为一个实施例中压力测试的方法的应用场景图;
图2为一个实施例中压力测试的方法的流程示意图;
图3为一个实施例中反馈压力测试结果的步骤的流程示意图;
图4为一个实施例中压力测试的装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的压力测试的方法,可以应用于如图1所示的应用环境中。其中,目标测试框架102、测试脚本104、压力测试框架106通过网络与服务器108进行通信。服务器108获取压力测试对应的关键字,并根据关键字生成对应的测试脚本104;获取测试脚本104的地址,将地址发送至目标测试框架102,使目标测试框架102根据地址与测试脚本104建立连接,以从测试脚本104中获取关键字,接收目标测试框架102根据关键字发送的对应参数,根据参数构建压力测试框架106对应的压力测试模板;将压力测试模板传输到压力测试框架106的执行器中执行压力测试任务。其中,目标测试框架102、测试脚本104、压力测试框架106可以但不限于Python语言编写成的程序文件或框架,服务器108可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种压力测试的方法,以该方法应用于图1中的服务器108为例进行说明,包括以下步骤:
步骤202,获取压力测试对应的关键字,根据关键字生成对应的测试脚本。
具体地,关键字可以为压力测试框架中关于压力测试的规则的关键字,服务器直接从压力测试框架中获取相关的关键字,可以包括但不限于Path、HTTP方法、header、body等关键字,测试脚本可以为由Python语言、Java语言等编程语言编写的脚本文件,不仅是测试脚本,目标测试框架、压力测试框架也都可以由Python语言编写,方便信息的传输,服务器在获取目标测试框架的关于压力测试的关键字后,根据关键字编写对应的测试脚本。
步骤204,获取测试脚本的地址,将地址发送至目标测试框架,供目标测试框架根据地址与测试脚本建立连接,并从测试脚本中获取关键字。
具体地,目标测试框架为不能独立完成压力测试任务的框架,比如RobotFramework测试框架,服务器在编写完测试脚本后,获取到测试脚本的地址,并将获取到的测试脚本的地址发送至目标测试框架,目标测试框架在接收到测试脚本的地址后,能够根据地址与测试脚本建立连接关系,并根据连接关系从测试脚本中获取压力测试的关键字。
步骤206,接收目标测试框架发送的与关键字对应的参数,根据参数构建压力测试框架对应的压力测试模板。
具体地,对应参数可以为关键字类型对应的具体数值,比如关键字为Path环境变量时,对应参数可以为Path具体的变量值。压力测试框架为能够独立完成压力测试任务的框架,比如Locust性能测试框架,压力测试模板根据关键字的相关参数构成,压力测试模板可以为HttpLocust类。目标测试框架在根据连接关系获取到压力测试的关键字,根据关键字获取目标测试框架中关于关键字的相关参数,比如关键字为HTTP方法时,目标测试框架则根据HTTP方法获取目标测试框架中关于HTTP方法的相关参数,然后根据相关的参数构建对应的压力测试模板。
步骤208,将压力测试模板传输到压力测试框架的执行器中执行压力测试任务。
具体地,在构建得到压力测试模板后,服务器将压力测试模板传输到压力测试框架的执行器,比如压力测试框架为Locust性能测试框时,执行器可以为LocustRunner,LocustRunner是整个Locust性能测试框运行的核心代码,目标测试框架后续在接收到压力测试任务后,可以将任务数据传输到压力测试框架的执行器中,通过压力测试模板完成压力测试任务。
上述压力测试的方法中,服务器获取压力测试对应的关键字,并根据关键字生成对应的测试脚本;获取测试脚本的地址,将地址发送至目标测试框架,使目标测试框架根据地址与测试脚本建立连接,以从测试脚本中获取关键字,接收目标测试框架根据关键字发送的对应参数,根据参数构建压力测试框架对应的压力测试模板;将压力测试模板传输到压力测试框架的执行器中执行压力测试任务。通过关键字与参数构建压力测试模板,并通过压力测试框的执行器执行压力测试任务,使得目标测试框架能够通过执行器以及压力测试模板完成压力测试任务,进行压力测试。
在一个实施例中,压力测试的方法还包括:检测目标测试框架所接收到的压力测试任务的数量是否大于预设数量;当压力测试任务的任务数量大于预设数量时,将目标测试框架所接收到的压力测试任务对应的数据进行打包,并将打包后的数组文件发送至压力测试框架的执行器,供压力测试框架的执行器根据压力测试模板并行对压力测试任务进行压力测试。
具体地,预设数量可以由目标测试框架的用户预先设定,可以设定为1,服务器检测目标测试框架所接收到的压力测试任务数量是否大于预设数量可以为,服务器检测目标测试框架是否收到了多个压力测试任务,当目标测试框架收到多个压力测试任务时,对多个压力测试任务的任务数据进行数据打包,得到打包后的任务数组,并将打包后的数组文件发送至压力测试框架的执行器执行压力测试任务,并且压力测试任务可以并行运行多个压力测试任务,与一个任务接一个任务地执行压力测试任务相比,节省了时间。
本实施例中,服务器通过检测压力测试任务数量是否超过预设,当超过时对多个压力测试任务进行打包成数组并行处理,节省了任务处理时间。
在一个实施例中,如图3所示,压力测试的方法将打包后的数组文件发送至压力测试框架的执行器之后,还包括:
步骤302,获取与压力测试任务对应的监控终端。
具体地,监控终端为向目标测试框架发送压力测试任务的终端,服务器在将打包后的数组文件发送至压力测试框架的执行器之后,根据压力测试任务的接收地址获取对应的监控终端。
步骤304,获取压力测试框架的执行器执行压力测试后的压力测试结果数据,并根据压力测试结果数据生成压力测试报告。
具体地,压力测试结果可以包含压力测试是否合格,也可以包括其他测试结果,比如压力测试对象的改进点、压力测试不合格的原因、出错地址等,在压力测试框架的执行器得到压力测试结果数据后,根据压力测试结果数据生成压力测试报告。
步骤306,将压力测试报告发送至监控终端。
具体地,服务器在得到压力测试报告后,将压力测试报告发送至压力测试任务对应的监控终端,供监控终端根据压力测试报告改进压力测试对象。
上述压力测试的方法中,服务器获取压力测试任务的监控对象,根据压力测试结果数据生成报告发送至监控终端,供监控终端根据压力测试报告对压力测试的对象进行改进。
在一个实施例中,压力测试的方法根据参数构建压力测试框架对应的压力测试模板之后,还可以包括:获取线程池中历史压力测试线程的名称,对历史压力测试线程的名称进行递增后得到当前压力测试线程的名称,根据当前压力测试线程的名称对压力测试模板命名。
具体地,在压力测试框架的执行器在通过压力测试模板执行压力测试任务,必须保证压力测试模板的名称都是各不相同的,当出现相同名称的压力测试模板时,压力测试任务将无法执行,压力测试框架也会报错,为了防止上述情况产生,服务器获取线程池(task池)中历史压力测试线程的名称,然后对历史压力测试线程的名称进行递增得到当前压力测试线程的名称,对历史名称进行递增可以保证压力测试模板名称的唯一性,其中,递增规则可以由用户自行设定,只需要保证递增规则不会使压力测试模板名称出现重复即可。
本实施例中,服务器通过递增规则得到各不相同的压力测试模板名称,防止压力测试模板的名称相同而导致压力测试任务出错。
在一个实施例中,压力测试的方法还包括:获取压力测试框架的断言函数;根据参数构建压力测试框架对应的压力测试模板之后,还包括:当压力测试模板包含断言函数时,根据断言函数进行断言操作;断言操作成功时,向目标测试框架反馈成功信息;断言操作失败时,向目标测试框架反馈失败信息。
具体地,断言函数用于检测压力测试模板的执行压力测试任务时是否能达到预期的效果,是否会出现出错,属于压力测试框架中挂载的函数,服务器获取压力测试框架中的挂载的断言函数,根据断言函数判断压力测试模板中是否包含原本的压力测试框架中挂载的断言函数,当压力测试模板中包含断言函数时,说明压力测试框架在根据关键字对应的参数构建模板时,需要对后续的压力测试任务进行断言操作,在构建模板时加入挂载的断言函数,则可以根据断言函数进行压力测试任务的断言操作,当断言操作成功时,说明任务并没有出错,向目标测试框架反馈压力测试任务成功的信息,当断言操作失败时,说明任务在运行过程中出错,则向目标测试框架反馈压力测试任务失败的信息。
本实施例中,服务器通过压力测试模板中的断言函数进行断言操作,判断压力测试任务运行过程中是否出现失误,并将断言结果反馈至目标测试框架,方便目标测试框架得到压力测试任务的断言结果。
在一个实施例中,上述压力测试的方法,服务器可以获取Locust性能测试框架的压力测试关键字,然后根据关键字生成对应的Python脚本,获取Python脚本的地址,将Python脚本的地址发送到Robot Framework测试框架,方便Robot Framework测试框架与Python脚本建立交互,并根据交互获取关键字,Robot Framework测试框架根据关键字获取框架中与关键字对应的参数,然后服务器根据参数构建压力测试模板,将压力测试模板发送到LocustRunner,执行压力测试任务,这样能够使得原本不能进行压力测试的RobotFramework测试框架能够通过执行器以及压力测试模板完成压力测试任务,进行压力测试。
在一个实施例中,上述压力测试方法,在Robot Framework测试框架与Locust性能测试框架建立桥接框架后,当Robot Framework测试框架接收到软件压力测试任务后,Robot Framework测试框架从测试脚本中获取待测试软件的服务地址,并根据服务地址获取待测试软件的参数,通过Robot Framework测试框架与Locust性能测试框架的桥接框架对软件参数进行测试,得到压力测试结果。
应该理解的是,虽然图2、图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种压力测试的装置,包括:第一获取模块402、第二获取模块404、接收模块406和传输模块408,其中:
第一获取模块402,用于获取压力测试对应的关键字,根据关键字生成对应的测试脚本。
第二获取模块404,用于获取测试脚本的地址,将地址发送至目标测试框架,供目标测试框架根据地址与测试脚本建立连接,并测试脚本中获取关键字。
接收模块406,用于接收目标测试框架发送的与关键字对应的参数,根据参数构建压力测试框架对应的压力测试模板。
传输模块408,用于将压力测试模板传输到压力测试框架的执行器中执行压力测试任务。
在一个实施例中,装置还可以包括:
检测模块,用于检测目标测试框架所接收到的压力测试任务的数量是否大于预设数量。
打包模块,用于当压力测试任务的任务数量大于预设数量时,将目标测试框架所接收到的压力测试任务对应的数据进行打包,并将打包后的数组文件发送至压力测试框架的执行器,供压力测试框架的执行器根据压力测试模板并行对压力测试任务进行压力测试。
在一个实施例中,装置还可以包括:
第三获取模块,用于获取所述压力测试任务对应的监控终端。
生成模块,用于获取所述压力测试框架的执行器执行压力测试后的压力测试结果数据,并根据所述压力测试结果数据生成压力测试报告。
发送模块,用于将所述压力测试报告发送至所述监控终端。
在一个实施例中,装置还可以包括:
命名模块,用于获取线程池中历史压力测试线程的名称,对历史压力测试线程的名称进行递增后得到当前压力测试线程的名称,根据当前压力测试线程的名称对压力测试模板命名。
在一个实施例中,装置还可以包括:
第四获取模块,用于获取压力测试框架的断言函数。
断言模块,用于根据参数构建压力测试框架对应的压力测试模板之后,还包括:当压力测试模板包含断言函数时,根据断言函数进行断言操作;断言操作成功时,向目标测试框架反馈成功信息;断言操作失败时,向目标测试框架反馈失败信息。
关于压力测试的装置的具体限定可以参见上文中对于压力测试的方法的限定,在此不再赘述。上述压力测试的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储压力测试数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种压力测试的方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取压力测试对应的关键字,根据关键字生成对应的测试脚本;获取测试脚本的地址,将地址发送至目标测试框架,供目标测试框架根据地址与测试脚本建立连接,并测试脚本中获取关键字;接收目标测试框架发送的与关键字对应的参数,根据参数构建压力测试框架对应的压力测试模板;将压力测试模板传输到压力测试框架的执行器中执行压力测试任务。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:检测目标测试框架所接收到的压力测试任务的数量是否大于预设数量;当压力测试任务的任务数量大于预设数量时,将目标测试框架所接收到的压力测试任务对应的数据进行打包,并将打包后的数组文件发送至压力测试框架的执行器,供压力测试框架的执行器根据压力测试模板并行对压力测试任务进行压力测试。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取与压力测试任务对应的监控终端;获取压力测试框架的执行器执行压力测试后的压力测试结果数据,并根据压力测试结果数据生成压力测试报告;将压力测试报告发送至监控终端。
在一个实施例中,处理器执行计算机程序时所实现的根据参数构建压力测试框架对应的压力测试模板之后,还可以包括:获取线程池中历史压力测试线程的名称,对历史压力测试线程的名称进行递增后得到当前压力测试线程的名称,根据当前压力测试线程的名称对压力测试模板命名。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取压力测试框架的断言函数;根据参数构建压力测试框架对应的压力测试模板之后,还包括:当压力测试模板包含断言函数时,根据断言函数进行断言操作;断言操作成功时,向目标测试框架反馈成功信息;断言操作失败时,向目标测试框架反馈失败信息。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取压力测试对应的关键字,根据关键字生成对应的测试脚本;获取测试脚本的地址,将地址发送至目标测试框架,供目标测试框架根据地址与测试脚本建立连接,并测试脚本中获取关键字;接收目标测试框架发送的与关键字对应的参数,根据参数构建压力测试框架对应的压力测试模板;将压力测试模板传输到压力测试框架的执行器中执行压力测试任务。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:检测目标测试框架所接收到的压力测试任务的数量是否大于预设数量;当压力测试任务的任务数量大于预设数量时,将目标测试框架所接收到的压力测试任务对应的数据进行打包,并将打包后的数组文件发送至压力测试框架的执行器,供压力测试框架的执行器根据压力测试模板并行对压力测试任务进行压力测试。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取与压力测试任务对应的监控终端;获取压力测试框架的执行器执行压力测试后的压力测试结果数据,并根据压力测试结果数据生成压力测试报告;将压力测试报告发送至监控终端。
在一个实施例中,计算机程序被处理器执行时所实现的根据参数构建压力测试框架对应的压力测试模板之后,还可以包括:获取线程池中历史压力测试线程的名称,对历史压力测试线程的名称进行递增后得到当前压力测试线程的名称,根据当前压力测试线程的名称对压力测试模板命名。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取压力测试框架的断言函数;根据参数构建压力测试框架对应的压力测试模板之后,还包括:当压力测试模板包含断言函数时,根据断言函数进行断言操作;断言操作成功时,向目标测试框架反馈成功信息;断言操作失败时,向目标测试框架反馈失败信息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种压力测试的方法,所述方法包括:
获取压力测试对应的关键字,根据所述关键字生成对应的测试脚本;
获取所述测试脚本的地址,将所述地址发送至目标测试框架,供所述目标测试框架根据所述地址与所述测试脚本建立连接,并从测试脚本中获取所述关键字;
接收所述目标测试框架发送的与所述关键字对应的参数,根据所述参数构建压力测试框架对应的压力测试模板;
将所述压力测试模板传输到所述压力测试框架的执行器中执行压力测试任务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测所述目标测试框架接收到的所述压力测试任务的数量是否大于预设数量;
当所述压力测试任务的任务数量大于预设数量时,将所述目标测试框架接收到的所述压力测试任务对应的数据进行打包,并将打包后的数组文件发送至所述压力测试框架的执行器,供所述压力测试框架的执行器并行对所述压力测试任务进行压力测试。
3.根据权利要求2所述的方法,其特征在于,所述将打包后的数组文件发送至所述压力测试框架的执行器之后,还包括:
获取与所述压力测试任务对应的监控终端;
获取所述压力测试框架的执行器执行压力测试后的压力测试结果数据,并根据所述压力测试结果数据生成压力测试报告;
将所述压力测试报告发送至所述监控终端。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取线程池中历史压力测试线程的名称,对所述历史压力测试线程的名称进行递增后得到当前压力测试线程的名称,根据所述当前压力测试线程的名称对所述压力测试模板命名。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取压力测试框架的断言函数;
所述根据所述参数构建压力测试框架对应的压力测试模板之后,还包括:当所述压力测试模板包含所述断言函数时,根据所述断言函数进行断言操作;
所述断言操作成功时,向所述目标测试框架反馈成功信息;
所述断言操作失败时,向所述目标测试框架反馈失败信息。
6.一种压力测试的装置,其特征在于,所述装置包括:
第一获取模块,用于获取压力测试对应的关键字,根据所述关键字生成对应的测试脚本;
第二获取模块,用于获取所述测试脚本的地址,将所述地址发送至目标测试框架,供所述目标测试框架根据所述地址与所述测试脚本建立连接,并从测试脚本中获取所述关键字;
接收模块,用于接收所述目标测试框架发送的与所述关键字对应的参数,根据所述参数构建压力测试框架对应的压力测试模板;
传输模块,用于将所述压力测试模板传输到所述压力测试框架的执行器中执行压力测试任务。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
检测模块,用于检测所述目标测试框架所接收到的所述压力测试任务的数量是否大于预设数量;
打包模块,用于当所述压力测试任务的任务数量大于预设数量时,将所述目标测试框架所接收到的所述压力测试任务对应的数据进行打包,并将打包后的数组文件发送至所述压力测试框架的执行器,供所述压力测试框架的执行器根据所述压力测试模板并行对所述压力测试任务进行压力测试。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于获取所述压力测试任务对应的监控终端;
生成模块,用于获取所述压力测试框架的执行器执行压力测试后的压力测试结果数据,并根据所述压力测试结果数据生成压力测试报告;
发送模块,用于将所述压力测试报告发送至所述监控终端。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN201910911771.9A 2019-09-25 2019-09-25 压力测试的方法、装置、计算机设备和存储介质 Active CN110704312B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910911771.9A CN110704312B (zh) 2019-09-25 2019-09-25 压力测试的方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910911771.9A CN110704312B (zh) 2019-09-25 2019-09-25 压力测试的方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110704312A true CN110704312A (zh) 2020-01-17
CN110704312B CN110704312B (zh) 2023-09-12

Family

ID=69197594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910911771.9A Active CN110704312B (zh) 2019-09-25 2019-09-25 压力测试的方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110704312B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111444111A (zh) * 2020-04-15 2020-07-24 深圳市万睿智能科技有限公司 基于python的性能测试方法、装置、计算机设备及存储介质
CN111741032A (zh) * 2020-08-26 2020-10-02 杭州数列网络科技有限责任公司 一种数据传输控制方法、装置及系统
CN112363907A (zh) * 2020-09-14 2021-02-12 杭州大搜车汽车服务有限公司 Dubbo接口的测试方法、装置、电子装置和存储介质
CN113609026A (zh) * 2021-08-20 2021-11-05 盐城金堤科技有限公司 对服务器进行压力测试的方法和装置
CN117609101A (zh) * 2024-01-23 2024-02-27 云筑信息科技(成都)有限公司 一种用户大数据多引擎压测的方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090199047A1 (en) * 2008-01-31 2009-08-06 Yahoo! Inc. Executing software performance test jobs in a clustered system
US20130097586A1 (en) * 2011-10-17 2013-04-18 International Business Machines Corporation System and Method For Automating Test Automation
CN103164324A (zh) * 2011-12-09 2013-06-19 腾讯科技(深圳)有限公司 微博测试方法和装置
CN104268082A (zh) * 2014-09-26 2015-01-07 北京国双科技有限公司 浏览器的压力测试方法和装置
CN107797917A (zh) * 2016-12-28 2018-03-13 平安科技(深圳)有限公司 性能测试脚本生成方法及装置
WO2018072095A1 (zh) * 2016-10-18 2018-04-26 深圳市福斯康姆智能科技有限公司 一种压力测试管理方法及系统
US20180217920A1 (en) * 2017-01-31 2018-08-02 Wipro Limited Methods and systems for automating regression testing of a software application
US20180246803A1 (en) * 2017-02-28 2018-08-30 Ca, Inc. Targeted software testing
CN108845950A (zh) * 2018-08-03 2018-11-20 平安科技(深圳)有限公司 测试装置、测试的方法及存储介质
CN109348499A (zh) * 2018-11-30 2019-02-15 北京奇安信科技有限公司 压力测试系统及方法
CN109491891A (zh) * 2018-10-17 2019-03-19 深圳壹账通智能科技有限公司 全自动接口压测方法、装置、计算机设备及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090199047A1 (en) * 2008-01-31 2009-08-06 Yahoo! Inc. Executing software performance test jobs in a clustered system
US20130097586A1 (en) * 2011-10-17 2013-04-18 International Business Machines Corporation System and Method For Automating Test Automation
CN103164324A (zh) * 2011-12-09 2013-06-19 腾讯科技(深圳)有限公司 微博测试方法和装置
CN104268082A (zh) * 2014-09-26 2015-01-07 北京国双科技有限公司 浏览器的压力测试方法和装置
WO2018072095A1 (zh) * 2016-10-18 2018-04-26 深圳市福斯康姆智能科技有限公司 一种压力测试管理方法及系统
CN107797917A (zh) * 2016-12-28 2018-03-13 平安科技(深圳)有限公司 性能测试脚本生成方法及装置
US20180217920A1 (en) * 2017-01-31 2018-08-02 Wipro Limited Methods and systems for automating regression testing of a software application
US20180246803A1 (en) * 2017-02-28 2018-08-30 Ca, Inc. Targeted software testing
CN108845950A (zh) * 2018-08-03 2018-11-20 平安科技(深圳)有限公司 测试装置、测试的方法及存储介质
CN109491891A (zh) * 2018-10-17 2019-03-19 深圳壹账通智能科技有限公司 全自动接口压测方法、装置、计算机设备及存储介质
CN109348499A (zh) * 2018-11-30 2019-02-15 北京奇安信科技有限公司 压力测试系统及方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111444111A (zh) * 2020-04-15 2020-07-24 深圳市万睿智能科技有限公司 基于python的性能测试方法、装置、计算机设备及存储介质
CN111741032A (zh) * 2020-08-26 2020-10-02 杭州数列网络科技有限责任公司 一种数据传输控制方法、装置及系统
CN112363907A (zh) * 2020-09-14 2021-02-12 杭州大搜车汽车服务有限公司 Dubbo接口的测试方法、装置、电子装置和存储介质
CN113609026A (zh) * 2021-08-20 2021-11-05 盐城金堤科技有限公司 对服务器进行压力测试的方法和装置
CN117609101A (zh) * 2024-01-23 2024-02-27 云筑信息科技(成都)有限公司 一种用户大数据多引擎压测的方法
CN117609101B (zh) * 2024-01-23 2024-05-28 云筑信息科技(成都)有限公司 一种用户大数据多引擎压测的方法

Also Published As

Publication number Publication date
CN110704312B (zh) 2023-09-12

Similar Documents

Publication Publication Date Title
CN110704312A (zh) 压力测试的方法、装置、计算机设备和存储介质
CN108710673B (zh) 实现数据库高可用方法、系统、计算机设备和存储介质
CN109669859B (zh) 服务测试方法、装置、计算机设备和存储介质
CN112491659B (zh) 一种流量回放测试方法、装置、计算机设备和存储介质
CN110633160A (zh) 接口调用方法、装置、计算机设备和存储介质
CN109726134B (zh) 接口测试方法和系统
CN108400978B (zh) 漏洞检测方法、装置、计算机设备和存储介质
CN110928653A (zh) 跨集群任务的执行方法、装置、计算机设备和存储介质
CN110377454A (zh) 数据校验方法、装置、计算机设备和存储介质
CN110798376A (zh) 接口测试方法、装置、计算机设备和存储介质
CN112395202B (zh) 接口自动化测试方法、装置、计算机设备和存储介质
CN113986733A (zh) 基于jar包的性能测试方法、装置、设备及存储介质
CN112527357A (zh) 服务热加载更新方法、装置、计算机设备和存储介质
CN111277476B (zh) 网关控制器功能验证方法、装置、计算机设备和存储介质
CN110727509A (zh) 任务调度方法、装置、计算机设备和存储介质
CN111159025B (zh) 应用程序接口测试方法、装置、计算机设备和存储介质
CN114385485A (zh) 接口测试方法、装置、设备及存储介质
CN112540916A (zh) 失败用例自动重跑方法、装置、计算机设备和存储介质
CN111782447A (zh) 基于ssh服务的批量测试更新方法、装置和计算机设备
CN114579473B (zh) 应用测试方法、装置、设备及存储介质
CN110633213A (zh) 单元测试方法、装置、计算机设备和存储介质
CN115576810A (zh) 一种实时告警的自动化测试方法、系统、介质及计算装置
CN112559248B (zh) 预处理服务恢复方法、装置、设备及存储介质
CN113868127A (zh) 在线调试方法、装置、计算机设备和存储介质
CN112486838A (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