CN109165168A - 一种压力测试方法、装置、设备及介质 - Google Patents

一种压力测试方法、装置、设备及介质 Download PDF

Info

Publication number
CN109165168A
CN109165168A CN201811074197.8A CN201811074197A CN109165168A CN 109165168 A CN109165168 A CN 109165168A CN 201811074197 A CN201811074197 A CN 201811074197A CN 109165168 A CN109165168 A CN 109165168A
Authority
CN
China
Prior art keywords
test
request
business
pressure
service request
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
Application number
CN201811074197.8A
Other languages
English (en)
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.)
Hangzhou Yunchuang Sharing Network Technology Co Ltd
Original Assignee
Hangzhou Yunchuang Sharing Network 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 Hangzhou Yunchuang Sharing Network Technology Co Ltd filed Critical Hangzhou Yunchuang Sharing Network Technology Co Ltd
Priority to CN201811074197.8A priority Critical patent/CN109165168A/zh
Publication of CN109165168A publication Critical patent/CN109165168A/zh
Pending legal-status Critical Current

Links

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/3688Test management for test execution, e.g. scheduling of test suites
    • 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/3692Test management for test results analysis

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)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种压力测试方法、装置、设备及介质,该方法的步骤包括:通过线上运行的业务***接收并响应业务请求;其中,业务请求的类型包括真实请求以及测试请求;当判定业务请求的类型为测试请求时,获取测试请求所需的数据资源,并根据业务请求对应的业务执行逻辑对数据资源进行业务处理,生成处理结果;对各处理结果进行统计,并生成压力测试结果。本方法将压力测试的对象定为在线上在正常工作的业务***,相对降低了压力测试所需的人工成本。另外,由于线上运行的业务***中往往存在大量的真实数据资源,避免了反复使用虚拟测试数据,提高了压力测试整体的稳定性。此外,本发明还提供一种压力测试装置、设备及介质,有益效果同上所述。

Description

