CN117271335A - 一种测试方法及装置 - Google Patents
一种测试方法及装置 Download PDFInfo
- Publication number
- CN117271335A CN117271335A CN202311233564.5A CN202311233564A CN117271335A CN 117271335 A CN117271335 A CN 117271335A CN 202311233564 A CN202311233564 A CN 202311233564A CN 117271335 A CN117271335 A CN 117271335A
- Authority
- CN
- China
- Prior art keywords
- test
- platform
- tested
- data
- requests
- 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
- 238000010998 test method Methods 0.000 title claims description 10
- 238000012360 testing method Methods 0.000 claims abstract description 290
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 19
- 230000015654 memory Effects 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 12
- 230000000903 blocking effect Effects 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 claims description 6
- 238000013522 software testing Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000013515 script Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 238000009662 stress testing Methods 0.000 description 1
- 238000006467 substitution reaction 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/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
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
技术领域
本申请涉及计算机软件测试领域,尤其涉及一种测试方法及装置。
背景技术
伴随着大型网络应用快速发展,各个网络应用的用户数呈指数级增长,主流网络应用的日访问量都已达亿万级别。面对如此海量的并发访问,若要保证原有实时、流畅的网络应用体验,需保证网络应用的服务器的并发请求能力。
为了保证网络应用的服务器具有较高的并发请求能力,需要对网络应用的服务器进行压力测试,以及时了解网络应用的服务器的抗压负载能力。
发明内容
本申请提供一种测试方法及装置,能够稳定地对待测试平台进行压力测试。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种测试方法,该方法包括:获取目标业务场景对应的测试用例,测试用例用于模拟用户设备并发通过待测试平台执行目标业务场景下的业务操作;根据测试用例,生成多个测试请求,测试请求用于指示待测平台执行业务目标业务场景下的业务操作;创建线程组,向待测试平台并发多个测试请求;接收待测平台的测试结果,测试结果包括待测试平台在处理多个测试请求时的测试指标。
基于上述技术方案,测试平台可以获取目标业务场景对应的测试用例,根据测试用例,生成多个测试请求,创建线程组,向待测试平台并发多个测试请求,接收来自待测试平台的测试结果。由于测试用例是基于目标业务场景生成的,目标业务场景可以包括多个不同的业务场景,不同的业务场景对应的测试指标不同,因此,对于待测试平台,可以编写不同的业务场景对应的测试用例,使得测试平台测试待测试平台的测试目标更丰富。此外,线程组为向待测试平台并发多个测试请求时的共享线程组,可以通过线程组包括的较少线程并发大量的测试请求,节省测试平台的内存资源,使得并发大量的测试请求的压力测试更加稳定。
一种可能的实现方式,获取目标业务场景对应的测试用例,该方法包括:根据目标业务场景,获取测试数据,测试数据为在目标业务场景下,待测试平台包括的数据;扫描测试数据,得到执行数据,执行数据包括待测试平台的接口数据、功能数据和/或属性数据;根据执行数据,获取目标业务场景对应的测试用例,测试用例包括输入数据和预期结果。
一种可能的实现方式,创建线程组,向待测试平台并发多个测试请求,该方法包括:基于异步输入输出IO非阻塞技术,创建线程组,线程组包括多个线程,多个线程的数量与测试平台的中央处理器CPU的线程数量相同;通过多个线程,向待测试平台并发多个测试请求。
一种可能的实现方式,线程组中添加有取样器、监听器和断言,取样器用于向待测试平台并发多个测试请求,监听器用于接收来自待测平台的测试结果,断言用于判断多个测试请求的响应结果是否是预期输出结果。
一种可能的实现方式,该方法还包括:配置测试平台的多个测试参数,多个测试参数包括多个测试请求的数量、多个线程的数量和多个线程的启动延迟时间。
第二方面,本申请提供一种测试装置,该装置包括获取模块、处理模块和收发模块;获取模块,用于获取目标业务场景对应的测试用例,测试用例用于模拟用户设备并发通过待测试平台执行目标业务场景下的业务操作;处理模块,用于根据测试用例,生成多个测试请求,测试请求用于指示待测平台执行业务目标业务场景下的业务操作;收发模块,用于创建线程组,向待测试平台并发多个测试请求;收发模块,还用于接收待测平台的测试结果,测试结果包括待测试平台在处理多个测试请求时的测试指标。
第三方面,本申请提供了一种测试装置,该装置包括处理器,该处理器与存储器耦合,该处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的测试方法。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在终端上运行时,使得计算机执行如第一方面和第一方面的任一种可能的实现方式中描述的测试方法。
第五方面,本申请实施例提供一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面和第一方面的任一种可能的实现方式中所描述的测试方法。
第六方面,本申请实施例提供一种芯片,芯片包括处理器,该处理器与存储器耦合,该处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的测试方法。
其中,第二方面至第六方面中任一种可能的实现方式所带来的技术效果可参见上述第一方面或第一方面中不同可能的实现方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的测试系统的示意图;
图2为本申请实施例提供的一种测试方法的流程图;
图3为本申请实施例提供的一种测试装置的结构示意图;
图4为本申请实施例提供的另一种测试装置的结构示意图;
图5为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
下面结合附图对本申请实施例提供的测试方法及装置进行详细地描述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
下面以图1所示测试系统10为例,对本申请实施例提供的方法进行描述。
如图1所示,为本申请实施例提供的测试系统10的架构示意图。图1中,测试系统10可以包括测试平台101、待测试平台102。可选的,测试系统还包括代理网关103和代理服务器104。
本申请实施例中的测试平台,例如,测试平台101,可以是任意一种配置有测试工具的计算设备。例如:计算设备为配置有测试工具的服务器。其中,测试工具可以为XRunner、JMeter。
可以理解的,测试工具可适用于压力测试、冒烟测试和分布式并发测试等多种场景,如Java Servlets、GUI Scripts、数据库等。测试工具还适用于模拟在网络端口、服务器或其他资源上模拟不同条件的压力来检验待测试平台压力承受的极限以及分析待测试平台提供服务的总体性能指标。测试工具有图形化的用户操作界面,方便开发与测试人员使用,学习成本较低,且有开放的源代码供人研究。测试工具提供的程序之间的接口(Application Programming Interface,API),具有高度的可扩展性,可以使用API接口定制功能,如JMeter插件的设计和开发,或扩充已有插件的功能等。此外,测试工具还可以将其用于分布式并发测试。
本申请实施例中的待测试平台,例如,待测试平台102,可以是任意一种具有计算功能的设备。例如,待测试平台为办公自动化(Office Automation,OA)系统、电子商务系统等。
本申请实施例中的代理网关,例如,代理网关103,可以使得在待测试平台和测试平台之间具备软件网络代理功能,软件网络代理功能包括代理转发功能、录制功能和回放功能。其中,代理转发功能用于监听待测试平台建立TCP连接请求、建立连接、捕获测试请求、修改测试请求头部信息内容、向待测试平台转发测试请求、接收待测试平台的响应结果、向测试平台转发待测试平台的响应结果,对转发进行控制和登记。录制功能用于将测试请求保存为脚本语句,以及将待测试平台的响应结果等资源保存到本地,以使得对保存的资源进行离线调试回放。回放功能用于对脚本语句进行语法检查,判断脚本语句的语法是否正确。例如:代理网关通过启动回放执行器执行回放本地保存的脚本语句,并将脚本语句解析为测试请求,并向待测试平台发送。之后,代理网关接收待测试平台的响应结果,根据响应结果将回放结果以图形或文字的形式显示在回放执行器控制界面上。如果回放脚本执行结束,则完成回放过程,并停止回放执行器。
本申请实施例中的代理服务器,例如,代理服务器104,具有代理转发功能,与代理网关的代理转发功能一致。
下面介绍测试平台与待测试平台建立连接的过程:
测试平台使用一个byte[]数组,调用套接字socket的write函数,向待测试平台发送一个WebSocket连接的HTTP请求。待测试平台接收测试平台并发的WebSocket连接的HTTP请求后,将HTTP请求生成网络字节数组,并根据网络字节数组生成响应信息。待测试平台在响应信息通过测试平台验证后,与测试平台之间建立WebSocket连接。如此,待测试平台通过socket通道与测试平台建立连接,进行实时通信。这种方法无需测试平台不断向待测试平台发送建立连接的请求,可以降低通信资源的消耗。
图1所示的测试系统10仅用于举例,并非用于限制本申请的技术方案。本领域的技术人员应当明白,在具体实现过程中测试系统10还可以包括其他设备,同时也可根据具体需要来确定测试平台101和待测试平台102的数量,不予限制。例如:在待测试平台为单服务器进行测试时,可以使用单台配置有测试工具的测试平台进行压力测试;在待测试平台为多服务器进行测试时,可以多台配置有测试工具的测试平台进行压力测试。
下面对本申请实施例提供的方法进行具体阐述。
如图2所示,为本申请实施例提供的一种测试方法,该测试方法包括如下步骤:
S201、获取目标业务场景对应的测试用例。
其中,测试用例用于模拟用户设备并发通过待测试平台执行目标业务场景下的业务操作,测试用例包括输入数据和预期结果。预期结果为输入数据在待测试平台中运行后的预期输出结果。
本申请实施例中,目标业务场景为待测试平台的目标业务场景。例如:以待测试平台为电子商务平台为例,目标业务场景可以包括:用户查询商品场景、用户购买商品场景、用户浏览商品场景等。
一种可能的实现方式,测试平台根据目标业务场景,获取测试数据;扫描测试数据,得到执行数据;根据执行数据,获取目标业务场景对应的测试用例。
其中,测试数据为在目标业务场景下,待测试平台包括的数据。例如:以待测试平台为电子商务平台为例,测试数据为多个用户设备的账号信息的数据和电子商务平台包括的商品信息的数据。
本申请实施例中,执行数据包括待测试平台的接口数据、功能数据和/或属性数据。例如,待测试平台的接口数据为待测试平台的API接口数据。功能数据为待测试平台具备查询功能的所需要的数据。属性数据为待测试平台执行业务目标业务场景下的业务操作循环次数。
S202、根据测试用例,生成多个测试请求。
其中,测试请求用于指示待测平台执行业务目标业务场景下的业务操作。
可以理解的,多个测试请求应当能够模拟目标业务场景下,实际生产环境中的用户设备和数据量。多个测试请求的数量可以根据测试目标或待测试平台的性能指标进行确定,不予限制。在多个测试请求的数量大于阈值时,测试人员可以增加测试平台的服务器的数量,以满足测试需求。
在S202之前,测试平台可以配置测试平台的多个测试参数。其中,多个测试参数包括多个测试请求的数量、多个线程的数量和多个线程的启动延迟时间。其中,多个线程的启动延迟时间用于控制线程的逐渐启动时间,以模拟用户设备通过待测试平台执行目标业务场景下的业务操作。
S203、创建线程组,向待测试平台并发多个测试请求。
其中,线程组包括多个线程。多个线程的数量与测试平台的CPU的线程数量相同。线程组中添加有取样器、监听器和断言。
本申请实施例中,取样器用于向待测试平台并发多个测试请求。取样器的参数包括目标统一资源定位符(Uniform Resource Locator,URL)、请求方法、请求头、测试请求包括的数据。例如:取样器可以是超文本传输协议(HyperText Transfer Protocol,HTTP)请求、文件传输协议(File Transfer Protocol,FTP)请求、数据库请求。
本申请实施例中,监听器用于接收来自待测平台的测试结果。例如:监听器可以是聚合报告、查看结果树、图形结果。
本申请实施例中,断言用于判断多个测试请求的响应结果是否是预期输出结果。其中,响应结果可以是响应的状态码或响应内容。
一种可能的实现方式,测试平台基于异步IO非阻塞技术,创建线程组;通过多个线程,向待测试平台并发多个测试请求。
可以理解的,基于异步IO非阻塞技术,测试平台无需为每个测试请求创建进程或线程,只需创建一个线程组,就可以实现向待测试平台并发多个测试请求。由于测试平台切换线程向待测试平台发送测试请求时,需要消耗测试平台的内存资源,因此,测试平台创建多个线程的数量与测试平台的CPU的线程数量相同的线程组,可以节省资源,同时并发过程不易出错,稳定地并发大量测试请求。基于异步IO非阻塞技术,测试平台可以增加并发能力,提升数据吞吐量,实现实时的数据传输,延时可以控制在毫秒级别,满足实时数据的低延迟、稳定、可靠的要求,解决现有技术中的延时问题和稳定、可靠性问题。
S204、接收待测试平台的测试结果。
其中,测试结果包括待测试平台在处理多个测试请求时的测试指标。测试指标可以包括吞吐量、响应时间、并发连接数、CPU和内存使用率、错误率、网络延迟、请求成功率、测试请求的平均处理时间等。其中,错误率可以根据测试用例包括的预期结果与实际输出结果确定。
示例性的,基于socket通道,测试平台获取待测试平台的测试结果。
可选的,测试平台还可以创建TCP重用连接池,将多个测试请求复用到与待测试平台建立的一个TCP连接上,并通过配置连接池的参数(例如:连接池的最大连接数、最大空闲连接数、连接超时时间),调整测试平台模拟用户设备并发通过待测试平台执行目标业务场景下的业务操作的压力测试的测试计划。
基于图2所示的方法,测试平台可以获取目标业务场景对应的测试用例,根据测试用例,生成多个测试请求,创建线程组,向待测试平台并发多个测试请求,接收来自待测试平台的测试结果。由于测试用例是基于目标业务场景生成的,目标业务场景可以包括多个不同的业务场景,不同的业务场景对应的测试指标不同,因此,对于待测试平台,可以编写不同的业务场景对应的测试用例,使得测试平台测试待测试平台的测试目标更丰富。此外,线程组为向待测试平台并发多个测试请求时的共享线程组,可以通过线程组包括的较少线程并发大量的测试请求,节省测试平台的内存资源,使得并发大量的测试请求的压力测试更加稳定。
如图3所示,为本申请实施例提供的一种测试装置30的结构示意图,该测试装置30包括获取模块301、处理模块302和收发模块303。
该获取模块301,用于获取目标业务场景对应的测试用例,测试用例用于模拟用户设备并发通过待测试平台执行目标业务场景下的业务操作。例如:获取模块301用于执行上述S201。
该处理模块302,用于根据所述测试用例,生成多个测试请求,所述测试请求用于指示所述待测平台执行所述业务目标业务场景下的业务操作。例如:处理模块302用于执行上述S202。
该收发模块303,用于创建线程组,向待测试平台并发多个测试请求。例如:收发模块303用于执行上述S203。
该收发模块303,还用于接收待测平台的测试结果,测试结果包括待测试平台在处理多个测试请求时的测试指标。例如:收发模块303用于执行上述S204。
一种可能的设计,该获取模块301,具体用于根据目标业务场景,获取测试数据,测试数据为在目标业务场景下,待测试平台包括的数据;获取模块301,还具体用于扫描测试数据,得到执行数据,执行数据包括待测试平台的接口数据、功能数据和/或属性数据;获取模块301,还具体用于根据执行数据,获取目标业务场景对应的测试用例,测试用例包括输入数据和预期结果。
一种可能的设计,收发模块303,具体用于基于异步输入输出IO非阻塞技术,创建线程组,线程组包括多个线程,多个线程的数量与测试平台的中央处理器CPU的线程数量相同;收发模块303,还具体用于通过多个线程,向待测试平台并发多个测试请求。
一种可能的设计,线程组中添加有取样器、监听器和断言,取样器用于向待测试平台并发多个测试请求,监听器用于接收来自待测平台的测试结果,断言用于判断多个测试请求的响应结果是否是预期输出结果。
一种可能的设计,处理模块302,还用于配置测试平台的多个测试参数,多个测试参数包括多个测试请求的数量、多个线程的数量和多个线程的启动延迟时间。
在通过硬件实现时,本申请实施例中的获取模块301、处理模块302和收发模块303可以集成在通信接口上,也可以集成在处理器上。具体实现方式如图4所示。
图4示出了上述实施例中所涉及的测试装置的一种可能的硬件结构示意图。该测试装置包括:处理器402。可选的,该测试装置还包括:通信接口403、存储器401和总线404。
处理器402用于对测试装置的动作进行控制管理,例如,执行上述获取模块301、处理模块302和收发模块303执行的步骤,和/或用于执行本文所描述的技术的其它过程。上述处理器402可以是实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
通信接口403用于支持测试装置与其他网络实体的通信,例如,执行上述获取模块301或收发模块303执行的步骤。
存储器401用于存储测试装置的程序代码和数据。例如,存储器401可以是测试装置中的存储器等,该存储器可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
总线404可以是扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图5是本申请实施例提供的芯片50的结构示意图。芯片50包括一个或两个以上(包括两个)处理器501。可选的,芯片50还包括通信接口503、总线502和存储器504。
其中,上述处理器501可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
存储器504可以包括只读存储器和随机存取存储器,并向处理器501提供操作指令和数据。存储器504的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。
在一些实施方式中,存储器504存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
在本申请实施例中,通过调用存储器504存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
存储器504可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
总线502可以是扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。总线502可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行上述方法实施例中的切换方法。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得该计算机执行上述方法实施例所示的方法流程中的切换方法。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(Application Specific Integrated Circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
由于本申请的实施例中的测试装置、计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本申请实施例在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (12)
1.一种测试方法,其特征在于,应用于测试系统中的测试平台,所述测试系统还包括待测试平台,所述方法包括:
获取目标业务场景对应的测试用例,所述测试用例用于模拟用户设备并发通过所述待测试平台执行所述目标业务场景下的业务操作;
根据所述测试用例,生成多个测试请求,所述测试请求用于指示所述待测平台执行所述业务目标业务场景下的业务操作;
创建线程组,向所述待测试平台并发所述多个测试请求;
接收所述待测平台的测试结果,所述测试结果包括所述待测试平台在处理所述多个测试请求时的测试指标。
2.根据权利要求1所述的方法,其特征在于,所述获取目标业务场景对应的测试用例,包括:
根据所述目标业务场景,获取测试数据,所述测试数据为在所述目标业务场景下,所述待测试平台包括的数据;
扫描所述测试数据,得到执行数据,所述执行数据包括所述待测试平台的接口数据、功能数据和/或属性数据;
根据所述执行数据,获取所述目标业务场景对应的测试用例,所述测试用例包括输入数据和预期结果。
3.根据权利要求1或2所述的方法,其特征在于,所述创建线程组,向所述待测试平台并发所述多个测试请求,包括:
基于异步输入输出IO非阻塞技术,创建所述线程组,所述线程组包括多个线程,所述多个线程的数量与所述测试平台的中央处理器CPU的线程数量相同;
通过所述多个线程,向所述待测试平台并发所述多个测试请求。
4.根据权利要求3所述的方法,其特征在于,所述线程组中添加有取样器、监听器和断言,所述取样器用于向所述待测试平台并发所述多个测试请求,所述监听器用于接收来自所述待测平台的测试结果,所述断言用于判断多个测试请求的响应结果是否是预期输出结果。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
配置所述测试平台的多个测试参数,所述多个测试参数包括所述多个测试请求的数量、所述多个线程的数量和所述多个线程的启动延迟时间。
6.一种测试装置,其特征在于,所述装置包括获取模块、处理模块和收发模块;
所述获取模块,用于获取目标业务场景对应的测试用例,所述测试用例用于模拟用户设备并发通过所述待测试平台执行所述目标业务场景下的业务操作;
所述处理模块,用于根据所述测试用例,生成多个测试请求,所述测试请求用于指示所述待测平台执行所述业务目标业务场景下的业务操作;
所述收发模块,用于创建线程组,向所述待测试平台并发所述多个测试请求;
所述收发模块,还用于接收所述待测平台的测试结果,所述测试结果包括所述待测试平台在处理所述多个测试请求时的测试指标。
7.根据权利要求6所述的装置,其特征在于,
所述获取模块,具体用于根据所述目标业务场景,获取测试数据,所述测试数据为在所述目标业务场景下,所述待测试平台包括的数据;
所述获取模块,还具体用于扫描所述测试数据,得到执行数据,所述执行数据包括所述待测试平台的接口数据、功能数据和/或属性数据;
所述获取模块,还具体用于根据所述执行数据,获取所述目标业务场景对应的测试用例,所述测试用例包括输入数据和预期结果。
8.根据权利要求6或7所述的装置,其特征在于,
所述收发模块,具体用于基于异步输入输出IO非阻塞技术,创建所述线程组,所述线程组包括多个线程,所述多个线程的数量与所述测试平台的中央处理器CPU的线程数量相同;
所述收发模块,还具体用于通过所述多个线程,向所述待测试平台并发所述多个测试请求。
9.根据权利要求8所述的装置,其特征在于,所述线程组中添加有取样器、监听器和断言,所述取样器用于向所述待测试平台并发所述多个测试请求,所述监听器用于接收来自所述待测平台的测试结果,所述断言用于判断多个测试请求的响应结果是否是预期输出结果。
10.根据权利要求6或7所述的装置,其特征在于,
所述处理模块,还用于配置所述测试平台的多个测试参数,所述多个测试参数包括所述多个测试请求的数量、所述多个线程的数量和所述多个线程的启动延迟时间。
11.一种测试装置,其特征在于,包括:处理器;所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述测试装置执行如权利要求1至5中任一项所述的方法。
12.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当计算机执行所述指令时,所述计算机执行如权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311233564.5A CN117271335A (zh) | 2023-09-21 | 2023-09-21 | 一种测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311233564.5A CN117271335A (zh) | 2023-09-21 | 2023-09-21 | 一种测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117271335A true CN117271335A (zh) | 2023-12-22 |
Family
ID=89205699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311233564.5A Pending CN117271335A (zh) | 2023-09-21 | 2023-09-21 | 一种测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117271335A (zh) |
-
2023
- 2023-09-21 CN CN202311233564.5A patent/CN117271335A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120311128A1 (en) | Performance testing in a cloud environment | |
CN108228444B (zh) | 一种测试方法和装置 | |
CN108234246B (zh) | 一种多向测试服务器网络性能的方法及系统 | |
CN114095567B (zh) | 数据访问请求的处理方法、装置、计算机设备及介质 | |
CN107070752B (zh) | 一种长连接容量的测试方法及测试系统 | |
CN109739700B (zh) | 一种接口测试方法和装置 | |
CN113076253A (zh) | 一种测试方法和测试装置 | |
CN111045942A (zh) | 应用测试方法、系统、存储介质及电子设备 | |
CN110933075A (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN111966653A (zh) | 微服务调用链路数据处理方法、装置、服务器及存储介质 | |
CN113360377B (zh) | 一种测试方法和装置 | |
CN115705190A (zh) | 依赖程度的确定方法及装置 | |
CN111800511B (zh) | 同步登录态的处理方法、系统、设备及可读存储介质 | |
CN113535586A (zh) | 一种测试环境的切换方法、装置、设备及可读存储介质 | |
CN117271335A (zh) | 一种测试方法及装置 | |
CN112131095B (zh) | 压力测试方法和装置 | |
CN111338928A (zh) | 基于chrome浏览器测试的方法及装置 | |
CN113849356B (zh) | 一种设备测试方法、装置、电子设备和存储介质 | |
CN115599651A (zh) | 一种应用系统测试方法、装置、电子设备和存储介质 | |
CN113315841A (zh) | 文件上传方法、装置、介质及电子设备 | |
US9479579B2 (en) | Grouping processing method and system | |
CN113760693A (zh) | 用于微服务系统的本地调试的方法和装置 | |
CN112860538A (zh) | 基于线上日志进行接口回归测试的方法和装置 | |
CN113434384A (zh) | 一种压力测试方法和装置 | |
CN116860643B (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 |