CN106575248A - 性能测试系统和方法 - Google Patents
性能测试系统和方法 Download PDFInfo
- Publication number
- CN106575248A CN106575248A CN201580037633.2A CN201580037633A CN106575248A CN 106575248 A CN106575248 A CN 106575248A CN 201580037633 A CN201580037633 A CN 201580037633A CN 106575248 A CN106575248 A CN 106575248A
- Authority
- CN
- China
- Prior art keywords
- test
- performance test
- automatically
- computer
- performance
- 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
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
-
- 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
-
- 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/3433—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 for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/87—Monitoring of transactions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了性能测试系统、性能测试的计算机执行方法以及具体化成用于性能测试的计算机程序的非临时计算机可读介质。在一个实施方式中,性能测试系统包括被配置为执行性能测试的处理结构,所述性能测试包括在一个测试周期中自动地、重复地发起针对至少一个测试目标的多个并发测试会话,所述处理结构被配置为在测试周期中接收测试修改请求,并作为对这些请求的响应,在测试周期时间段的剩余部分自动地修改所述性能测试。
Description
相关申请的交叉引用
本专利申请根据35 U.S.C.119(e)主张申请日为2014年5月18日的美国临时专利申请No.61/994,947的优先权。
技术领域
以下说明一般而言涉及软件测试,且更特定而言,涉及用于性能测试的系统和方法。
背景技术
传统的性能测试工具通常在静态条件下进行性能测试,所述的静态条件例如并发用户数量,被测试的场景,以及被测试的不同场景的顺序。这些性能测试工具用于性能问题分析的效率较低,如测试者可能不得不修改测试条件多次运行测试以得到不同的测试结果用于比较由于条件变化带来的影响。而且,由于这些工具不能在场景随机或并发的现实情况中进行测试,所以这些工具不能执行被测系统的总体检验。
发明内容
在一个方面,提供了一种性能测试系统,包括被配置为执行性能测试的处理结构,所述性能测试包括在一个测试周期中自动地、重复地按照随机顺序发起针对至少一个性能测试目标的多个并发测试会话,所述处理结构被配置为在测试周期中接收测试修改请求,并作为对这些请求的响应,在测试周期的剩余部分自动地修改所述性能测试。
在另一个方面,提供了一种用于性能测试的计算机执行方法包括:使用计算机,执行包括在一个测试周期中自动地、重复地按照随机顺序发起针对至少一个性能测试目标的多个并发测试会话的性能测试;以及使用计算机,在测试周期中接收测试修改请求,并作为响应,在测试周期的剩余部分自动地修改所述性能测试。
在另一个方面,提供了一种具体化成可以在计算机程序上执行以进行性能测试的计算机程序的非临时计算机可读介质,所述计算机程序包括用于执行性能测试的、包括在一个测试周期中按照随机顺序自动地、重复地发起不同场景的针对至少一个测试目标的多个并发测试会话的计算机程序代码;以及为在测试周期中接收测试修改请求,并作为响应,在测试周期的剩余部分自动地修改所述性能测试的计算机程序代码。
基于上述系统和方法的改进,在一个测试周期中对一次正在运行的性能测试可以进行任意数量的修改,同时性能测试可以保持运行而无需为了实施修改而停止执行。动态调整测试参数的能力,例如性能测试的运行过程以及性能测试强度,有助于进行性能问题的根本原因分析。在基于截止到测试点的进展情况的真实性能测试中,性能测试者可以使用所述性能测试系统反复地与所述系统互动。
在另一个方面,提供了一种性能测试系统,包括被配置为执行性能测试的处理结构,所述性能测试包括在一个测试周期中自动地、重复地发起针对一个性能测试目标的多个并发测试会话,所述处理结构被配置为在测试周期中接收对所述测试会话的即时统计数据中被选出的一个或多个子类的即时报告的请求,并且作为对这些请求的响应,自动地在所述测试周期中显示所述即时报告。
在另一个方面,提供了一种用于性能测试的计算机执行方法包括:使用计算机,执行包括在一个测试周期中自动地、重复地按照随机顺序发起针对一个性能测试目标的多个并发测试会话的性能测试;以及使用计算机,在测试周期中接收对所述测试会话的即时统计数据中被选出的一个或多个子类的即时报告请求,并且作为对这些请求的响应,自动地在所述测试周期中显示所述即时报告。
在另一个方面,提供了一种具体化成可以在计算机程序上执行以进行性能测试的计算机程序的非临时计算机可读介质,所述计算机程序包括用于执行性能测试的、包括在一个测试周期中自动地、重复地发起不同场景的针对至少一个测试目标的多个并发测试会话的计算机程序代码,以及为在测试周期中接收对所述测试会话的即时统计数据中被选出的一个或多个子类的即时报告的请求,并且作为对这些请求的响应,自动地在所述测试周期中显示所述即时报告的程序代码。
基于上述系统和方法的改进,在一个测试周期中可以进行任意次数请求显示不同即时报表,同时性能测试可以保持运行无需为了实施修改而停止执行。动态调整报表参数的能力,例如哪些被报告的性能测试目标(例如机器、端口或插口,协议),被报告的统计数据或指标的性质(例如一个性能测试目标的CPU周期,或者等待时间,或者存储使用情况)以及按照这种方式的细化报告(比如按秒或分钟计数的取样时间)等,有助于进行性能问题的根本原因分析。在基于截止到测试点的进展情况的真实性能测试中,性能测试者可以按需索取报告或图表, 反复地与所述系统互动。
在测试周期中组合测试修改和报表请求为性能测试者提供了丰富的工具,使得性能测试者可以即时获得所寻找的指标的反馈以及在性能测试过程中性能测试者动态做出的特定修改如何对指标造成影响。这也相应地使得性能测试者了解应该如何进行修改,以实现更改性能测试的关键点或者核实初始指标。
通过以下描述其它方面会更为清晰。
简要附图说明
参照以下附图描述本发明的实施方式。
图1为图解说明性能测试的计算机执行方法的步骤流程图;
图2为配置为执行所述性能测试,以及性能测试目标的计算机系统组成框图;
图3为所述性能测试系统生成的用户界面截图,用于初始化并控制性能测试的参数以及在测试周期中显示即时报告;
图4为表示所述性能测试系统逻辑组成的逻辑结构图。
具体实施方式
图1是性能测试的计算机执行方法90的步骤流程图,其由如图2所示的计算机系统1000执行并详细描述如下。在方法90中,初始性能参数被创建(步骤100),以及初始报告参数被创建(步骤200)。步骤100和步骤200以由用户通过如图3截屏所示的用户界面10完成。由此可见,如下所述,由计算机系统1000实现的性能测试可能通过多个与上述用户界面10类似的用户界面同时操作,通过多个用户执行针对不同性能目标的不同性能测试。
例如,在初始设置时,用户可以通过点击创建项目按钮12创建一个项目26 ,然后设定测试参数如“目标端口”28(设定可以包括主机名、IP地址,端口号,协议名称等),待测试的用例30,组成每一个用例30的场景,在测试周期中需要通过性能测试系统初始化的每秒交易数量(TPS),测试周期的时长,分配给每一个用例30的交易数量比例。设置一组标签60使得用户查看特定用例30、目标端口28等信息。
作为通过点击创建项目按钮12创建项目的可选方式,用户还可以通过导入项目按钮14导入预先定义的项目。对于当前处于活动状态的项目,无论是新建立的或者导入的,都可以通过点击保存项目按钮16进行保存。
在本实施方式中,如图4所示,已建立一项用于测试某系统的性能测试,该系统包括4个(4)不同的端口(目标端口),分别命名为“PCRF Gx 服务器”,"PCRF Gxa 服务器1", "OCS Gy 服务器1" 和 "网络服务1"。进一步的,被测系统中的机器信息可以从目标接点的设定中得到,例如,“PCRF Gx 服务器”可以被部署在“机器1”上,同时,其它的可以被分别部署在同一台或其它不同的机器上。
同样在本实施方式中,已建立3个(3)用例30,而且在用户界面中间部分显示的表格中,用例比例(参与的用例)36显示,在测试周期中,配置用于用例1的会话数占全部会话数的70%,其中60%作为用例1的场景1.1专用,10%作为用例1的场景1.2专用。在测试周期中,配置用于用例2的会话数占全部会话数的25%,而在测试周期中,配置用于用例3的会话数占全部会话数的5%。
项目26在本实施方式中的测试参数进一步包括建立执行计划32,且设定处理1500每秒交易数量,并且一旦使用运行按钮20启动性能测试,性能测试将持续2个(2)小时。根据上述数据,在初始配置完成的项目26中,在测试周期中将有总量为1500*(60秒/分钟)*(60分钟/小时)*(2小时)=10,800,000交易数被处理。
在运行性能测试之前或者运行性能测试过程中,用户可以设定统计数据即时报告的“观察列表”34,统计数据即时报告将会提供给用户界面10,并通过用户界面10显示。在本实施方式中,用户已经选择在用户界面10的指示板50上添加观察列表30以至少显示:目标端口“PCRF Gx 服务器”上的每秒交易数的图表52,目标端口“PCRF Gx 服务器”上的等待时间(响应时间)54,机器1的CPU使用率56,机器1的存储使用率58,同时“机器1”具有一个目标端口而且机器1的设定可以和目标端口的设定合并。
任何在性能测试前或者性能测试时对用例比例(参与的用例)36,TPS38,观察列表34的调整均通过应用按钮44实现(在性能测试运行时调整,剩余的测试自动按照新条件运行),通过保存按钮44保存在项目26中,通过取消调整按钮46取消,或者通过恢复上一次保存按钮48恢复。设置一个通知区域62显示用户界面程序从性能测试系统的服务器端接收的特定通知。
在本实施方式中,保存的,或用于导出的包括目标端口28设定、用例30设定、执行计划32(初始用例比例36,初始TPS)以及用于形成图表的初始观察列表34的项目以结构化的格式,例如XML(可扩展标示语言),存储在以下详细描述的数据存储中。
当步骤100和步骤200中创建初始测试和报告参数(计划32,观察列表34)完成时,可以执行性能测试(步骤300)。在本实施例中,这可能是由用户通过点击启动服务器按钮18,然后点击用户界面10上的运行按钮20。在任何时刻,用户可以通过点击停止按钮22停止性能测试。但是,如下所述,用户不必因为需要对性能测试参数进行修改或者调整用于形成图表或在用户界面10上显示的即使统计数据而点击停止按钮22停止性能测试。在用户界面10上设置打印报告按钮24使得用户可以打印性能测试报告以用于管理或者以向用户证明性能测试目标在测试中是如何运行的。
由于用户通过用户操作界面10操作修改参数,所以用户可以点击应用按钮42将修改后的参数传送回性能测试系统并将修改后的参数用于后续的性能测试。保存按钮44可以用于将修改应用于项目26以使得已定义项目26的XML文件也可以被修改。取消按钮46使用户可以取消已经通过应用按钮42进行的修改,而恢复最后一次存储按钮48使得用户可以取消已经应用于定义有项目26的XML文件的修改并恢复到上一次的设定参数。
在步骤300中执行性能测试时,除非手动停止,步骤300一直持续整个测试周期,并发测试会话根据测试参数(步骤300)重复发起,同时检查对测试参数的修改(步骤304)。一项性能测试在没有任何测试参数修改请求的条件下一旦执行即会持续整个测试周期。但是,在本发明中,在整个测试周期中,用户通过用户界面可能请求多次修改测试参数,如利用用户界面修改用例、删除用例、调整每秒交易处理数、调整用例比例等,并进一步点击“应用”按钮。请求的修改,如果有,则发生在这不久之后(步骤306),而并发测试会话随后根据修改的测试参数重复发起(步骤308)。进一步判定以决定测试周期是否结束(步骤310),如果测试周期并未结束,流程返回步骤304检查对如上所述对测试参数的修改,如果测试周期结束,则性能测试结束(步骤320)。
在本实施方式中,步骤302的执行周期大约为5秒,而步骤304、306、308和310 的执行周期总和大约为5秒。因此,在整个测试周期中,用户有机会多次修改测试参数,而每一次修改都会在不超过5秒的周期内由性能测试系统执行。例如,用户可能选择将每秒交易数从初始的1500增加到每秒4000。在接下来的5秒中,性能测试系统接收请求,并应请求增加其交易生成率,因此,将有20000项交易被创建且设定在随后的5秒中被分配,而不是有7500项交易被创建且设定在随后的5秒中被分配。随后,用户可能出于考虑确定某一个特定用例导致的性能问题,或者由于总交易数过高而选择移除一个用例。可以看出,当性能测试系统具备可以生成并接收“即时”修改的能力后,用户在诊断问题或测试性能测试目标的真实极限时具有非常好的灵活性。从这个角度说,不同于基于预先定义的、僵化限制的性能测试,在所述系统性能测试中,用例、场景、每秒交易数以及其它参数都可以被看作为总体诊断以及细化测试的工具。
同样参照图1所示,根据步骤200创建的输出报告参数,在性能测试过程中,性能测试系统显示通过“观察列表”列举的即时测试会话的统计参数(步骤312)。然而在测试周期中,性能测试系统还可以接收请求,请求关于其它多个测试会话的即时统计数据中其它子类的即时报告。用户可以在任何时候在“观察列表”中增加或者移除即时统计数据并同时通过点击“应用”按钮相应的修改报告参数。特别地,如果对报告参数的修改请求已确认(步骤314)且当修改请求已提交并已对报告参数进行修改(步骤316),则根据修改后的报告参数显示即时测试会话统计数据(步骤318)。如果测试周期在步骤310时没有结束,即时测试会话统计数据过程持续至步骤314以检查对报告参数的修改。
由此可见,在本实施方式中,涉及即时测试会话统计参数的步骤312至318和涉及初始测试会话的步骤302至308是并行实施的(即同时)而不是具有先后顺序的。这两个步骤流程由性能测试系统的不同线程执行。在另一个实施方式中,这两个步骤流程是相互交错的,尤其是如果其中一个正在执行的步骤的执行率足够快能够确保反应性能测试目标性能的即时统计数据足以和性能测试需要的修改同步。
由此可见,即时数据显示和测试会话是平行程序且并不需要另一个已经执行。例如在测试周期中,修改后的性能测试可以正常进行而不对显示的即时统计数据进行修改。
通过使得用户可以观察到关于初始化后的或者正在进行的并发测试会话,以及提供用户选择创建在测试周期中显示的即时统计数据的子类,用户可以“深度探讨”问题浮现时的诊断报告,并且通过即时统计报告中的某个子集子类确认优秀的性能,并且可以通过其它被选择的即时统计数据的子集确凿证实。
进一步的,通过同时在测试周期中修改测试参数和报告参数(即测试进行中),用户可以通过修改测试参数来实时地应对反应性能测试目标性能的即时统计数据,从而通过多种方式定义问题程度、原因,和/或证明及确认有利的性能指标,而无需停止性能测试或者重新配置其它测试。通过这种对于性能测试的控制以及统计的性能数据的返回方式,为性能测试人员提供了一种有效且有趣的工具,便捷生成细化性能报告以及反馈这些有用信息予产品设计人员、系统集成商、软件开发人员等 。
如图2所示,计算机系统1000包括总线1010或其它用于传送信息的通信机制,以及用于处理信息的与总线1010连接的处理器1018。计算机系统1000进一步包括连接总线1010以存储信息、处理器1018指令的主存储器1004,如随机访问存储(RAM)或者其它动态存储设备(如,动态RAM(DRAM),静态RAM(SRAM),同步DRAM(SDRAM))。此外,主存储器1004还可能用于存储临时变量或者处理器1018执行指令的中间信息,处理器1018可能包括存储结构,例如用于存储临时变量或者执行指令的中间信息的寄存器。计算机系统1000进一步包括与总线1010连接的用于存储静态信息、处理器1018指令的只读存储器(ROM)1006或者其它静态存储设备(如可编程ROM(PROM)),可擦写 PROM (EPROM),以及电可擦写 PROM (EEPROM) )。
计算机系统1000进一步包括连接总线1010的磁盘控制器1008以控制一个或多个用于存储信息和指令的存储装置,比如一个磁性硬盘1022,以及一个可移动媒体驱动器1024(比如软盘驱动器、只读光盘驱动器、读/写光盘驱动器、光盘存储器、磁带驱动器、以及可移动磁光驱动器)。存储装置通过一个对应的设备接口(如小型计算机系统接口(SCSI)、集成设备电子部件(IDE)、增强型IDE(E-IDE)、直接内存存取(DMA),或高级DMA)添加到计算机系统1000中。
计算机系统1000进一步包括特殊目的逻辑设备(例如特定用途集成电路(ASICs)或可配置的逻辑设备(例如简单可编辑逻辑器件(SPLDs)、复杂可编程逻辑器件(CPLDs)以及现场可编程门阵列(FPGAs))。
计算机系统1000进一步包括连接总线1010的显示控制器1002用于控制用于向用户显示信息的显示装置1012,比如液晶显示(LCD)屏。计算机系统1000包括输入设备,例如键盘1014以及指向设备1016,以用于和计算机用户交互并向处理器1018提供信息。指向设备1016,例如,可能是鼠标、追踪球或定位杆,用于和处理器1018之间传输方向信息和选择命令控制显示在显示装置1012上的光标运动。进一步的,还可以设置打印设备以提供由计算机系统1000生成或存储的打印数据列表。
计算机系统1000执行所讨论的一部分或全部步骤以响应执行存储在存储器中的一个或多个指令中的一个或多个序列的处理器1018,如主存储器1004。这些指令可以是通过主存储器1004读取其它计算机可读取媒介读取,比如硬盘1022或者可移动媒介驱动器1024。多处理器中的一个或多个处理器也可能应用于执行主存储器1004中存储的指令序列。在其它实施方式中,可以使用硬线连接的电子线路代替或与软件指令组合。
如上所述,计算机系统1000包括至少一个计算机可读介质或者存储器以根据现有技术的启示存储程序化的指令,且存储数据结构、表格、记录以及其它讨论的数据。计算机可读介质的示例可以是光盘、硬盘、软盘、磁盘、光磁盘, PROMs(EPROM、EEPROM、flashEPROM、DRAM、SRAM、SDRAM,或者其它磁介质,光碟(如CD-ROM),或者其它光介质,穿孔卡片、纸带、或其它具有规则孔的物理媒介,载波(如下所述),或者计算机可读介质。
存储在其中一个或多个计算机可读媒介中的内容包括用于控制计算机系统1000的软件,用于驱动一台设备或多台设备以执行所述功能的软件以及用于使得计算机系统1000自然人用户(如印刷制作人员)交互的软件。上述软件包括但不限于设备驱动、操作系统、开发工具以及应用软件。计算机可读媒介进一步包括所讨论的用于全部或部分(如果是分布式处理)执行处理的计算机程序产品。
所述的计算机代码设备可以是可以被编译或执行的代码机制,包括但不限于,脚本、可编译的程序、动态链接库(DLLs),Java 类以及完整可执行程序。进一步的,本发明的部分处理可以采用分布式以得到更好的性能、稳定性和/或更低的消耗。
计算机媒介向处理器1018提供指令可以采用多种形成,包括但不限于,非易失性介质、易失性介质、以及传输介质。非易失性介质包括,例如光盘、磁盘、光磁盘,比如硬盘1022或可移动媒介驱动器1024。易失性介质包括动态存储器,例如主存储器1004。传输介质包括同轴电缆、铜线和光纤,包括构成总线1010的线路。传输介质还包括光波或声波的形式,例如生成自无线电波数据传输或红外线数据传输。
多种形式的计算机可读媒介可以用于执行处理器一条或多条指令的一个或多个序列。例如,指令初始可能存储在一台远程计算机的一个磁盘上。所述远程计算机加载指令以远程执行全部或部分本发明并存储在动态存储器中,并且通过电话线使用调制解调器发送指令。所述计算机系统的本地调制解调器可以接收通过电话线传递的数据并且利用红外线传送器将数据转化为红外线信号。与总线1010连接的红外探测器可以接收通过红外信号加载数据并且将数据传递到总线1010。总线1010将数据传输至主存储器1004,处理器1018在主存储器1014中检索并执行指令。主存储器1004接收的指令可以选择性地在处理器1018执行前或者执行后存储在存储装置1022或1024中。
计算机系统1000进一步包括与总线连接的通信接口1020。通信接口1020提供一种双向数据通信网络连接,网络连接,例如,局域网(LAN)1500,或者其它通信网络2000,例如因特网。举例来说,通信接口1020可能是用于分组交换局域网的网络结构卡。作为另一个例子,通信接口1020可能是非对称数字用户线路(ADSL)卡,综合业务数字网卡或一个调制解调器以通过对应的数据线路提供数据通信传输。还可以采用无线网络连接。在上述任意一种实施方式中,通信接口1020输出或接收搭载代表不同种类信息的数字数据流的电信号、电磁信号和光信号。
网络连接通常包括通过一个或多个网路将数据通信传输到其它数据设备,包括但不限于实现电子信息的传递。举例来说,网络连接可能通过局域网(例如LAN),或者通过通信网络2000提供通信服务的服务提供商提供的设备形成与另一台计算机的连接。本地网络1500和通信网络2000使用例如载有数字数据流的电信号、电磁信号、或者光信号以及辅助的物理层(例如CAT 5 电缆、同轴电缆、光纤等)。将数字数据传递至计算机系统1000或传递来自计算机系统1000的通过不同网络的信号、网络连接的信号及通过通信接口1020的信号均通过基带信号的或者基于载波信号实现。基带信号以未调制的电脉冲的形式传递数字数据,未调制电脉冲描述为数字数据位流,其中“位”可以解释为较符号本意具有更宽泛的意义,其中每一个符号传递一个或多个信息位。数字数据还应用于调制载波,例如改变在传导介质中传播的、或以电磁波的形式在传导介质中传播的键控信号的幅值、相位和/或频率。所以,数字数据可能以未调制的基带数据的形式通过“有线”通信渠道和/或通过调制载波以与基带不同的预先设定频率带宽传送。计算机系统1000可以通过网络1500和2000,网络链接和通信接口1020传送或接收包括程序代码的数据。进一步的,所述网络链接还可以通过局域网1500提供与移动设备1300,如个人数字助理 (PDA),笔记本电脑或移动电话的连接。
计算机系统1000的另一种配置方式,例如使用已知的具有多处理器而不是单处理器的处理结构的计算机系统,和/或通过另一台计算机系统远程控制而不是直接和自然人用户直接通过图形或文字用户接口交互的计算机系统可以被用于执行过程90。
在本实施方式中,另一种可选用包括性能测试目标的数据装置例如目标服务器3000_1至3000_n,其中n可以是任意整数。目标服务器3000_1至3000_n中的任意一个可能分别地具有一个或多个接口1_1至1_n,n_1至n_m。根据测试参数,多项性能测试通过并发初始化多个性能测试会话实现,性能测试会话中包括任意一台或者多台目标设备中的一个或多个接口。
图4的逻辑结构图表示出性能测试系统的逻辑组成,计算机系统1000已经具体设定以具体实施。如上配置的计算机系统1000提供可通过浏览器访问的网络界面作为用户界面。计算机系统1000上的性能测试系统以及显示用户界面10的用户系统之间通信为WebSockets 以及HTTP (超文本传输协议)通信。类似的,计算机系统1000上的性能测试系统通过特定的SSH,SOAP(简单对象访问协议),Diameter 或者其它设置在性能测试目标机器3000_1至3000_n的目标端口28进行通信。
在图4中,箭头线代表数据流。字母为首的数据流说明文字代表了可以平行运行的性能测试系统的内部流程。例如,A,B1→B4,C1→C6,D,E,F,G,H且其可以同时运行。
图4中的流程A,“项目载入”1606用于接受项目导入或者项目创建时的客户请求,并且将项目数据载入存储器中。这些数据包括:a.“界面定义”1622,界面定义是被测试对象的端口的命名及其网络ID(比如IP地址)的映射,网络ID的格式可能根据不同协议而有所不同;b. “用例消息流定义”1614,用例消息流定义是场景的定义,每一个场景都被定义为一个“请求”/“预计应答”交易的交易消息序列;在每个交易的定义中,该交易所发生的端口也被制定。同时,交易定义中还使用其他指示符,比如,指示符‘Sync’要求与前交易同步;c.“执行计划”1604,执行计划包括负荷水平(也就是TPS,每秒交易数),参与用例/场景(被选择进入测试运行的场景、不同场景的比例和会话持续时间)。
图4中的流程B,B1.“执行控制器”1602,当接收到“启动”用户请求后,调用 “数据初始”1628以运行被测目标系统上的一个脚本用来为该测试进行数据初始化;B2.“执行控制器”1602进一步发送“启动”请求至“消息流调度”1612;B3. B3总是在每一个时间窗口开始是被执行。“消息流调度”1612从“执行计划”1604和“用例消息流定义”1614获取信息;B4.“消息流调度”1612通过创建计时器1618在之后的时间窗口中随机设定消息传递的计划。
每一个计时器均会与数据:用例ID, 信息ID以及活动ID绑定,当计时器终止或者激活时,用例ID, 信息ID以及会话ID被发送到“请求分派器”1620。
会话ID的创建时实现并发的一部分。例如,对于用例/场景 UC1,所创建的会话ID可以在UC100000000至UC199999999的范围内。同时,当在流程3的C3对信息数据编码时,根据业务逻辑,一些关键域,比如用户ID应该具有与会话ID相同的数字后缀。在数据初始化时也采用同样的规则。如果被使用的数字到达了数据上限(99999999),则再循环回最小数字(00000000)。
“消息流调度”1612是根据“执行计划”1604来控制测试执行的关键组件。它随着每个时间窗口循环运行。时间窗口定义为可配置的以秒为单位的数字,当测试开始时,时间窗口序号为0。每当正在运行的测试进入一个新的时间窗口,“消息流调度”1612在后续的时间窗口上创建计时器1618(可分配计时器的时间窗口的数量取决于用例的最大会话持续时间)直至临近的下一个时间窗口的计时器数量到达需要的TPS。
图4中的流程C,C1.当一个计时器终止时,绑定的数据会被发送至“请求分派器”1620;C2.“请求分派器”1620通过消息ID从“用例消息流定义”1614获取消息细节并且进一步获取“端口定义”1622;C3.“请求分派器”1620根据指定协议对消息进行编码并且将消息通过消息传输器(1630,1632,1634)发送到被测试的目标系统;消息传输器(1630,1632,1634)是作为指定端口的适配器而被接入至该性能测试系统的服务端;C4.每一次请求消息的发送都会被记录在“执行跟踪记录”1616中;C5.传输器(1630,1632,1634)从目标系统端将响应输出至“响应验证”1624;C6. “应答验证”1624从“用例消息流定义”1614接收预期应答并与接收的应答比较;C7.“应答验证”1624会因为被接收的应答以及对其的验证而更新“执行跟踪记录”。
上述“应答验证”1624和“执行跟踪记录”1616标示为多重可分布的。然而,可分布性可以根据需要应用在任意组件。参看执行描述的8.1。
图4中的流程D,“机器统计数据收集器”1636通过SSH端口运行被测目标系统中的目标机器上的性能采样脚本。目标机器可以通过客户端在观察列表上动态指定。被收集的采样数据记录在“机器统计”1626中。
图4中的流程E、F,“图表服务器”1608从“执行跟踪记录”1616和“机器统计数据收集器”1626接收数据,并将数据传送至图表组件,图表组件在用户端监听,,收集数据并生成图表。用户通过在客户端的观察列表来定义图表。
图4中的流程G、H,“通知服务器”1608从“执行跟踪记录”1616和机器统计数据收集器”1626接收数据,这些数据被认为是意外,如非预计的应答,过长等待时间以及过高CPU使用等。
图4中的流程I,“执行控制器”1602作为一个服务,可以从客户端接收请求并动态地调整“执行计划”1604。新计划在B3中生效。系统将检验测试服务器和目标系统之间的网络带宽。平均消息量对于特定测试是已知因素,所以TPS的极限以可知。这也是用户调节TPS的上限。
在本实施方式中,性能测试系统配置为使用Erlang/OTP (开放式电信平台)框架,其在高并发处理中表现优秀。已知每秒4500交易交易数在Centos VM(虚拟机),4核英特尔i7,8G系统存储上可以无障碍运行且配置用于上述性能测试。可以预计运行Ubuntu或Centos的最基本的AWS EC2实例或者谷歌云平台虚拟机实例可以支持1000TPS。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (21)
1.性能测试系统,其特征在于,包括被配置为执行性能测试的处理结构,所述性能测试包括在一个测试周期中自动地、重复地发起针对至少一个性能测试目标的多个并发测试会话,所述处理结构被配置为在测试周期中接收测试修改请求,并作为对这些请求的响应,在测试周期的剩余部分自动修改所述性能测试。
2.根据权利要求1所述的性能测试系统,其特征在于,所述处理结构被配置为通过改变所述测试会话的发起频率自动修改所述性能测试。
3.根据权利要求1所述的性能测试系统,其特征在于,所述处理结构被配置为通过改变被发起的测试会话的场景自动修改所述性能测试。
4.根据权利要求1所述的性能测试系统,其特征在于,所述性能测试包括在所述测试周期中自动地、重复地发起多个不同场景的测试会话,其中所述处理结构被配置为自动地通过改变即将被发起的每种场景的测试会话数量的相对比例以自动修改所述性能测试。
5.根据权利要求1所述的性能测试系统,其特征在于,所述处理结构被配置为通过多种通信端口自动地、重复地发起针对至少一个性能测试目标的并发测试会话。
6.根据权利要求1所述的性能测试系统,其特征在于,所述处理结构被配置具有一个用户界面使得用户可以运行性能测试并发起对测试的修改。
7.一种性能测试的计算机实现方法,其特征在于,包括:
使用计算机,执行性能测试,所述性能测试包括在一个测试周期中自动地、重复地发起针对至少一个性能测试目标的并发测试会话;且
使用计算机,在所述测试周期中接收测试修改请求,作为对这些请求的响应,在所述测试周期的剩余部分自动修改所述性能测试。
8.根据权利要求7所述的性能测试的计算机实现方法,其特征在于,进一步包括:
使用计算机,通过改变所述测试会话的发起频率自动修改所述性能测试。
9.根据权利要求7所述的计算机实现方法,其特征在于,进一步包括:
使用计算机,通过改变被发起的测试会话的场景而自动修改所述性能测试。
10.根据权利要求7所述的计算机实现方法,其特征在于,其中所述性能测试包括在所述测试周期中自动地、重复地发起多个不同场景的测试会话,其中所述实现方法进一步包括:
使用计算机,自动地通过改变即将被发起的每一种场景的测试会话数量的相对比例以自动修改所述性能测试。
11.根据权利要求7所述的计算机实现方法,其特征在于,进一步包括,
使用计算机,通过多种通信端口自动地、重复地发起针对至少一个性能测试目标的并发测试会话。
12.根据权利要求7所述的计算机实现方法,其特征在于,进一步包括,使用计算机,形成一个用户界面使用户可以运行性能测试并发起对测试的修改。
13.一种非临时计算机可读介质,其特征在于,所述非临时计算机可读介质具体化成可在计算机系统上执行以进行性能测试的计算机程序,所述计算机程序包括:
用于执行性能测试的计算机程序代码,所述性能测试包括在一个测试周期中自动地、重复地发起针对至少一个性能测试目标的多个并发测试会话;以及,
在所述测试周期中用于接收测试修改请求,并作为对这些请求的响应,在所述测试周期的剩余部分自动修改性能测试的计算机程序代码。
14.根据权利要求13所述的非临时计算机可读介质,其特征在于,其中用于自动修改性能测试的计算机程序包括:
通过改变所述测试会话的发起频率而自动修改所述性能测试的计算机程序代码。
15.根据权利要求13所述的非临时计算机可读介质,其特征在于,其中用于自动修改性能测试的计算机程序包括:
通过改变被发起的测试会话的场景而自动修改所述性能测试的计算机程序代码。
16.根据权利要求13所述的非临时计算机可读介质,其特征在于,其中所述性能测试包括在所述测试周期中自动地、重复地发起多个不同场景的测试会话,其中用于自动修改性能测试的计算机程序代码包括:
通过改变即将被发起的每一种场景的测试会话数量相对比例以自动修改所述性能测试的计算机程序代码。
17.根据权利要求13所述的非临时计算机可读介质,其特征在于,所述计算机程序包括:
通过多种通信端口自动地、重复地发起针对至少一个性能测试目标的并发测试会话的计算机程序代码。
18.根据权利要求13所述的非临时计算机可读介质,其特征在于,其中所述计算机程序包括:
通过形成一个用户界面使得用户可以运行性能测试并发起对测试的修改的计算机程序代码。
19.计算机测试系统,其特征在于,包括:
处理结构,所述处理结构被配置为用于执行性能测试,所述性能测试包括在一个测试周期中自动地、重复地发起针对至少一个性能测试目标的并发测试会话;
所述处理结构被配置在所述测试周期中接收请求以订阅或取消订阅关于所述测试会话的被选择的一个或多个子类的即时统计数据的即时报告, 作为对这些请求的响应,在测试周期中自动开始重复发送被选择的即时报告至请求发送者,或者停止发送被取消订阅的即时报告。
20.一种计算机实现的性能测试方法,其特征在于,包括:
使用计算机,执行性能测试,所述性能测试包括在一个测试周期中自动地、重复地发起针对至少一个性能测试目标的并发测试会话;
使用计算机,在所述测试周期中接收请求以订阅或取消订阅关于所述测试会话的被选择的一个或多个子类的即时统计数据的即时报告,作为对这些请求的响应,在测试周期中自动开始重复发送被选择的即时报告至请求发送者,或者停止发送被取消订阅的即时报告。
21.一种非临时计算机可读介质,其特征在于,所述非临时计算机可读介质具体化成可在计算机系统上执行以进行性能测试的计算机程序,所述计算机程序包括:
用于执行性能测试的计算机程序代码,所述性能测试包括在一个测试周期中自动地、重复地发起针对至少一个性能测试目标的并发测试会话;
在所述测试周期中接收请求以订阅或取消订阅关于所述测试会话的一个或多个子类的即时统计数据的即时报告,作为对这些请求的响应, 在测试周期中自动开始重复发送被选择的即时报告至请求发送者,或者停止发送被取消订阅的即时报告的程序代码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461994947P | 2014-05-18 | 2014-05-18 | |
US61/994947 | 2014-05-18 | ||
PCT/CA2015/050445 WO2015176179A1 (en) | 2014-05-18 | 2015-05-19 | Performance testing system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106575248A true CN106575248A (zh) | 2017-04-19 |
Family
ID=54553147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580037633.2A Pending CN106575248A (zh) | 2014-05-18 | 2015-05-19 | 性能测试系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20170091079A1 (zh) |
CN (1) | CN106575248A (zh) |
CA (1) | CA2949397A1 (zh) |
WO (1) | WO2015176179A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737097A (zh) * | 2020-06-05 | 2020-10-02 | 浪潮电子信息产业股份有限公司 | 一种流处理系统的性能测试方法及相关装置 |
CN112015655A (zh) * | 2020-09-01 | 2020-12-01 | 中国银行股份有限公司 | 测试案例的分配方法、装置、设备及可读存储介质 |
CN113868112A (zh) * | 2020-06-30 | 2021-12-31 | 中兴通讯股份有限公司 | 设备测试方法和装置、存储介质及电子装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10445166B2 (en) * | 2014-06-24 | 2019-10-15 | International Business Machines Corporation | System verification of interactive screenshots and log files between client systems and server systems within a network computing environment |
US10929290B2 (en) * | 2016-12-31 | 2021-02-23 | Intel Corporation | Mechanism for providing reconfigurable data tiers in a rack scale environment |
US20190004926A1 (en) * | 2017-06-29 | 2019-01-03 | Nicira, Inc. | Methods and systems that probabilistically generate testing loads |
US10915300B2 (en) * | 2017-07-24 | 2021-02-09 | Wix.Com Ltd. | Editing a database during preview of a virtual web page |
US10210074B1 (en) | 2018-06-07 | 2019-02-19 | Capital One Services, Llc | Performance testing platform that enables reuse of automation scripts and performance testing scalability |
CN111193634B (zh) * | 2019-09-12 | 2021-08-31 | 腾讯科技(深圳)有限公司 | 一种压力测试方法、装置和计算机可读存储介质 |
CN111475398A (zh) * | 2020-03-08 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种服务器nic诊断方法、系统、终端及存储介质 |
CN111555940B (zh) * | 2020-04-28 | 2022-02-01 | 北京字节跳动网络技术有限公司 | 客户端的测试方法、装置、电子设备及计算机可读存储介质 |
CN112511367B (zh) | 2020-07-31 | 2022-11-15 | 中国移动通信有限公司研究院 | 一种测试方法及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852180A (zh) * | 2005-12-12 | 2006-10-25 | 华为技术有限公司 | 一种多媒体服务系统性能测试方法 |
CN101576844A (zh) * | 2008-05-09 | 2009-11-11 | 北京世纪拓远软件科技发展有限公司 | 软件系统性能测试方法和系统 |
EP1368919B1 (en) * | 2001-10-01 | 2010-08-04 | Ixia Communications | Methods and systems for testing stateful network communications devices |
CN101882105A (zh) * | 2010-06-01 | 2010-11-10 | 华南理工大学 | 一种测试Web网页并发环境下响应时间的方法 |
CN102611639A (zh) * | 2006-07-21 | 2012-07-25 | 华为技术有限公司 | 一种即时消息系统中发送即时消息报告的系统 |
CN102622292A (zh) * | 2011-01-27 | 2012-08-01 | 中国人民解放军63928部队 | 一种基于标准化测试语言的Web应用功能测试方法 |
US20130179144A1 (en) * | 2012-01-06 | 2013-07-11 | Frank Lu | Performance bottleneck detection in scalability testing |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7890806B2 (en) * | 2005-05-24 | 2011-02-15 | Alcatel-Lucent Usa, Inc. | Auto-executing tool for developing test harness files |
US9110496B1 (en) * | 2011-06-07 | 2015-08-18 | Interactive TKO, Inc. | Dynamic provisioning of a virtual test environment |
US20150100684A1 (en) * | 2012-06-08 | 2015-04-09 | Stephane Maes | Test and management for cloud applications |
US9098631B2 (en) * | 2013-01-07 | 2015-08-04 | Appvance Inc. | Methods, devices, systems, and non-transitory machine-readable medium for performing an automated calibration for testing of a computer software application |
US9304891B1 (en) * | 2013-11-04 | 2016-04-05 | Intuit Inc. | Load-test generator |
-
2015
- 2015-05-19 CN CN201580037633.2A patent/CN106575248A/zh active Pending
- 2015-05-19 WO PCT/CA2015/050445 patent/WO2015176179A1/en active Application Filing
- 2015-05-19 US US15/311,845 patent/US20170091079A1/en not_active Abandoned
- 2015-05-19 CA CA2949397A patent/CA2949397A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1368919B1 (en) * | 2001-10-01 | 2010-08-04 | Ixia Communications | Methods and systems for testing stateful network communications devices |
CN1852180A (zh) * | 2005-12-12 | 2006-10-25 | 华为技术有限公司 | 一种多媒体服务系统性能测试方法 |
CN102611639A (zh) * | 2006-07-21 | 2012-07-25 | 华为技术有限公司 | 一种即时消息系统中发送即时消息报告的系统 |
CN101576844A (zh) * | 2008-05-09 | 2009-11-11 | 北京世纪拓远软件科技发展有限公司 | 软件系统性能测试方法和系统 |
CN101882105A (zh) * | 2010-06-01 | 2010-11-10 | 华南理工大学 | 一种测试Web网页并发环境下响应时间的方法 |
CN102622292A (zh) * | 2011-01-27 | 2012-08-01 | 中国人民解放军63928部队 | 一种基于标准化测试语言的Web应用功能测试方法 |
US20130179144A1 (en) * | 2012-01-06 | 2013-07-11 | Frank Lu | Performance bottleneck detection in scalability testing |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737097A (zh) * | 2020-06-05 | 2020-10-02 | 浪潮电子信息产业股份有限公司 | 一种流处理系统的性能测试方法及相关装置 |
CN111737097B (zh) * | 2020-06-05 | 2022-06-07 | 浪潮电子信息产业股份有限公司 | 一种流处理系统的性能测试方法及相关装置 |
CN113868112A (zh) * | 2020-06-30 | 2021-12-31 | 中兴通讯股份有限公司 | 设备测试方法和装置、存储介质及电子装置 |
CN112015655A (zh) * | 2020-09-01 | 2020-12-01 | 中国银行股份有限公司 | 测试案例的分配方法、装置、设备及可读存储介质 |
CN112015655B (zh) * | 2020-09-01 | 2023-08-08 | 中国银行股份有限公司 | 测试案例的分配方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CA2949397A1 (en) | 2015-11-26 |
WO2015176179A1 (en) | 2015-11-26 |
US20170091079A1 (en) | 2017-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106575248A (zh) | 性能测试系统和方法 | |
US10884910B2 (en) | Method to configure monitoring thresholds using output of load or resource loadings | |
CN102244594B (zh) | 在手动和自动测试工具中的网络仿真技术 | |
US20210176136A1 (en) | Continuous data sensing of functional states of networked computing devices to determine efficiency metrics for servicing electronic messages asynchronously | |
CN103959745B (zh) | 监视应用程序资源消耗的方法和设备 | |
CN102257489B (zh) | 网格和相关联的可视化的双向更新 | |
CN104199879B (zh) | 一种数据处理方法和数据处理装置 | |
CN105900397A (zh) | 用于移动云服务的本地代理 | |
CN108696400A (zh) | 网络监测方法和装置 | |
CN110377522A (zh) | 交易场景的测试方法、装置、计算设备以及介质 | |
CN110007950A (zh) | 一种应用程序接口的管理方法、装置及服务器 | |
CN109600724A (zh) | 一种短信发送的方法和装置 | |
CN109614340A (zh) | 应用程序的开发调试方法、装置、电子设备及存储介质 | |
CN108446370B (zh) | 语音数据统计方法和系统 | |
CN107273250A (zh) | 电子化保单自动承保系统的测试方法及装置 | |
CN108596741A (zh) | 网销产品管理方法、装置、终端设备及存储介质 | |
CN103338132B (zh) | 一种设备接入管理平台的验证方法及系统 | |
US20240314047A1 (en) | Cell-based architecture for an extensibility platform | |
US11368554B2 (en) | Systems and methods for regulating service behavior | |
CN105007501B (zh) | 数据的采集方法、装置和系统容量的测试方法、装置 | |
CN103577438B (zh) | 一种用于发送用户反馈信息的方法、装置与系统 | |
Xu et al. | Innovation catch-up enabled by the window of opportunity in high-velocity markets and the intrinsic capabilities of an enterprise: the case of HTC | |
US11936517B2 (en) | Embedding custom container images and FaaS for an extensibility platform | |
CN108537509A (zh) | 日常行为管理系统 | |
CN103684931B (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: 20170419 |