一种压力测试方法、装置、设备及介质
技术领域
本发明涉及***测试领域,特别是涉及一种压力测试方法、装置、设备及介质。
背景技术
业务***作为在服务器设备中运行的程序,不断为用户提供丰富而强大的功能。随着计算机网络技术的不断发展,网络用户的数量在不断增加,进而网络用户对业务***发起的请求,导致业务***的处理压力逐渐增大,因此业务***自身的工作稳定性是当前本领域所关注的重点。
压力测试是确立***稳定性的一种测试方法,通常在***正常运作范围之外进行,以考察其功能极限和隐患。压力测试从传统的意义来讲是对服务器中运行的业务***不断发起业务请求的施加“压力”的测试,是通过确定一个业务***的瓶颈或者不能响应业务请求的性能点,来获得业务***能提供的最大服务级别的测试。当前的压力测试通常是在线下环境中进行,需要先将业务***配置为与线上工作一致的参数,以此实现线下测试的业务***能够1:1线上工作时的业务***,进而相对确保压力测试的准确性。但是当前的压力测试方法,需要技术人员预先对庞大的业务***进行配置,由于业务***中各个服务间的关系错综复杂,导致技术人员需要花费大量的时间了解整个业务***中服务之间的工作逻辑关系,才能够确定线下配置的业务***在参数上是否与线上工作的业务***一致,因此当前的压力测试方法所需的人工成本较高,并且,由于线下的压力测试中,预先产生的虚拟测试数据的资源量有限,业务***处理测试请求时,往往会反复使用虚拟测试数据,可能会导致业务***整体工作环境的稳定性降低。
由此可见,提供一种压力测试方法,以相对降低所需的人工成本,并相对提高压力测试过程中整体环境的稳定性,是本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种压力测试方法、装置、设备及介质,以相对降低所需的人工成本,并相对提高压力测试过程中整体环境的稳定性。
为解决上述技术问题,本发明提供一种压力测试方法,包括:
通过线上运行的业务***接收并响应业务请求;其中,业务请求的类型包括真实请求以及测试请求;
当判定业务请求的类型为测试请求时,获取测试请求所需的数据资源,并根据业务请求对应的业务执行逻辑对数据资源进行业务处理,生成处理结果;
对各处理结果进行统计,并生成压力测试结果。
优选的,当判定业务请求的类型为测试请求时,获取测试请求所需的数据资源的步骤具体包括:
当业务请求中存在预设的测试标记时,判定业务请求的类型为测试请求;
在存储有虚拟测试数据的目标数据库中获取测试请求所需的数据资源。
优选的,目标数据库的类型包括Mysql、mongoDB以及Redis。
优选的,根据业务请求对应的业务执行逻辑对数据资源进行业务处理具体为:
基于RPC服务传递执行参数的方式,根据业务执行逻辑对数据资源进行业务处理。
优选的,执行参数预先经过字节码增强处理。
优选的,当根据业务请求对应的业务执行逻辑对数据资源进行业务处理时,该方法进一步包括:
当业务执行逻辑执行至调用第三方平台的内容时,根据第三方平台在正常状态下所返回的数据内容,生成相同内容类型的模拟数据内容;
将模拟数据内容作为调用第三方平台的返回结果,以继续执行业务执行逻辑。
优选的,在生成压力测试结果后,该方法进一步包括:
当压力测试结果超过预设结果阈值时,向测试人员进行异常提示。
此外,本发明还提供一种压力测试装置,包括:
线上响应模块,用于通过线上运行的业务***接收并响应业务请求;其中,业务请求的类型包括真实请求以及测试请求;
测试执行模块,用于当判定业务请求的类型为测试请求时,获取测试请求所需的数据资源,并根据业务请求对应的业务执行逻辑对数据资源进行业务处理,生成处理结果;
结果生成模块,用于对各处理结果进行统计,并生成压力测试结果。
此外,本发明还提供一种压力测试设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的压力测试方法的步骤。
此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的压力测试方法的步骤。
本发明所提供的压力测试方法,通过线上运行的业务***在响应由用户发起的真实请求的基础上,也接收并响应压力测试的测试请求,进而当判定业务请求的类型具体为测试请求时,获取测试请求对应需要的数据资源,并依照测试请求相应的业务执行逻辑对数据资源进行业务处理,以生成处理结果,最终通过对处理结果进行统计,获取业务***在响应测试请求时的整体状态,并生成相应的压力测试结果。本方法将压力测试的对象定为在线上在正常工作的业务***,因此无需为了进行压力测试而在线下环境中配置与线上业务***参数一致的业务***,进而避免了技术人员需要花费大量的时间了解整个业务***中服务之间的工作逻辑关系,才能够确定线下配置的业务***在参数上是否与线上工作的业务***一致的情况,相对降低了压力测试所需的人工成本。另外,由于线上运行的业务***中往往存在大量的真实数据资源,因此本方法能够相对增加压力测试能够使用的数据资源的数量,相对避免了因反复使用虚拟测试数据,而导致业务***整体工作环境的稳定性降低的情况,提高了压力测试过程中整体环境的稳定性。此外,本发明还提供一种压力测试装置、设备及介质,有益效果同上所述。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种压力测试方法的流程图;
图2为本发明实施例提供的一种压力测试装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种压力测试方法,以相对降低所需的人工成本,并相对提高压力测试过程中整体环境的稳定性。本发明的另一核心是提供一种压力测试装置、设备及介质。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
实施例一
图1为本发明实施例提供的一种压力测试方法的流程图。请参考图1,压力测试方法的具体步骤包括:
步骤S10:通过线上运行的业务***接收并响应业务请求。
其中,业务请求的类型包括真实请求以及测试请求。
需要说明的是,本步骤中,线上运行的业务***指的是用户所使用的真实网络环境,业务***在线上运行后,用户能够向该业务***发起业务请求。本步骤的重点在于,业务请求不仅限于真实用户所发起的真实请求,还包括因压力测试而产生的测试请求,也就是说,业务***在响应真实请求的基础上也响应测试请求,业务***向用户提供服务与业务***的压力测试同时进行。本步骤中的测试请求可以由预设的压力测试工具发起,并且为了相对保证压力测试的准确性,压力测试工具向业务***发起测试请求的操作应是频繁并且具有一定数量规模的,由于通过压力测试工具向业务***发起测试请求的具体实现细节,是本领域技术人员所知的内容,故在此不做赘述,另外,本步骤中的业务***可以具体是电商***、企业管理***等,在此不做具体的限定。
步骤S11:当判定业务请求的类型为测试请求时,获取测试请求所需的数据资源,并根据业务请求对应的业务执行逻辑对数据资源进行业务处理,生成处理结果。
需要说明的是,本步骤是当判定业务请求是压力测试对应的测试请求时,对测试请求进行响应,并获取测试请求所需要的数据资源,进而根据测试请求执行对数据资源执行相应的业务处理。本步骤中的数据资源可以是业务***中供真实用户使用的真实数据资源,也可以是针对于压力测试而预先生成的虚拟测试数据,具体应根据测试请求的内容而定。另外,本步骤中的业务执行逻辑是业务***实现相应功能时所执行的操作步骤的集合,由于业务***在实现功能时,往往是依次执行各个操作步骤直至业务执行逻辑结束,因此本领域中也称业务执行逻辑为“业务链路”,由于不同的业务执行逻辑中包含的操作步骤不同,并且本申请也并未对业务执行逻辑方面进行相关改进,因此在此不对业务执行逻辑进行逐一列举。另外,本步骤中所生成的处理结果的内容能够体现业务***本身对于测试请求的执行情况,进而能够在后续步骤中根据测试结果统计业务***的压力承受极限。
步骤S12:对各处理结果进行统计,并生成压力测试结果。
本步骤中是对业务***响应并执行各个测试请求所得到的处理结果进行的统计,由于处理结果的内容能够体现业务***本身对于测试请求的执行情况,本步骤的重点仅在于对业务***响应测试请求所生成的处理结果进行统计,以此获悉压力测试结果,而统计过程中具体的操作内容是技术人员进行压力测试时所熟知的,不做赘述。
本发明所提供的压力测试方法,通过线上运行的业务***在响应由用户发起的真实请求的基础上,也接收并响应压力测试的测试请求,进而当判定业务请求的类型具体为测试请求时,获取测试请求对应需要的数据资源,并依照测试请求相应的业务执行逻辑对数据资源进行业务处理,以生成处理结果,最终通过对处理结果进行统计,获取业务***在响应测试请求时的整体状态,并生成相应的压力测试结果。本方法将压力测试的对象定为在线上在正常工作的业务***,因此无需为了进行压力测试而在线下环境中配置与线上业务***参数一致的业务***,进而避免了技术人员需要花费大量的时间了解整个业务***中服务之间的工作逻辑关系,才能够确定线下配置的业务***在参数上是否与线上工作的业务***一致的情况,相对降低了压力测试所需的人工成本。另外,由于线上运行的业务***中往往存在大量的真实数据资源,因此本方法能够相对增加压力测试能够使用的数据资源的数量,相对避免了因反复使用虚拟测试数据,而导致业务***整体工作环境的稳定性降低的情况,提高了压力测试过程中整体环境的稳定性。
实施例二
在上述实施例的基础上,本发明还提供以下一系列优选的实施方式。
作为一种优选的实施方式,当判定业务请求的类型为测试请求时,获取测试请求所需的数据资源的步骤具体包括:
当业务请求中存在预设的测试标记时,判定业务请求的类型为测试请求;
在存储有虚拟测试数据的目标数据库中获取测试请求所需的数据资源。
需要说明的是,在本实施方式中,测试请求与真实请求之间的差别在于测试请求中预先被设置有测试标记,测试标记的具体内容可以根据实际需求而定,可以是压力测试的相关配置参数,也可以是随机生成的ID编号等,在此不做限定。测试请求中的测试标记可以预先由消息中间件进行设置,但此种情况需要在压力测试工具与业务***之间建立有消息中间件(MQ),以使消息中间件能够最先获取到业务请求,进而通过消息中间件根据业务请求的来源判定业务请求的种类是否为测试请求,如果是,则在测试请求中添加测试标记的相关字段。本实施方式根据有无测试标记来判定是否为测试请求更加高效便捷,提高了压力测试整体执行效率。
另外,本实施方式将测试请求获取的数据资源限定为虚拟测试数据,由于本申请中的业务***同时响应真实请求和测试请求,因此在测试请求的整体发起数量少于线下的压力测试,进而通过测试请求仅访问虚拟测试数据时,也不会由于反复调用虚拟测试数据而导致***的不稳定,在此基础上,本实施方式将虚拟测试数据独立存储在目标数据库中,实现了虚拟测试数据与真实数据资源之间的相互隔离,进而达到业务***中的压力测试与真实业务响应相互独立的效果,由于其互不影响,因此分别保证了压力测试与真实业务响应各自的稳定性。
在上述实施方式的基础上,作为一种优选的实施方式,目标数据库的类型包括Mysql、mongoDB以及Redis。
需要说明的是,Mysql是一个高性能且相对简单的数据库,与一些更大型的数据库相比,对于Mysql的设置和管理方面的复杂程度较低。mongoDB数据库采用文档结构的存储方式,用户能够通过mongoDB数据库更加便捷的获取数据,并且支持大容量数据的存储。Redis为内存数据库,因此对于数据的读写操作具有原子性,整体效率更高。用户可以根据整体使用需求选取上述数据库作为目标数据库,也可以综合使用Mysql、mongoDB以及Redis,在此不做具体限定。
此外,作为一种优选的实施方式,根据业务请求对应的业务执行逻辑对数据资源进行业务处理具体为:
基于RPC服务传递执行参数的方式,根据业务执行逻辑对数据资源进行业务处理。
需要说明的是,本实施方式中的执行参数,是业务执行逻辑的各个步骤之间传递的过程参数。RPC(Remote Procedure Call)远程过程调用,是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的服务。RPC能够跨多种开发工具及平台建立通信关系,当已有的业务***提供了RPC接口时,新的子***就能够使用该RPC接口就可以与原有的业务***进行集成使用,由于业务***往往较为庞大,因此各个组成模块之间可能会存在接口不兼容的情况,而本实施方式基于RPC服务传递执行参数的方式,根据业务执行逻辑对数据资源进行业务处理,保证了业务***各个逻辑单元之间的兼容性。
基于RPC服务传递执行参数的方式,通常是通过ThreadLocal(java的一种本地线程对象)进行传递,同时针对多线程和线程池情况下ThreadLocal的传递失效,或只初始化一次的异常情况,可以进一步采用开源的TransmittableThreadLocal(ThreadLocal的一个子类实现)。此外,本实施方式中的RPC服务可以具体为dubbo-RPC服务。
在上述实施方式的基础上,作为一种优选的实施方式,执行参数预先经过字节码增强处理。
需要说明的是,字节码增强指的是在Java字节码生成之后,对其进行修改,增强其功能,这种方式相当于对应用程序的二进制文件进行修改。本实施方式对执行参数进行字节码增强,主要是为了减少冗余代码,提高执行参数的使用性能。
此外,作为一种优选的实施方式,当根据业务请求对应的业务执行逻辑对数据资源进行业务处理时,该方法进一步包括:
当业务执行逻辑执行至调用第三方平台的内容时,根据第三方平台在正常状态下所返回的数据内容,生成相同内容类型的模拟数据内容;
将模拟数据内容作为调用第三方平台的返回结果,以继续执行业务执行逻辑。
考虑到在业务执行逻辑中可能包含有对第三方平台的访问或调用的相关操作内容,但是由于是压力测试并非真实使用第三方平台,因此无需真正调用第三方平台,本实施方式根据第三方平台在正常状态下所返回的数据内容,生成相同内容类型的模拟数据内容,并作为第三方平台的返回结果以继续执行业务执行逻辑,相当于模拟进行了对第三方平台的调用,目的是确保后续业务执行逻辑的顺利执行。
此外,作为一种优选的实施方式,在生成压力测试结果后,该方法进一步包括:
当压力测试结果超过预设结果阈值时,向测试人员进行异常提示。
可以理解的是,当压力测试结果超过预设结果阈值时,向测试人员进行异常提示,能够使测试人员更加迅速的得知压力测试出现异常情况,进而提高异常情况出现时的处理效率。
实施例三
在上文中对于压力测试方法的实施例进行了详细的描述,本发明还提供一种与该方法对应的压力测试装置,由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图2为本发明实施例提供的一种压力测试装置的结构图。本发明实施例提供的压力测试装置,包括:
线上响应模块10,用于通过线上运行的业务***接收并响应业务请求;其中,业务请求的类型包括真实请求以及测试请求。
测试执行模块11,用于当判定业务请求的类型为测试请求时,获取测试请求所需的数据资源,并根据业务请求对应的业务执行逻辑对数据资源进行业务处理,生成处理结果。
结果生成模块12,用于对各处理结果进行统计,并生成压力测试结果。
本发明所提供的压力测试装置,通过线上运行的业务***在响应由用户发起的真实请求的基础上,也接收并响应压力测试的测试请求,进而当判定业务请求的类型具体为测试请求时,获取测试请求对应需要的数据资源,并依照测试请求相应的业务执行逻辑对数据资源进行业务处理,以生成处理结果,最终通过对处理结果进行统计,获取业务***在响应测试请求时的整体状态,并生成相应的压力测试结果。本装置将压力测试的对象定为在线上在正常工作的业务***,因此无需为了进行压力测试而在线下环境中配置与线上业务***参数一致的业务***,进而避免了技术人员需要花费大量的时间了解整个业务***中服务之间的工作逻辑关系,才能够确定线下配置的业务***在参数上是否与线上工作的业务***一致的情况,相对降低了压力测试所需的人工成本。另外,由于线上运行的业务***中往往存在大量的真实数据资源,因此本装置能够相对增加压力测试能够使用的数据资源的数量,相对避免了因反复使用虚拟测试数据,而导致业务***整体工作环境的稳定性降低的情况,提高了压力测试过程中整体环境的稳定性。
实施例四
本发明还提供一种压力测试设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的压力测试方法的步骤。
本发明所提供的压力测试设备,通过线上运行的业务***在响应由用户发起的真实请求的基础上,也接收并响应压力测试的测试请求,进而当判定业务请求的类型具体为测试请求时,获取测试请求对应需要的数据资源,并依照测试请求相应的业务执行逻辑对数据资源进行业务处理,以生成处理结果,最终通过对处理结果进行统计,获取业务***在响应测试请求时的整体状态,并生成相应的压力测试结果。本设备将压力测试的对象定为在线上在正常工作的业务***,因此无需为了进行压力测试而在线下环境中配置与线上业务***参数一致的业务***,进而避免了技术人员需要花费大量的时间了解整个业务***中服务之间的工作逻辑关系,才能够确定线下配置的业务***在参数上是否与线上工作的业务***一致的情况,相对降低了压力测试所需的人工成本。另外,由于线上运行的业务***中往往存在大量的真实数据资源,因此本设备能够相对增加压力测试能够使用的数据资源的数量,相对避免了因反复使用虚拟测试数据,而导致业务***整体工作环境的稳定性降低的情况,提高了压力测试过程中整体环境的稳定性。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的压力测试方法的步骤。
本发明所提供的计算机可读存储介质,通过线上运行的业务***在响应由用户发起的真实请求的基础上,也接收并响应压力测试的测试请求,进而当判定业务请求的类型具体为测试请求时,获取测试请求对应需要的数据资源,并依照测试请求相应的业务执行逻辑对数据资源进行业务处理,以生成处理结果,最终通过对处理结果进行统计,获取业务***在响应测试请求时的整体状态,并生成相应的压力测试结果。本计算机可读存储介质将压力测试的对象定为在线上在正常工作的业务***,因此无需为了进行压力测试而在线下环境中配置与线上业务***参数一致的业务***,进而避免了技术人员需要花费大量的时间了解整个业务***中服务之间的工作逻辑关系,才能够确定线下配置的业务***在参数上是否与线上工作的业务***一致的情况,相对降低了压力测试所需的人工成本。另外,由于线上运行的业务***中往往存在大量的真实数据资源,因此本计算机可读存储介质能够相对增加压力测试能够使用的数据资源的数量,相对避免了因反复使用虚拟测试数据,而导致业务***整体工作环境的稳定性降低的情况,提高了压力测试过程中整体环境的稳定性。
以上对本发明所提供的一种压力测试方法、装置、设备及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种压力测试方法,其特征在于,包括:
通过线上运行的业务***接收并响应业务请求;其中,所述业务请求的类型包括真实请求以及测试请求;
当判定所述业务请求的类型为所述测试请求时,获取所述测试请求所需的数据资源,并根据所述业务请求对应的业务执行逻辑对所述数据资源进行业务处理,生成处理结果;
对各所述处理结果进行统计,并生成压力测试结果。
2.根据权利要求1所述的方法,其特征在于,所述当判定所述业务请求的类型为所述测试请求时,获取所述测试请求所需的数据资源的步骤具体包括:
当所述业务请求中存在预设的测试标记时,判定所述业务请求的类型为所述测试请求;
在存储有虚拟测试数据的目标数据库中获取所述测试请求所需的所述数据资源。
3.根据权利要求2所述的方法,其特征在于,所述目标数据库的类型包括Mysql、mongoDB以及Redis。
4.根据权利要求1所述的方法,其特征在于,所述根据所述业务请求对应的业务执行逻辑对所述数据资源进行业务处理具体为:
基于RPC服务传递执行参数的方式,根据所述业务执行逻辑对所述数据资源进行业务处理。
5.根据权利要求4所述的方法,其特征在于,所述执行参数预先经过字节码增强处理。
6.根据权利要求1所述的方法,其特征在于,当所述根据所述业务请求对应的业务执行逻辑对所述数据资源进行业务处理时,该方法进一步包括:
当所述业务执行逻辑执行至调用第三方平台的内容时,根据所述第三方平台在正常状态下所返回的数据内容,生成相同内容类型的模拟数据内容;
将所述模拟数据内容作为调用所述第三方平台的返回结果,以继续执行所述业务执行逻辑。
7.根据权利要求1-6任意一项所述的方法,其特征在于,在所述生成压力测试结果后,该方法进一步包括:
当所述压力测试结果超过预设结果阈值时,向测试人员进行异常提示。
8.一种压力测试装置,其特征在于,包括:
线上响应模块,用于通过线上运行的业务***接收并响应业务请求;其中,所述业务请求的类型包括真实请求以及测试请求;
测试执行模块,用于当判定所述业务请求的类型为所述测试请求时,获取所述测试请求所需的数据资源,并根据所述业务请求对应的业务执行逻辑对所述数据资源进行业务处理,生成处理结果;
结果生成模块,用于对各所述处理结果进行统计,并生成压力测试结果。
9.一种压力测试设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的压力测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的压力测试方法的步骤。
CN201811074197.8A 2018-09-14 2018-09-14 一种压力测试方法、装置、设备及介质 Pending CN109165168A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811074197.8A CN109165168A (zh) 2018-09-14 2018-09-14 一种压力测试方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811074197.8A CN109165168A (zh) 2018-09-14 2018-09-14 一种压力测试方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN109165168A true CN109165168A (zh) 2019-01-08

