CN116860585A - 冲量测试方法、冲量测试设备以及可读存储介质 - Google Patents
冲量测试方法、冲量测试设备以及可读存储介质 Download PDFInfo
- Publication number
- CN116860585A CN116860585A CN202310909038.XA CN202310909038A CN116860585A CN 116860585 A CN116860585 A CN 116860585A CN 202310909038 A CN202310909038 A CN 202310909038A CN 116860585 A CN116860585 A CN 116860585A
- Authority
- CN
- China
- Prior art keywords
- impulse
- test
- determining
- preset
- interval threshold
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 315
- 238000000034 method Methods 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 29
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000011056 performance test Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/3409—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 for performance assessment
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- 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/3409—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 for performance assessment
- G06F11/3419—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 for performance assessment by assessing time
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
本发明涉及性能测试技术领域,尤其涉及一种冲量测试方法、冲量测试设备以及可读存储介质。通过确定当前时刻与上一次冲量测试的结束时刻之间的时间间隔;若所述时间间隔大于或者等于预设间隔阈值时,确定当前冲量测试对应的应用场景;调用与所述应用场景关联的测试案例,以测试所述应用场景对应的API接口;并发执行所述测试案例,对所述应用场景进行冲量测试,确定QPS值;根据所述QPS值与预设QPS阈值的数值关系,确定所述冲量测试的结果。实现了全流程场景冲量测试,以及对***在高并发下的性能评估,进而确定***的承载能力和稳定性。
Description
技术领域
本发明涉及性能测试技术领域,尤其涉及一种冲量测试方法、冲量测试设备以及可读存储介质。
背景技术
目前常用的***冲量测试工具主要有两种,Apache JMeter和Robot Framework,其中,Apache JMeter是一种压力测试工具,可以针对单个接口对软件做压力测试;RobotFramework是一种自动化测试框架,可以对单个接口进行自动化测试。
在相关的全流程冲量测试方案中,常用的***冲量测试工具由于只能针对单个接口进行性能测试,无法构建完整的业务流程,进而无法对多个接口进行性能测试,所以常用的***冲量测试工具存在无法实现全流程场景冲量测试的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种冲量测试方法,旨在解决常用的***冲量测试工具无法实现全流程场景冲量测试的问题。
为实现上述目的,本发明提供的一种冲量测试方法,所述冲量测试方法包括以下步骤:
确定当前时刻与上一次冲量测试的结束时刻之间的时间间隔;
若所述时间间隔大于或者等于预设间隔阈值时,确定当前冲量测试对应的应用场景;
调用与所述应用场景关联的测试案例,以测试所述应用场景对应的API接口;
并发执行所述测试案例,对所述应用场景进行冲量测试,确定QPS值;
根据所述QPS值与预设QPS阈值的数值关系,确定所述冲量测试的结果。
可选地,所述调用与所述应用场景关联的测试案例,以测试所述应用场景对应的API接口的步骤包括:
确定与所述预设间隔阈值对应的目标冲量任务;
根据所述目标冲量任务,确定要调用的测试案例的数量;
调用所述数量的所述测试案例。
可选地,所述并发执行所述测试案例,对所述应用场景进行冲量测试,确定QPS值的步骤包括:
根据所述目标冲量任务,确定所述测试案例的执行次数;
根据所述执行次数,循环并发执行所述测试案例。
可选地,所述并发执行所述测试案例,对所述应用场景进行冲量测试,确定QPS值的步骤包括:
记录所述数量的测试案例每次并发执行的起始时间和结束时间;
根据所述起始时间和所述结束时间,确定每次并发执行所述数量的测试案例的运行时长;
根据所述运行时长确定所述QPS值。
可选地,所述根据所述QPS值与预设QPS阈值的数值关系,确定所述冲量测试的结果的步骤包括:
当所述QPS值等于或者大于预设QPS阈值时,确定待测***符合预设的高并发要求;否则,
确定所述待测***不符合预设的高并发要求。
可选地,所述预设间隔阈值包括第一间隔阈值和第二间隔阈值,所述确定与所述预设间隔阈值对应的目标冲量任务的步骤包括:
若所述预设间隔阈值为第一间隔阈值,所述目标冲量任务为调用第一数量的所述测试案例,并将每一所述测试案例并发执行第一预设次数;
若所述预设间隔阈值为第二间隔阈值,所述目标冲量任务为调用第二数量的所述测试案例,并将每一所述测试案例并发执行第二预设次数。
可选地,所述预设间隔阈值包括第一间隔阈值和第二间隔阈值,所述若所述时间间隔大于或者等于预设间隔阈值时,确定当前冲量测试对应的应用场景的步骤包括:
若所述预设间隔阈值为第一间隔阈值,确定所述应用场景为预设数量的应用场景;
若所述预设间隔阈值为第二间隔阈值,确定所述应用场景为全部应用场景。
可选地,所述并发执行所述测试案例,对所述应用场景进行冲量测试,确定QPS值的步骤之后,还包括:
在对所述应用场景进行冲量测试的过程中,监测所述冲量测试的过程中是否出现报错信息;
若出现报错信息,将所述报错信息发送至前端页面和/或工具控制台和/或日志平台。
此外,为实现上述目的,本发明还提供一种冲量测试设备,所述冲量测试设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的冲量测试程序,所述冲量测试程序被所述处理器执行时实现如上所述的冲量测试方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有冲量测试程序,所述冲量测试程序被处理器执行时实现如上所述的冲量测试方法的步骤。
本发明实施例提供了冲量测试方法、冲量测试设备以及可读存储介质。通过确定当前时刻与上一次冲量测试的结束时刻之间的时间间隔,并根据时间间隔是否大于等于预设间隔阈值,确定是否进行冲量测试;根据当前冲量测试对应的应用场景和关联的API接口,调用相应的测试案例并发执行,对应用场景进行冲量测试,进而确定QPS值;通过对QPS值与预设QPS阈值的数值关系进行比较,确定冲量测试的结果,即目标测试***是否满足预设的高并发要求。实现了全流程场景冲量测试,以及对***在高并发下的性能评估,进而确定***的承载能力和稳定性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例涉及的冲量测试设备的硬件运行环境的架构示意图;
图2为本发明冲量测试方法的第一实施例的流程示意图;
图3为本发明冲量测试方法的第二实施例的流程示意图;
图4为本发明冲量测试方法的第三实施例的流程示意图;
图5为本发明冲量测试方法的第四实施例的流程示意图;
图6为本发明冲量测试方法的第五实施例的流程示意图;
图7为本发明冲量测试方法的第六实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图作进一步说明。
具体实施方式
本申请冲量测试方法,通过确定当前时刻与上一次冲量测试的结束时刻之间的时间间隔;若所述时间间隔大于或者等于预设间隔阈值时,确定当前冲量测试对应的应用场景;调用与所述应用场景关联的测试案例,以测试所述应用场景对应的API接口;并发执行所述测试案例,对所述应用场景进行冲量测试,确定QPS值;根据所述QPS值与预设QPS阈值的数值关系,确定所述冲量测试的结果。实现了全流程场景冲量测试,以及对***在高并发下的性能评估,进而确定***的承载能力和稳定性。
为了更好地理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整地传达给本领域的技术人员。
作为一种实现方案,图1为本发明实施例方案涉及的冲量测试设备的硬件运行环境的架构示意图。
如图1所示,该冲量测试设备可以包括:处理器101,例如中央处理器(CentralProcessing Unit,CPU),存储器102,通信总线103。其中,存储器102可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器102可选的还可以是独立于前述处理器101的存储装置。通信总线103用于实现这些组件之间的连接通信。
本领域技术人员可以理解,图1中示出的结构并不构成对冲量测试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器102中可以包括操作***、数据存储模块、网络通信模块、用户接口模块以及冲量测试程序。
在图1所示的冲量测试设备中,处理器101、存储器102可以设置在冲量测试设备中,所述冲量测试设备通过处理器101调用存储器102中存储的冲量测试程序,并执行以下操作:
确定当前时刻与上一次冲量测试的结束时刻之间的时间间隔;
若所述时间间隔大于或者等于预设间隔阈值时,确定当前冲量测试对应的应用场景,其中,所述应用场景由API(Application Programming Interface,应用程序编程接口)接口编排形成;
调用与所述应用场景关联的测试案例,以测试所述应用场景对应的API接口;
并发执行所述测试案例,对所述应用场景进行冲量测试,确定QPS(Queries PerSecond,每秒查询量)值;
根据所述QPS值与预设QPS阈值的数值关系,确定所述冲量测试的结果。
在一实施例中,处理器101可以用于调用存储器102中存储的冲量测试程序,并执行以下操作:
确定与所述预设间隔阈值对应的目标冲量任务;
根据所述目标冲量任务,确定要调用的测试案例的数量;
调用所述数量的所述测试案例。
在一实施例中,处理器101可以用于调用存储器102中存储的冲量测试程序,并执行以下操作:
根据所述目标冲量任务,确定所述测试案例的执行次数;
根据所述执行次数,循环并发执行所述测试案例。
在一实施例中,处理器101可以用于调用存储器102中存储的冲量测试程序,并执行以下操作:
记录所述数量的测试案例每次并发执行的起始时间和结束时间;
根据所述起始时间和所述结束时间,确定每次并发执行所述数量的测试案例的运行时长;
根据所述运行时长确定所述QPS值。
在一实施例中,处理器101可以用于调用存储器102中存储的冲量测试程序,并执行以下操作:
当所述QPS值等于或者大于预设QPS阈值时,确定待测***符合预设的高并发要求;否则,
确定所述待测***不符合预设的高并发要求。
在一实施例中,处理器101可以用于调用存储器102中存储的冲量测试程序,并执行以下操作:
若所述预设间隔阈值为第一间隔阈值,所述目标冲量任务为调用第一数量的所述测试案例,并将每一所述测试案例并发执行第一预设次数;
若所述预设间隔阈值为第二间隔阈值,所述目标冲量任务为调用第二数量的所述测试案例,并将每一所述测试案例并发执行第二预设次数。
在一实施例中,处理器101可以用于调用存储器102中存储的冲量测试程序,并执行以下操作:
若所述预设间隔阈值为第一间隔阈值,确定所述应用场景为预设数量的应用场景;
若所述预设间隔阈值为第二间隔阈值,确定所述应用场景为全部应用场景。
在一实施例中,处理器101可以用于调用存储器102中存储的冲量测试程序,并执行以下操作:
在对所述应用场景进行冲量测试的过程中,监测所述冲量测试的过程中是否出现报错信息;
若出现报错信息,将所述报错信息发送至前端页面和/或工具控制台和/或日志平台。
基于上述门禁***的硬件架构,提出本发明身份验证方法的实施例。
参照图2,在第一实施例中,所述冲量测试方法包括以下步骤:
步骤S100:确定当前时刻与上一次冲量测试的结束时刻之间的时间间隔。
在本实施例中,通过获取***时间的方式,获取当前时刻,以及记录每次冲量测试的结束时刻。可选地,可以采用时间差函数,或者采用比较两个时间戳的差值的方式,计算两个时刻之间的时间间隔。
示例性地,在JAVA中,可以使用Duration.between()函数来获得当前时刻与上一次冲量测试的结束时刻之间的时间间隔;在Python中,采用当前时刻的时间,减去上一次冲量测试的结束时刻的时间的方式,获得当前时刻与上一次冲量测试的结束时刻之间的时间间隔。
在获得当前时刻与上一次冲量测试的结束时刻之间的时间间隔之后,可以通过判断时间间隔与预设间隔阈值之间的关系,以确定是否执行下一步操作,如果时间间隔小于预设间隔阈值,则等待预设时间后再次执行步骤S100。
在本实施例中,冲量测试是一种对***、应用或网络负载能力进行评估的方法。通过模拟大量并发用户或者高负载环境下的实际使用情况,测试***在极限情况下的承载能力、稳定性和可靠性。其目的是模拟实际使用中可能出现的极限负载情况,以确保***在高峰期或负载激增时仍能正常运行。
可选地,冲量测试可以在***上线前进行,以验证***的稳定性和性能是否满足实际使用需求;冲量测试也可以在***运行期间定期进行,以监测***的性能和稳定性,并对***进行持续的优化和改进。
步骤S200:若所述时间间隔大于或者等于预设间隔阈值时,确定当前冲量测试对应的应用场景。
在本实施例中,可以先根据要构建的应用场景,确定构建该应用场景所需的API接口,然后调用这些API接口;然后再根据应用场景的流程,对API进行编排,以构建完整的应用场景。即可以在测试框架中,编排好一组API接口的有序执行序列,用于构建应用场景。这些API接口通过编排组合,形成了各种可能的应用场景,为实现对***进行全流程场景冲量测试提供各种可能得应用场景。
通过这些API接口,可以请求和接收数据,执行操作等。在全流程场景冲量测试中,通过调用与应用场景关联的测试案例来测试API接口的性能和并发能力。
示例性地,在银行***中,应用场景包括但不限于定价单从发起到审批的业务流程、贷款申请流程、***申请流程。当基于API编排构建了相应的场景后,可以进一步地根据各个场景,于预设案例库调用对应的测试案例,来执行对应场景关联的API结构的测试动作。
进一步地,通过设定预设间隔阈值,可以根据实际情况控制冲量测试的频率,以适用***的变化和需求,进而提高了冲量测试的适用性。
由于不同的***具有不同的特性和不同的性能需求,因此,可以通过根据***的实际情况,对预设间隔阈值进行设定,以调整冲量测试的频率。进而提高了冲量测试的适用性,以适用不同***的冲量测试。
示例性地,对云计算平台进程冲量测试,由于云计算平台通常需要处理大量的请求和并发访问,因此对***性能的要求较高。因此,在对云计算平台进程冲量测试时,可以将预设间隔阈值设定为一个较低的值,以模拟***同时面临大量请求和并发访问的情况。
步骤S300:调用与所述应用场景关联的测试案例,以测试所述应用场景对应的API接口。
可选地,可以于预设案例库中,调用与应用场景关联的测试案例。
预设案例库中,针对各个应用场景,预设有多个测试案例,即一个应用场景可以关联多个测试案例。
测试案例是为了测试应用场景对应的API接口在高并发情况下的表现而设计的,因此,可以理解的是,测试案例中的数据,包括测试应用场景所需的数据。
在本实施例中,测试案例包含请求信息和操作信息,其中,请求信息和操作信息覆盖了应用场景中会出现的所有情况和操作方式。
示例性地,以应用场景为贷款申请流程例,其中,贷款申请流程包括,客户向银行申请贷款、银行对申请进行评估、审批,并最终决定是否批准贷款。因此,与该应用场景对应的一测试案例中的数据可以包括,客户信息,贷款请求信息,贷款申请表数据、相关证明材料数据、银行对申请进行评估的标准、对申请进行审批的数据,以及确定审批结果的数据。
需要说明的是,高并发是指待测***在特定时间内同时执行多个测试案例的能力。当待测***面对大量用户同时访问或者大量任务同时触发时,如果待测***能够快速且有效地响应这些请求或者处理这些任务,就称之为高并发。
步骤S400:并发执行所述测试案例,对所述应用场景进行冲量测试,确定QPS值。
在本实施例中,按照应用场景定义的规则和流程,将测试案例的数据依次输入至应用场景中,以执行测试案例。
在本实施例中,并发执行是指同时执行多个测试案例,以模拟高并发情况。
在本实施例中,QPS值是指每秒钟处理的测试案例的数量,可以反映待测***在高并发情况下的处理能力。
步骤S500:根据所述QPS值与预设QPS阈值的数值关系,确定所述冲量测试的结果。
在本实施例中,将冲量测试得到的QPS值与预设的QPS阈值进行比较,并根据比较结果的不同,确定冲量测试的结果。其中,比较结果可以包括,冲量测试得到的QPS值大于预设的QPS阈值,冲量测试得到的QPS值等于预设的QPS阈值,冲量测试得到的QPS值小于预设的QPS阈值。
示例性地,假设对一个银行***需要进行冲量测试,以评估其在高并发情况下的性能和稳定性。通过获取***时间的方式,获取当前时刻,以及记录上一次冲量测试的结束时刻,并采用时间差函数确定当前时刻与上一次冲量测试的结束时刻之间的时间间隔;得到时间间隔为2秒,等于预设间隔阈值2秒,确定当前冲量测试对应的应用场景为贷款申请流程。调用与贷款申请流程关联的1000个测试案例,以测试贷款申请流程对应的API接口。并发执行这1000个测试案例,模拟多个用户同时进行贷款请求和操作,对贷款申请流程进行冲量测试,确定QPS值。通过统计每秒钟执行的测试案例的数量,得到QPS值为120。将冲量测试得到的QPS值120与预设的QPS阈值100进行比较,可以确定冲量测试得到的QPS值大于预设的QPS值,进而确定该银行***的贷款申请流程满足高并发的要求。
在本实施例提供的技术方案中,通过确定当前时刻与上一次冲量测试的结束时刻之间的时间间隔;若所述时间间隔大于或者等于预设间隔阈值时,确定当前冲量测试对应的应用场景;调用与所述应用场景关联的测试案例,以测试所述应用场景对应的API接口;并发执行所述测试案例,对所述应用场景进行冲量测试,确定QPS值;根据所述QPS值与预设QPS阈值的数值关系,确定所述冲量测试的结果。即通过确定应用场景和编排API接口,实现通过多个接口构建完整的业务流程,并进行性能测试。相比传统的***冲量测试工具只能进行单个接口的性能测试,本申请能够更全面地评估***在实际业务场景下的性能表现。
进一步地,基于上述实施例,在一实施例中,所述根据所述QPS值与预设QPS阈值的数值关系,确定所述冲量测试的结果的步骤包括:
步骤S510:当所述QPS值等于或者大于预设QPS阈值时,确定待测***符合预设的高并发要求;否则,
步骤S520:确定所述待测***不符合预设的高并发要求。
在本实施例提供的技术方案中,通过将冲量测试获得的QPS值与预设的QPS阈值进行比较,判断待测***是否满足高并发要求;当QPS值等于或大于预设QPS阈值时,待测***在高并发情况下能够处理足够数量的请求,可以确定待测***符合预设的高并发要求,否则确定待测***不符合预设的高并发要求,即待测***在当前负载下可能会出现***崩溃的情况。
参照图3,基于上述实施例,在第二实施例中,所述调用与所述应用场景关联的测试案例,以测试所述应用场景对应的API接口的步骤包括:
步骤S310:确定与所述预设间隔阈值对应的目标冲量任务;
步骤S320:根据所述目标冲量任务,确定要调用的测试案例的数量;
步骤S330:调用所述数量的所述测试案例。
在本实施例中,根据预设间隔阈值,确定要执行的目标冲量任务。可选地,不同的预设间隔阈值对应不同的目标冲量任务。
可选地,不同的目标冲量任务所调用的测试案例的数量不同。
在本实施例中,根据确定的测试案例的数量,调用对应数量的测试案例进行执行。需要说明的是,测试案例与应用场景相关联,用于测试应用场景对应的API接口。
可选地,在一实施例中,调用对应数量的测试案例的步骤包括,获取预设案例库,并于所述预设案例库中调用对应数量的测试案例。
在本实施例提供的技术方案中,通过确定与所述预设间隔阈值对应的目标冲量任务;根据所述目标冲量任务,确定要调用的测试案例的数量;调用所述数量的所述测试案例。通过确定对应的测试案例数量,并以该数量的测试案例进行冲量测试,进而模拟真实的高并发环境,实现特定应用场景的测试。
进一步地,基于上述实施例,在一实施例中,所述并发执行所述测试案例,对所述应用场景进行冲量测试,确定QPS值的步骤包括:
步骤S410:根据所述目标冲量任务,确定所述测试案例的执行次数;
步骤S420:根据所述执行次数,循环并发执行所述测试案例。
在本实施例中,目标冲量任务中,要求了并发执行测试案例的执行次数。因此,可以通过目标冲量任务,确定测试案例的执行次数。
根据确定的测试案例执行次数,进行循环并发执行测试案例。进而模拟出多个用户或者请求同时对待测***进行操作的情况,以测试待测***在并发场景下的响应能力和稳定性。
在本实施例提供的技术方案中,通过根据所述目标冲量任务,确定所述测试案例的执行次数;根据所述执行次数,循环并发执行所述测试案例。实现了对实际并发场景的模拟,以评估***在高并发情况下的性能和稳定性。
参照图4,基于上述实施例,在第三实施例中,所述并发执行所述测试案例,对所述应用场景进行冲量测试,确定QPS值的步骤包括:
步骤S430:记录所述数量的测试案例每次并发执行的起始时间和结束时间;
步骤S440:根据所述起始时间和所述结束时间,确定每次并发执行所述数量的测试案例的运行时长;
步骤S450:根据所述运行时长确定所述QPS值。
在本实施例中,通过记录所述数量的测试案例每次并发执行的起始时间和结束时间,以确定每次并发执行所述数量的测试案例的运行时长,进而实现对一定数量的测试案例并发执行所需时间的准确测量,从而更好地评估待测***的相应时间和性能。
在本实施例中,通过计算每次并发执行的运行时长和并发执行的测试案例的数量,获得待测***每秒所能并发执行的待测案例的数量,进而计算出待测***的QPS值。
具体地,可以通过将每次并发执行的测试案例的数量除以运行时长,得到每秒的请求数量,即QPS值。
在本实施例提供的技术方案中,通过记录所述数量的测试案例每次并发执行的起始时间和结束时间;根据所述起始时间和所述结束时间,确定每次并发执行所述数量的测试案例的运行时长;根据所述运行时长确定所述QPS值。可以提高对待测***的性能和响应时间进行评估和衡量的精度和可靠性。
参照图5,基于上述实施例,在第四实施例中,所述预设间隔阈值包括第一间隔阈值和第二间隔阈值,所述确定与所述预设间隔阈值对应的目标冲量任务的步骤包括:
步骤S311:若所述预设间隔阈值为第一间隔阈值,所述目标冲量任务为调用第一数量的所述测试案例,并将每一所述测试案例并发执行第一预设次数;
步骤S312:若所述预设间隔阈值为第二间隔阈值,所述目标冲量任务为调用第二数量的所述测试案例,并将每一所述测试案例并发执行第二预设次数。
在本实施例中,预设间隔阈值包括第一间隔阈值和第二间隔阈值。可选地,第一间隔阈值为2秒,第二间隔阈值为2小时。
在本实施例中,当前时刻与上一次冲量测试的结束时刻之间的时间间隔,若大于或者等于第一间隔阈值,确定目标冲量任务为调用第一数量的测试案例,并将每一测试案例并发执行第一预设次数;若大于或者等于第二间隔阈值,确定目标冲量任务为调用第二数量的测试案例,并将每一测试案例并发执行第二预设次数。可选地,第一数量为100,第一预设次数为1次;第二数量为预设案例库中所有的与应用场景对应的测试案例的数量,第二预设次数为100次。
可选地,第一数量、第二数量、第一预设次数以及第二预设次数可以根据具体的需求和情况进行调整,以适应不同情况下的冲量测试的需求。
示例性地,假设第一数量为100,第一预设次数为1次;第二数量为预设案例库中所有的与应用场景对应的测试案例的数量,第二预设次数为100次。在当前时刻与上一次冲量测试的结束时刻之间的时间间隔为2秒时,于预设案例库中调用100个测试案例,并发执行一次,进行冲量测试;在当前时刻与上一次冲量测试的结束时刻之间的时间间隔为2小时的时候,调用预设案例库中所有的与应用场景对应的测试案例,循环并发执行100次,进行冲量测试。
在本实施例提供的技术方案中,通过当前时刻与上一次冲量测试的结束时刻之间的时间间隔与不同预设间隔阈值的数量关系,确定不同的目标冲量任务,调用不同数量的测试案例,对测试案例进行不同次数的循环并发执行操作。实现了对不同性能或者不同要求的***进行冲量测试,提高了冲量测试的适用性,并且可以获得更准确的冲量测试结果。
参照图6,基于上述实施例,在第五实施例中,所述预设间隔阈值包括第一间隔阈值和第二间隔阈值,所述若所述时间间隔大于或者等于预设间隔阈值时,确定当前冲量测试对应的应用场景的步骤包括:
步骤S210:若所述预设间隔阈值为第一间隔阈值,确定所述应用场景为预设数量的应用场景;
步骤S220:若所述预设间隔阈值为第二间隔阈值,确定所述应用场景为全部应用场景。
在本实施例中,预设间隔阈值包括第一间隔阈值和第二间隔阈值。可选地,第一间隔阈值为2秒,第二间隔阈值为2小时。
在本实施例中,当前时刻与上一次冲量测试的结束时刻之间的时间间隔,若大于或者等于第一间隔阈值,确定应用场景为预设数量的应用场景;若预设间隔阈值为第二间隔阈值,确定应用场景为全部应用场景。可选地,预设数量可以根据具体的需求和情况进行调整,以适应不同情况下的冲量测试的需求。可选地,预设数量可以是1个。
在本实施例提供的技术方案中,通过根据当前时刻与上一次冲量测试的结束时刻之间的时间间隔,与不同预设间隔阈值的数量关系,确定当前冲量测试的目标应用场景的数量为预设数量或者全部应用场景。可以实现根据具体需求和情况调整冲量测试的参数,进而获得更准确和全面的冲量测试结果。
参照图7,基于上述实施例,在第六实施例中,所述并发执行所述测试案例,对所述应用场景进行冲量测试,确定QPS值的步骤之后,还包括:
步骤S600:在对所述应用场景进行冲量测试的过程中,监测所述冲量测试的过程中是否出现报错信息;
步骤S700:若出现报错信息,将所述报错信息发送至前端页面和/或工具控制台和/或日志平台。
在本实施例中,在对应用场景进行冲量测试的过程中,通过错误检测的逻辑或者监控工具,监测是否出现报错信息。可选地,通过try-catch语句来捕捉冲量测试过程中的异常信息,并将异常信息记录下来。需要说明的是,try-catch语句是一种在程序中用于处理异常情况的结构。
在本实施例中,通过发送报错信息至前端页面,使得测试人员或***管理员能够及时了解到冲量测试的错误情况并进行相应的处理;通过发送报错信息至工具控制台,方便开发人员或运维人员查看和分析冲量测试过程中的错误信息,以便进行问题排查和修复;通过发送报错信息至日志平台,将冲量测试过程中的错误信息记录下来,以供后续分析和改进冲量测试方法。
在本实施例提供的技术方案中,通过在对所述应用场景进行冲量测试的过程中,监测所述冲量测试的过程中是否出现报错信息;若出现报错信息,将所述报错信息发送至前端页面和/或工具控制台和/或日志平台。可以在并发执行测试案例的同时,监测冲量测试过程中出现的错误信息,并报告该错误信息,进而可以及时发现并解决冲量测试过程中的错误信息。
此外,本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可以存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被冲量测试设备中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有冲量测试程序,所述冲量测试程序被处理器执行时实现如上实施例所述的冲量测试方法的各个步骤。
其中,所述计算机可读存储介质可以是U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
需要说明的是,由于本申请实施例提供的存储介质,为实施本申请实施例的方法所采用的存储介质,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该存储介质的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的存储介质都属于本申请所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种冲量测试方法,其特征在于,所述冲量测试方法包括:
确定当前时刻与上一次冲量测试的结束时刻之间的时间间隔;
若所述时间间隔大于或者等于预设间隔阈值时,确定当前冲量测试对应的应用场景;
调用与所述应用场景关联的测试案例,以测试所述应用场景对应的API接口;
并发执行所述测试案例,对所述应用场景进行冲量测试,确定QPS值;
根据所述QPS值与预设QPS阈值的数值关系,确定所述冲量测试的结果。
2.如权利要求1所述的冲量测试方法,其特征在于,所述调用与所述应用场景关联的测试案例,以测试所述应用场景对应的API接口的步骤包括:
确定与所述预设间隔阈值对应的目标冲量任务;
根据所述目标冲量任务,确定要调用的测试案例的数量;
调用所述数量的所述测试案例。
3.如权利要求2所述的冲量测试方法,其特征在于,所述并发执行所述测试案例,对所述应用场景进行冲量测试,确定QPS值的步骤包括:
根据所述目标冲量任务,确定所述测试案例的执行次数;
根据所述执行次数,循环并发执行所述测试案例。
4.如权利要求3所述的冲量测试方法,其特征在于,所述并发执行所述测试案例,对所述应用场景进行冲量测试,确定QPS值的步骤包括:
记录所述数量的测试案例每次并发执行的起始时间和结束时间;
根据所述起始时间和所述结束时间,确定每次并发执行所述数量的测试案例的运行时长;
根据所述运行时长确定所述QPS值。
5.如权利要求1所述的冲量测试方法,其特征在于,所述根据所述QPS值与预设QPS阈值的数值关系,确定所述冲量测试的结果的步骤包括:
当所述QPS值等于或者大于预设QPS阈值时,确定待测***符合预设的高并发要求;否则,
确定所述待测***不符合预设的高并发要求。
6.如权利要求3所述的冲量测试方法,其特征在于,所述预设间隔阈值包括第一间隔阈值和第二间隔阈值,所述确定与所述预设间隔阈值对应的目标冲量任务的步骤包括:
若所述预设间隔阈值为第一间隔阈值,所述目标冲量任务为调用第一数量的所述测试案例,并将每一所述测试案例并发执行第一预设次数;
若所述预设间隔阈值为第二间隔阈值,所述目标冲量任务为调用第二数量的所述测试案例,并将每一所述测试案例并发执行第二预设次数。
7.如权利要求1所述的冲量测试方法,其特征在于,所述预设间隔阈值包括第一间隔阈值和第二间隔阈值,所述若所述时间间隔大于或者等于预设间隔阈值时,确定当前冲量测试对应的应用场景的步骤包括:
若所述预设间隔阈值为第一间隔阈值,确定所述应用场景为预设数量的应用场景;
若所述预设间隔阈值为第二间隔阈值,确定所述应用场景为全部应用场景。
8.如权利要求1所述的冲量测试方法,其特征在于,所述并发执行所述测试案例,对所述应用场景进行冲量测试,确定QPS值的步骤之后,还包括:
在对所述应用场景进行冲量测试的过程中,监测所述冲量测试的过程中是否出现报错信息;
若出现报错信息,将所述报错信息发送至前端页面和/或工具控制台和/或日志平台。
9.一种冲量测试设备,其特征在于,所述冲量测试设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的冲量测试程序,所述冲量测试程序配置为实现如权利要求1至8中任一项所述的冲量测试方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有冲量测试程序,所述冲量测试程序被处理器执行时实现如权利要求1至8任一项所述的冲量测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310909038.XA CN116860585A (zh) | 2023-07-21 | 2023-07-21 | 冲量测试方法、冲量测试设备以及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310909038.XA CN116860585A (zh) | 2023-07-21 | 2023-07-21 | 冲量测试方法、冲量测试设备以及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116860585A true CN116860585A (zh) | 2023-10-10 |
Family
ID=88230362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310909038.XA Pending CN116860585A (zh) | 2023-07-21 | 2023-07-21 | 冲量测试方法、冲量测试设备以及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116860585A (zh) |
-
2023
- 2023-07-21 CN CN202310909038.XA patent/CN116860585A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110618924B (zh) | 一种web应用***的链路压力测试方法 | |
US20100115496A1 (en) | Filter generation for load testing managed environments | |
CN109359003B (zh) | 游戏服务器压力测试方法、装置及设备 | |
CN113010389A (zh) | 一种训练方法、故障预测方法、相关装置及设备 | |
CN106487603A (zh) | 一种响应测试方法及装置 | |
CN110188036A (zh) | 一种软件测试方法及装置 | |
CN111124911A (zh) | 一种自动化测试方法、装置、设备及可读存储介质 | |
CN112948262A (zh) | 一种***测试方法、装置、计算机设备和存储介质 | |
CN113535538A (zh) | 应用全链路自动化测试方法、装置、电子设备和存储介质 | |
CN114741284B (zh) | 任务可靠性评估方法、装置、计算机设备和存储介质 | |
CN116860585A (zh) | 冲量测试方法、冲量测试设备以及可读存储介质 | |
CN107402883B (zh) | 一种数据测试处理方法和装置 | |
CN115203025A (zh) | 一种测试缺陷分析方法及装置 | |
CN113986753A (zh) | 接口测试方法、装置、设备及存储介质 | |
EP2159697B1 (en) | Method for evaluating a production rule for a memory management analysis | |
CN113791980A (zh) | 测试用例的转化分析方法、装置、设备及存储介质 | |
CN113656314A (zh) | 压力测试处理方法及装置 | |
CN112015648A (zh) | 基于自动化脚本的测试方法、装置、计算机设备和介质 | |
CN110096430B (zh) | 第三方sdk准入测试方法、装置、终端及存储介质 | |
CN113742226B (zh) | 一种软件性能测试方法、装置、介质及电子设备 | |
JP2018113028A (ja) | Itインフラストラクチャにおいて実行されるアプリケーションのバッチ処理を監視するための方法およびシステム | |
US20220197945A1 (en) | Computer-implemented method for analyzing a transaction log | |
CN114490361A (zh) | 测试脚本质量获取方法、装置、计算机设备和存储介质 | |
CN115344477A (zh) | 划分代码的代码测试方法、装置、计算机设备及存储介质 | |
CN114816990A (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 |