Family

ID=64879466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811074197.8A Pending CN109165168A (zh) 2018-09-14 2018-09-14 一种压力测试方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN109165168A (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871320A (zh) * 2019-01-21 2019-06-11 上海德启信息科技有限公司 一种数据处理方法、装置、应用服务器及存储介质
CN109976921A (zh) * 2019-02-25 2019-07-05 青岛迅隆信息科技有限责任公司 Rpc服务或消息的指定消费方法及装置、可存储介质和终端
CN110413594A (zh) * 2019-06-25 2019-11-05 苏州浪潮智能科技有限公司 一种Redis多实例压力测试方法和装置
CN110474820A (zh) * 2019-07-17 2019-11-19 阿里巴巴集团控股有限公司 流量回放方法、装置、电子设备
CN110597722A (zh) * 2019-09-17 2019-12-20 深圳市及响科技有限公司 一种在线开发平台的在线调试方法
CN110750584A (zh) * 2019-09-18 2020-02-04 苏宁云计算有限公司 数据管理方法和***
CN110782211A (zh) * 2019-10-25 2020-02-11 上海燕汐软件信息科技有限公司 一种数据处理方法、装置、电子设备及存储介质
CN111190784A (zh) * 2019-12-25 2020-05-22 中国建设银行股份有限公司 适用于生产***的容量压测方法、***、装置及存储介质
CN111309570A (zh) * 2019-11-19 2020-06-19 天津网之易创新科技有限公司 压力测试方法、介质、装置和计算设备
CN111309576A (zh) * 2020-02-18 2020-06-19 北京达佳互联信息技术有限公司 一种压力测试方法和装置
CN111464383A (zh) * 2020-03-30 2020-07-28 中国建设银行股份有限公司 基于生产环境的***容量测试方法及装置
CN111488291A (zh) * 2020-06-24 2020-08-04 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、***
CN111756594A (zh) * 2019-03-29 2020-10-09 上海哔哩哔哩科技有限公司 压力测试的控制方法、计算机设备和计算机可读存储介质
CN112486838A (zh) * 2020-12-14 2021-03-12 广州品唯软件有限公司 接口测试方法、装置、计算机设备和存储介质
CN112882883A (zh) * 2021-02-25 2021-06-01 中国工商银行股份有限公司 停机测试方法和装置、电子设备和计算机可读存储介质
CN112910724A (zh) * 2020-06-24 2021-06-04 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、***
CN113434384A (zh) * 2020-03-23 2021-09-24 北京京东振世信息技术有限公司 一种压力测试方法和装置
WO2021259131A1 (zh) * 2020-06-24 2021-12-30 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、***
CN114205273A (zh) * 2020-08-26 2022-03-18 腾讯科技(深圳)有限公司 ***测试方法、装置和设备及计算机存储介质
CN116775313A (zh) * 2023-08-18 2023-09-19 浪潮(山东)计算机科技有限公司 一种资源分配方法、装置、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150238A (zh) * 2011-12-07 2013-06-12 阿里巴巴集团控股有限公司 一种服务请求处理方法、模拟性能测试方法及装置
CN106528400A (zh) * 2016-09-22 2017-03-22 深圳峰创智诚科技有限公司 Mock测试方法和装置
CN106649117A (zh) * 2016-12-27 2017-05-10 广州唯品会信息科技有限公司 软件压力测试用数据提供方法及***
CN106708818A (zh) * 2015-07-17 2017-05-24 阿里巴巴集团控股有限公司 一种压力测试方法和***
US20180060220A1 (en) * 2016-08-23 2018-03-01 Linkedin Corporation Fixture plugin for product automation
CN108268372A (zh) * 2017-07-24 2018-07-10 深圳壹账通智能科技有限公司 Mock测试处理方法、装置、存储介质和计算机设备
CN108345535A (zh) * 2017-12-26 2018-07-31 阿里巴巴集团控股有限公司 mock测试方法、装置及设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150238A (zh) * 2011-12-07 2013-06-12 阿里巴巴集团控股有限公司 一种服务请求处理方法、模拟性能测试方法及装置
CN106708818A (zh) * 2015-07-17 2017-05-24 阿里巴巴集团控股有限公司 一种压力测试方法和***
US20180060220A1 (en) * 2016-08-23 2018-03-01 Linkedin Corporation Fixture plugin for product automation
CN106528400A (zh) * 2016-09-22 2017-03-22 深圳峰创智诚科技有限公司 Mock测试方法和装置
CN106649117A (zh) * 2016-12-27 2017-05-10 广州唯品会信息科技有限公司 软件压力测试用数据提供方法及***
CN108268372A (zh) * 2017-07-24 2018-07-10 深圳壹账通智能科技有限公司 Mock测试处理方法、装置、存储介质和计算机设备
CN108345535A (zh) * 2017-12-26 2018-07-31 阿里巴巴集团控股有限公司 mock测试方法、装置及设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
国家税务总局教材编写组编: "《全国税务***干部教育培训系列教材 信息技术 中级》", 31 March 2016, 中国税务出版社 *
左刚: "基于JUnit框架的接口测试***研究与实现", 《万方数据知识服务平台》 *
郑天民: "《向技术管理者转型 软件开发人员跨越行业、技术、管理的转型思维与实践》", 31 October 2017, 九州出版社 *

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871320A (zh) * 2019-01-21 2019-06-11 上海德启信息科技有限公司 一种数据处理方法、装置、应用服务器及存储介质
CN109976921A (zh) * 2019-02-25 2019-07-05 青岛迅隆信息科技有限责任公司 Rpc服务或消息的指定消费方法及装置、可存储介质和终端
CN111756594B (zh) * 2019-03-29 2022-04-15 上海哔哩哔哩科技有限公司 压力测试的控制方法、计算机设备和计算机可读存储介质
CN111756594A (zh) * 2019-03-29 2020-10-09 上海哔哩哔哩科技有限公司 压力测试的控制方法、计算机设备和计算机可读存储介质
CN110413594A (zh) * 2019-06-25 2019-11-05 苏州浪潮智能科技有限公司 一种Redis多实例压力测试方法和装置
CN110474820B (zh) * 2019-07-17 2023-10-10 创新先进技术有限公司 流量回放方法、装置、电子设备
CN110474820A (zh) * 2019-07-17 2019-11-19 阿里巴巴集团控股有限公司 流量回放方法、装置、电子设备
CN110597722A (zh) * 2019-09-17 2019-12-20 深圳市及响科技有限公司 一种在线开发平台的在线调试方法
CN110750584A (zh) * 2019-09-18 2020-02-04 苏宁云计算有限公司 数据管理方法和***
CN110782211A (zh) * 2019-10-25 2020-02-11 上海燕汐软件信息科技有限公司 一种数据处理方法、装置、电子设备及存储介质
CN111309570A (zh) * 2019-11-19 2020-06-19 天津网之易创新科技有限公司 压力测试方法、介质、装置和计算设备
CN111190784A (zh) * 2019-12-25 2020-05-22 中国建设银行股份有限公司 适用于生产***的容量压测方法、***、装置及存储介质
CN111309576A (zh) * 2020-02-18 2020-06-19 北京达佳互联信息技术有限公司 一种压力测试方法和装置
CN113434384B (zh) * 2020-03-23 2023-09-22 北京京东振世信息技术有限公司 一种压力测试方法和装置
CN113434384A (zh) * 2020-03-23 2021-09-24 北京京东振世信息技术有限公司 一种压力测试方法和装置
CN111464383A (zh) * 2020-03-30 2020-07-28 中国建设银行股份有限公司 基于生产环境的***容量测试方法及装置
CN112910724B (zh) * 2020-06-24 2022-08-09 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、***
WO2021259131A1 (zh) * 2020-06-24 2021-12-30 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、***
WO2021259149A1 (zh) * 2020-06-24 2021-12-30 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、***
CN112910724A (zh) * 2020-06-24 2021-06-04 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、***
CN111488291A (zh) * 2020-06-24 2020-08-04 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、***
CN114205273A (zh) * 2020-08-26 2022-03-18 腾讯科技(深圳)有限公司 ***测试方法、装置和设备及计算机存储介质
CN114205273B (zh) * 2020-08-26 2023-09-15 腾讯科技(深圳)有限公司 ***测试方法、装置和设备及计算机存储介质
CN112486838A (zh) * 2020-12-14 2021-03-12 广州品唯软件有限公司 接口测试方法、装置、计算机设备和存储介质
CN112882883A (zh) * 2021-02-25 2021-06-01 中国工商银行股份有限公司 停机测试方法和装置、电子设备和计算机可读存储介质
CN112882883B (zh) * 2021-02-25 2024-06-21 中国工商银行股份有限公司 停机测试方法和装置、电子设备和计算机可读存储介质
CN116775313A (zh) * 2023-08-18 2023-09-19 浪潮(山东)计算机科技有限公司 一种资源分配方法、装置、设备及介质
CN116775313B (zh) * 2023-08-18 2023-12-08 浪潮(山东)计算机科技有限公司 一种资源分配方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN109165168A (zh) 一种压力测试方法、装置、设备及介质
US10515000B2 (en) Systems and methods for performance testing cloud applications from multiple different geographic locations
US10116534B2 (en) Systems and methods for WebSphere MQ performance metrics analysis
EP3964963A1 (en) Method and apparatus for performing a stress test on a business system
CN101882105A (zh) 一种测试Web网页并发环境下响应时间的方法
AU2018271267B2 (en) Robotic regression testing for smart devices
CN105099801B (zh) 信息管理***的测试***和测试环境模拟方法
US11550682B2 (en) Synthetic system fault generation
CN111045911A (zh) 性能测试方法、性能测试装置、存储介质与电子设备
CN113127356A (zh) 压测方法、装置、电子设备及存储介质
CN114968828B (zh) 用于优化算法的性能测试方法、平台、设备及存储介质
CN106095688A (zh) 一种软件性能测试方法及装置
CN110147315A (zh) 并发性能测试方法、装置、计算机设备及存储介质
CN107220165A (zh) 一种模拟线上压力测试的方法和装置
CN110473101A (zh) 模拟交易所的报文处理方法及装置
CN110377519A (zh) 大数据***的性能容量测试方法、装置、设备及存储介质
US11601347B2 (en) Identification of incident required resolution time
CN117539754A (zh) 压力测试方法、装置、存储介质及电子设备
CN111949493A (zh) 一种基于推理应用的边缘ai服务器功耗测试方法及装置
CN112231210A (zh) 网络功能虚拟化环境下的测试方法、设备及存储介质
Kumar et al. Paradigm shift from conventional software quality models to web based quality models
CN105703964A (zh) 一种在线应用***测试方法与设备
CN115952098A (zh) 一种性能测试调优方案推荐方法及***
CN116257226A (zh) 数据校验方法、装置、电子设备及存储介质
CN103019927B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190108