CN111752828A - 一种Web应用的性能测试方法以及装置 - Google Patents
一种Web应用的性能测试方法以及装置 Download PDFInfo
- Publication number
- CN111752828A CN111752828A CN202010499402.6A CN202010499402A CN111752828A CN 111752828 A CN111752828 A CN 111752828A CN 202010499402 A CN202010499402 A CN 202010499402A CN 111752828 A CN111752828 A CN 111752828A
- Authority
- CN
- China
- Prior art keywords
- test
- web application
- sub
- performance
- target web
- 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
- 238000011056 performance test Methods 0.000 title claims abstract description 117
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012360 testing method Methods 0.000 claims abstract description 364
- 238000013515 script Methods 0.000 claims abstract description 135
- 238000012545 processing Methods 0.000 claims description 33
- 230000006399 behavior Effects 0.000 claims description 19
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 claims description 13
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 17
- 238000004590 computer program Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (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
本申请提供了一种Web应用的性能测试方法以及装置,用于在对Web应用进行性能测试时,在一定程度上提高测试效率。本申请提供的一种Web应用的性能测试方法,包括:第一节点设备在确定待测试的目标Web应用后,获取目标Web应用相匹配的测试用例以及测试脚本;第一节点设备将测试用例以及测试脚本分发至多个第二节点设备;多个第二节点设备分别根据测试用例以及测试脚本,向目标Web应用发起性能测试,并将各自获取到的子性能测试结果反馈至第一节点设备;第一节点设备汇总多个子性能测试结果,并在汇总结果的基础上生成目标Web应用的性能测试结果。
Description
技术领域
本申请涉及测试领域,尤其涉及一种Web应用的性能测试方法以及装置。
背景技术
Web应用在开发环节或者更新维护环节中,需要进行应用的测试,以便测试应用的性能,并对异常部分进行修正,当通过测试时,才可上架推向市场、推向用户。
传统的应用测试方式,采用的是人工测试方式,由专门测试应用的工作人员手动在终端侧向Web应用发起大量的处理请求,测试Web应用在目标测试要求下的种种性能,例如响应速度、处理时长、最大处理量等等。由于人工测试方式依赖于人工实现,尽管具有高测试精度的优点,但测试效率较低,若Web应用需要短时间内通过测试推向市场,则人工测试方式可能影响到上架时间。
在人工测试方式测试效率较低的背景下,又出现了自动化测试方式,通过测试脚本的设置,自动模拟工作人员的操作行为进行测试,可在很大程度上提高Web应用的测试效率,而在现有的相关技术的研究中,发明人发现,尽管现有技术中测试脚本的设置大幅度提高了测试效率,然而,对于在实际应用场景中伴随较大处理量的Web应用,测试脚本的测试效率却无法满足测试需求,显然,该情况下难以精确地得到Web应用的性能测试结果。
发明内容
本申请提供了一种Web应用的性能测试方法以及装置,用于在对Web应用进行性能测试时,在一定程度上提高测试效率。
第一方面,本申请提供了一种Web应用的性能测试方法,方法包括:
第一节点设备在确定待测试的目标Web应用后,获取目标Web应用相匹配的测试用例以及测试脚本;
第一节点设备将测试用例以及测试脚本分发至多个第二节点设备;
多个第二节点设备分别根据测试用例以及测试脚本,向目标Web应用发起性能测试,并将各自获取到的子性能测试结果反馈至第一节点设备;
第一节点设备汇总多个子性能测试结果,并在汇总结果的基础上生成目标Web应用的性能测试结果。
结合本申请第一方面,在本申请第一方面第一种可能的实现方式中,第一节点设备在确定待测试的目标Web应用后,获取目标Web应用相匹配的测试用例以及测试脚本包括:
第一节点设备在确定待测试的目标Web应用后,获取本次性能测试任务对应的测试用例;
第一节点设备基于浏览器对应的Chrome Devtools Protocol协议,获取基于测试用例进行历史性能测试任务时录制用户操作行为得到的测试脚本。
结合本申请第一方面第一种可能的实现方式,在本申请第一方面第二种可能的实现方式中,测试脚本包括多个子测试脚本,多个子测试脚本由第一节点设备基于ChromeDevtools Protocol协议,将历史性能测试任务根据不同的功能点拆分为多个子历史性能测试任务,并分别录制进行多个子历史性能测试任务时对应的用户操作行为得到的。
结合本申请第一方面第二种可能的实现方式,在本申请第一方面第三种可能的实现方式中第一节点设备将测试用例以及测试脚本分发至多个第二节点设备包括:
第一节点设备以子测试脚本以及测试用例中子测试脚本相对应的子测试用例两者为基础单位,将多个子测试脚本以及多个子测试用例分别发送至相对应的第二节点设备;或者,
第一节点设备将多个子测试脚本分别发送至相对应的第二节点设备,以及将测试用例发送至多个第二节点设备。
结合本申请第一方面第三种可能的实现方式,在本申请第一方面第四种可能的实现方式中目标Web应用为待测试应用接口(Application Programming Interface,API)性能的Web应用,测试用例以及测试脚本与API性能测试相对应,多个第二节点设备分别根据测试用例以及测试脚本,向目标Web应用发起性能测试包括:
多个第二节点设备分别根据测试用例以及测试脚本,向目标Web应用发起API性能测试,以得到目标Web应用的API性能测试结果。
第二方面,本申请还提供了一种Web应用的性能测试装置,装置包括:
第一处理单元,用于在确定待测试的目标Web应用后,获取目标Web应用相匹配的测试用例以及测试脚本;
第一收发单元,用于将测试用例以及测试脚本分发至多个第二节点设备;
多个第二处理单元,用于分别根据测试用例以及测试脚本,向目标Web应用发起性能测试,并将各自获取到的子性能测试结果通过第二收发单元反馈至第一节点设备;
第一处理单元,还用于汇总多个子性能测试结果,并在汇总结果的基础上生成目标Web应用的性能测试结果。
结合本申请第二方面,在本申请第二方面第一种可能的实现方式中,第一处理单元,具体用于:
在确定待测试的目标Web应用后,获取本次性能测试任务对应的测试用例;
基于浏览器对应的Chrome Devtools Protocol协议,获取基于测试用例进行历史性能测试任务时录制用户操作行为得到的测试脚本。
结合本申请第二方面第一种可能的实现方式,在本申请第二方面第二种可能的实现方式中,测试脚本包括多个子测试脚本,多个子测试脚本由第一节点设备基于ChromeDevtools Protocol协议,将历史性能测试任务根据不同的功能点拆分为多个子历史性能测试任务,并分别录制进行多个子历史性能测试任务时对应的用户操作行为得到的。
结合本申请第二方面第二种可能的实现方式,在本申请第二方面第三种可能的实现方式中,第一收发单元,具体用于以子测试脚本以及测试用例中子测试脚本相对应的子测试用例两者为基础单位,将多个子测试脚本以及多个子测试用例分别发送至相对应的第二节点设备;或者,第一收发单元,具体用于将多个子测试脚本分别发送至相对应的第二节点设备,以及将测试用例发送至多个第二节点设备。
结合本申请第二方面第三种可能的实现方式,在本申请第二方面第四种可能的实现方式中,目标Web应用为待测试API性能的Web应用,测试用例以及测试脚本与API性能测试相对应,多个第二处理单元,具体用于分别根据测试用例以及测试脚本,向目标Web应用发起API性能测试,以得到目标Web应用的API性能测试结果。
第三方面,本申请还提供了一种测试设备,测试设备包括处理器和存储器,存储器中存储有计算机程序,处理器调用存储器中的计算机程序时执行如本申请第一方面的Web应用的性能测试方法中第一节点设备或者第二节点设备执行的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行如本申请第一方面的Web应用的性能测试方法中第一节点设备或者第二节点设备执行的步骤。
从以上技术方案可以看出,本申请具有以下优点:
第一节点设备在确定待测试的目标Web应用后,获取该目标Web应用相匹配的测试用例以及测试脚本,再将该测试用例以及测试脚本分发至多个的第二节点设备,如此,构成了一个分布式架构,在第一节点设备的调度下,多个第二节点设备则可分别根据测试用例以及测试脚本,向目标Web应用发起性能测试,进行高并发测试,每个第二节点设备可通过协助以及异步处理的方式充分利用服务器资源模拟高并发,在单个节点的基础上再次横向扩展高并发能力,由此在测试脚本的设置下,又在一定程度上提高了Web应用的测试效率,满足高测试效率需求,第一节点设备在每个第二节点设备得到的子性能测试结果的基础上,即可汇总并生成目标Web应用的性能测试结果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请Web应用的性能测试方法的一种场景示意图;
图2为本申请Web应用的性能测试方法的一种流程示意图;
图3为本申请获取测试用例以及测试脚本的一种流程示意图;
图4为本申请Web应用的性能测试装置的一种结构示意图;
图5为本申请测试设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
在本申请中,Web应用的性能测试方法、装置或者计算机可读存储介质,可应用在相关的测试设备上,用于提高目标Web应用的测试效率。
首先,参阅图1,图1示出了本申请Web应用的性能测试方法的一种场景示意图,在本申请中,负责Web应用测试的工作人员可在安装有测试工具的设备上触发Web应用的性能测试任务,其中,该设备可以为第一节点设备、第二节点设备或者任意设备,工作人员在测试工具的用户界面(User Interface,UI)上,可确定当前待测试的目标Web应用,再由第一节点设备向多个第二节点设备分发测试任务,即分发测试用例以及测试脚本,对目标Web应用进行高测试效率的性能测试。
其中,第一节点设备、第二节点设备等设备,具体可以为物理主机、物理服务器等硬件设备,不仅可用于进行本申请涉及的数据计算,进一步的还可随应用场景具有显示屏、键盘等可进行人机交互的组件,从而具有人际交互能力,例如个人数字助理(PersonalDigital Assistance,PDA)、智能手机、平板电脑、笔记本电脑、智能手环等终端设备。
继续参阅图2,图2示出了本申请Web应用的性能测试方法的一种流程示意图,在本申请中,Web应用的性能测试方法,具体可包括如下步骤S201至步骤S204:
步骤S201,第一节点设备在确定待测试的目标Web应用后,获取目标Web应用相匹配的测试用例以及测试脚本;
可以理解,在本申请中,可针对不同应用、不同版本、不同测试时间段等不同的测试内容,为一个或者多个Web应用预先配置与性能测试相关的测试用例以及测试脚本。
测试用例,是指实施测试而向Web应用提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。
测试脚本,是指进行自动化测试而编写的脚本,用于模拟工作人员在测试过程中的用户操作行为。
示例性的,可配置测试用例集合以及测试脚本集合,再触发当前的Web应用测试任务时,再分别从测试用例集合以及测试脚本集合中查找、匹配相对应的测试用例以及测试脚本。
例如,测试用例集合中的测试用例,以及测试脚本集合中的测试脚本,可赋予对应的Web应用的应用标识(Identification,ID)以及测试内容ID,再从本次测试任务的任务信息中提取当前测试任务对应的目标应用ID以及目标测试内容ID,再从测试用例集合以及测试脚本集合中提取相匹配的目标测试用例以及目标测试脚本。
步骤S202,第一节点设备将测试用例以及测试脚本分发至多个第二节点设备;
得到当前测试任务对应的测试用例以及测试脚本后,第一节点设备即可进行本次测试任务的任务分发和调度,将测试用例以及测试脚本分发至多个第二节点设备上。
示例性的,该第二节点设备可以为预先配置的节点设备,或者,也可以为当前第一节点设备确定的节点设备,例如,第一节点设备可以从设备网络中确定具有空闲计算资源的节点设备,再将这些节点设备识别为本次测试任务对应的第二节点设备,进一步的,还可根据节点设备具有的空闲计算资源的大小,确定第二节点设备的数量及其各自对应的任务处理量,从而在任务分发的基础上,提高对空闲计算资源的利用率,有利于第二节点设备的灵活部署以及任务处理量的调整。
步骤S203,多个第二节点设备分别根据测试用例以及测试脚本,向目标Web应用发起性能测试,并将各自获取到的子性能测试结果反馈至第一节点设备;
第二节点设备收到测试用例以及测试脚本后,即可向任务指定的目标Web应用建立通信连接,并基于与目标Web应用之间的通信连接,发起性能测试。
在性能测试过程中,第二节点设备可根据任务需求,向Web应用发送数据查询请求、数据推送请求、数据更新请求等不同类型的处理请求,以使得目标Web应用根据接收到的处理请求,响应处理,并可反馈处理结果,在这过程中,第二节点设备可监听目标Web应用的处理,得到子性能测试结果。
第二节点设备监听得到目标Web应用在发起的性能测试的子性能测试结果后,则可向第一节点设备反馈。
步骤S204,第一节点设备汇总多个子性能测试结果,并在汇总结果的基础上生成目标Web应用的性能测试结果。
在本申请中,第一节点设备在多个子性能测试结果的汇总结果的基础上,可按照预置的输出要求,生成对应的形式的目标Web应用的性能测试结果。
示例性的,以输出要求为测试报告为例,第一节点设备接收到的子性能测试结果只简单的记载了测试结果,从而可方便第一节点设备进行内容的提取以及汇总,第一节点设备在得到汇总结果后,再按照测试报告的格式要求,在报告模板中写入本次测试任务的性能测试结果,得到以表格和时序图多方位展示的性能测试报告。
从图2所示实施例中可看出,第一节点设备在确定待测试的目标Web应用后,获取该目标Web应用相匹配的测试用例以及测试脚本,再将该测试用例以及测试脚本分发至多个的第二节点设备,如此,构成了一个分布式架构,在第一节点设备的调度下,多个第二节点设备则可分别根据测试用例以及测试脚本,向目标Web应用发起性能测试,进行高并发测试,每个第二节点设备可通过协助以及异步处理的方式充分利用服务器资源模拟高并发,在单个节点的基础上再次横向扩展高并发能力,由此在测试脚本的设置下,又在一定程度上提高了Web应用的测试效率,满足高测试效率需求,第一节点设备在每个第二节点设备得到的子性能测试结果的基础上,即可汇总并生成目标Web应用的性能测试结果。
下面对本申请Web应用的性能测试方法中各个步骤可能的实现方式,继续做详细说明。
在一种示例性的实现方式中,如图3示出的获取测试用例以及测试脚本的一种流程示意图,第一节点设备获取目标Web应用相匹配的测试用例以及测试脚本,可通过如下步骤实现:
步骤S301,第一节点设备在确定待测试的目标Web应用后,获取本次性能测试任务对应的测试用例;
示例性的,测试用例具体可以携带在本次性能测试任务的任务信息中,由工作人员实时编写,或者,也可从预先配置的测试用例集合中查找、匹配相对应的测试用例。
例如,测试用例集合中的测试用例,可赋予对应的Web应用的应用标识(Identification,ID),再从本次测试任务的任务信息中提取当前测试任务对应的目标应用ID以及目标测试内容ID,再从测试用例集合中提取相匹配的目标测试用例。
步骤S302,第一节点设备基于浏览器对应的Chrome Devtools Protocol协议,获取基于测试用例进行历史性能测试任务时录制用户操作行为得到的测试脚本。
在本申请中,可通过浏览器向Web应用发起性能测试,对应的,在一种具体实现方式中,可基于浏览器中的Chrome Devtools Protocol协议录制测试脚本。
示例性的,Chrome Devtools Protocol协议可允许工作人员对基于Chrome浏览器的Web应用程序进行调试、分析等,该协议数据通讯基于WebSocket,利用WebSocket建立连接DevTools和浏览器内核的快速数据通道。
Websocke上HTML5提供的一种在单个TCP连接上进行全双工通讯的协议。Websocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在Websocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。在Websocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道,两者之间就直接可以数据互相传送。
在该环境下,可获取基于测试用例进行历史性能测试任务时录制用户操作行为得到的测试脚本,也就是说,在触发本次性能测试任务之前,可录制该测试用例进行历史性能测试任务时的用户操作行为,得到的测试脚本可用于后面的自动化测试,在触发本次性能测试任务时,可调取使用,还原工作人员基于该测试用例进行历史性能测试任务时的用户操作行为,再次进行测试。
其中,在又一种示例性的实现方式中,第一节点设备在为第二节点设备分发测试任务的过程中,为便于分发测试任务以及继续提高测试效率、测试效率,在本申请中,还可将测试任务按照预置的拆分策略进行拆分。
示例性的,测试脚本包括多个子测试脚本,多个子测试脚本由第一节点设备利用Chrome Devtools Protocol协议,将历史性能测试任务根据不同的功能点拆分为多个子历史性能测试任务,并分别录制进行多个子历史性能测试任务时对应的用户操作行为得到的。
该功能点,也可理解为性能测试任务的类型,例如,某个UI界面中对应多个用户个人信息项,用户可在该UI界面中查阅并更新其中一个或者多个的用户个人信息项,则与该UI界面更新用户个人信息项的用户操作行为则可认为是一个功能点,亦是对应一个更新个人信息类型的性能测试任务。
对应的,在录制测试脚本时,可针对不同的功能点,分别录制对应的用户操作行为得到子测试脚本;或者,在录制得到整体的测试脚本时,可针对不同的功能点,从该整体的测试脚本中提取出对应的子测试脚本,具体可随实际需要调整。
如此,在针对不同的功能点拆分得到不同的测试脚本后,可针对不同的功能点,让第二节点设备针对性地、集中地对具体的功能点进行性能测试,不仅便于分发测试任务以及提高测试效率,且由于对性能测试进行了精确的细化,因此还可针对这些不同的功能点,得到相对应的测试结果,从而可再进一步地提高测试精度。
在又一种示例性的实现方式中,第一节点设备将测试用例以及测试脚本分发至多个第二节点设备,具体可分为两种情况。
第一种情况
第一节点设备以子测试脚本以及测试用例中子测试脚本相对应的子测试用例两者为基础单位,将多个子测试脚本以及多个子测试用例分别发送至相对应的第二节点设备。
可以理解,第一节点设备在根据不同的功能点将测试任务拆分时,不仅可将测试脚本拆分成多个子测试脚本,还可将测试用例拆分成多个子测试用例,每个子测试任务,对应一组子测试脚本以及子测试脚本对应的子测试用例,并以每个子测试任务为单位,将多个子测试脚本以及多个子测试用例分别发送至相对应的第二节点设备。
其中,部分的第二节点设备还可承接到多个的子测试任务,即,可接收到多组的子测试脚本以及多个子测试用例。
第二种情况
第一节点设备将多个子测试脚本分别发送至相对应的第二节点设备,以及将测试用例发送至多个第二节点设备。
可以理解,第一节点设备也可根据不同的功能点,只将测试脚本拆分成多个子测试脚本,而完整的测试用例,则可在第二节点设备之间进行同步,共用一个相同的测试用例,在执行接收到的子测试脚本时,只需从完整的测试用例中查找并提取对应的部分测试用例即可。
在又一种示例性的实现方式中,本申请所称的性能测试,具体可以为API性能测试,对应的,目标Web应用为待测试API性能的Web应用,测试用例以及测试脚本与API性能测试相对应,多个第二节点设备可分别根据测试用例以及测试脚本,向目标Web应用发起API性能测试,以得到目标Web应用的API性能测试结果。
API性能测试结果,具体可包括API接口测试成功数、失败数、最大时间、最小时间、平均时间、T50时间、T90时间实时分析预览等具体测试结果。
为便于更好的实施本申请提供的Web应用的性能测试方法,本申请还提供了Web应用的性能测试装置。
参阅图4,图4为本申请Web应用的性能测试装置的一种结构示意图,在本申请中,Web应用的性能测试装置400具体可包括如下结构:
第一处理单元401,用于在确定待测试的目标Web应用后,获取目标Web应用相匹配的测试用例以及测试脚本;
第一收发单元402,用于将测试用例以及测试脚本分发至多个第二节点设备;
多个第二处理单元403,用于分别根据测试用例以及测试脚本,向目标Web应用发起性能测试,并将各自获取到的子性能测试结果通过第二收发单元404反馈至第一节点设备;
第一处理单元401,还用于汇总多个子性能测试结果,并在汇总结果的基础上生成目标Web应用的性能测试结果。
在一种示例性的实现方式中,第一处理单元401,具体用于:
在确定待测试的目标Web应用后,获取本次性能测试任务对应的测试用例;
基于浏览器对应的Chrome Devtools Protocol协议,获取基于测试用例进行历史性能测试任务时录制用户操作行为得到的测试脚本。
在又一种示例性的实现方式中,测试脚本包括多个子测试脚本,多个子测试脚本由第一节点设备基于Chrome Devtools Protocol协议,将历史性能测试任务根据不同的功能点拆分为多个子历史性能测试任务,并分别录制进行多个子历史性能测试任务时对应的用户操作行为得到的。
在又一种示例性的实现方式中,第一收发单元402,具体用于以子测试脚本以及测试用例中子测试脚本相对应的子测试用例两者为基础单位,将多个子测试脚本以及多个子测试用例分别发送至相对应的第二节点设备;或者,第一收发单元402,具体用于将多个子测试脚本分别发送至相对应的第二节点设备,以及将测试用例发送至多个第二节点设备。
在又一种示例性的实现方式中,目标Web应用为待测试API性能的Web应用,测试用例以及测试脚本与API性能测试相对应,多个第二处理单元,具体用于分别根据测试用例以及测试脚本,向目标Web应用发起API性能测试,以得到目标Web应用的API性能测试结果。
本申请实施例还提供了一种测试设备,参阅图5,图5示出了本申请测试设备的一种结构示意图,具体的,本申请提供的测试设备包括处理器501、存储器502以及输入输出设备503,处理器501用于执行存储器502中存储的计算机程序时实现如图2或图3对应实施例中Web应用的性能测试方法中第一节点设备或者第二节点设备执行的各步骤;或者,处理器501用于执行存储器502中存储的计算机程序时实现如图4对应实施例中各单元的功能,例如图4中的第一处理单元401、第二处理单元403所对应的硬件结构为处理器501,第一收发单元402或者第二收发单元404所对应的硬件结构为输入输出设备503,存储器502用于存储处理器501执行上述图2或图3对应实施例中Web应用的性能测试方法中第一节点设备或者第二节点设备执行的方法所需的计算机程序。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器502中,并由处理器501执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
测试设备可包括,但不仅限于处理器501、存储器502、输入输出设备503。本领域技术人员可以理解,示意仅仅是测试设备的示例,并不构成对测试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如测试设备还可以包括网络接入设备、总线等,处理器501、存储器502、输入输出设备503以及网络接入设备等通过总线相连。
处理器501可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是测试设备的控制中心,利用各种接口和线路连接整个测试设备的各个部分。
存储器502可用于存储计算机程序和/或模块,处理器501通过运行或执行存储在存储器502内的计算机程序和/或模块,以及调用存储在存储器502内的数据,实现计算机装置的各种功能。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据测试设备所创建的数据(例如测试用例、测试脚本、子性能测试结果、性能测试结果)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的Web应用的性能测试装置、测试设备及其相应单元的具体工作过程,可以参考如图2或图3对应实施例中Web应用的性能测试方法的说明,具体在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请如图2或图3对应实施例中Web应用的性能测试方法中第一节点设备或者第二节点设备执行的步骤,具体操作可参考如图2或图3对应实施例中Web应用的性能测试方法的说明,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(Read Only Memory,ROM)、随机存取记忆体(Random Access Memory,RAM)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请如图2或图3对应实施例中Web应用的性能测试方法中第一节点设备或者第二节点设备执行的步骤,因此,可以实现本申请如图2或图3对应实施例中Web应用的性能测试方法所能实现的有益效果,详见前面的说明,在此不再赘述。
以上对本申请提供的Web应用的性能测试方法、装置、测试设备以及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种Web应用的性能测试方法,其特征在于,所述方法包括:
第一节点设备在确定待测试的目标Web应用后,获取所述目标Web应用相匹配的测试用例以及测试脚本;
所述第一节点设备将所述测试用例以及所述测试脚本分发至多个第二节点设备;
多个所述第二节点设备分别根据所述测试用例以及所述测试脚本,向所述目标Web应用发起性能测试,并将各自获取到的子性能测试结果反馈至所述第一节点设备;
所述第一节点设备汇总多个所述子性能测试结果,并在汇总结果的基础上生成所述目标Web应用的性能测试结果。
2.根据权利要求1所述的方法,其特征在于,所述第一节点设备在确定待测试的目标Web应用后,获取所述目标Web应用相匹配的测试用例以及测试脚本包括:
所述第一节点设备在确定待测试的目标Web应用后,获取本次性能测试任务对应的测试用例;
所述第一节点设备基于浏览器对应的Chrome Devtools Protocol协议,获取基于所述测试用例进行历史性能测试任务时录制用户操作行为得到的所述测试脚本。
3.根据权利要求2所述的方法,其特征在于,所述测试脚本包括多个所述子测试脚本,多个所述子测试脚本由所述第一节点设备基于所述Chrome Devtools Protocol协议,将所述历史性能测试任务根据不同的功能点拆分为多个子历史性能测试任务,并分别录制进行所述多个所述子历史性能测试任务时对应的用户操作行为得到的。
4.根据权利要求3所述的方法,其特征在于,所述第一节点设备将所述测试用例以及所述测试脚本分发至多个第二节点设备包括:
所述第一节点设备以所述子测试脚本以及所述测试用例中所述子测试脚本相对应的子测试用例两者为基础单位,将多个所述子测试脚本以及多个所述子测试用例分别发送至相对应的所述第二节点设备;或者,
所述第一节点设备将多个所述子测试脚本分别发送至相对应的所述第二节点设备,以及将所述测试用例发送至多个所述第二节点设备。
5.根据权利要求4所述的方法,其特征在于,所述目标Web应用为待测试应用接口API性能的Web应用,所述测试用例以及所述测试脚本与API性能测试相对应,所述多个所述第二节点设备分别根据所述测试用例以及所述测试脚本,向所述目标Web应用发起性能测试包括:
多个所述第二节点设备分别根据所述测试用例以及所述测试脚本,向所述目标Web应用发起所述API性能测试,以得到所述目标Web应用的API性能测试结果。
6.一种Web应用的性能测试装置,其特征在于,所述装置包括:
第一处理单元,用于在确定待测试的目标Web应用后,获取所述目标Web应用相匹配的测试用例以及测试脚本;
第一收发单元,用于将所述测试用例以及所述测试脚本分发至多个第二节点设备;
多个第二处理单元,用于分别根据所述测试用例以及所述测试脚本,向所述目标Web应用发起性能测试,并将各自获取到的子性能测试结果通过第二收发单元反馈至所述第一节点设备;
所述第一处理单元,还用于汇总多个所述子性能测试结果,并在汇总结果的基础上生成所述目标Web应用的性能测试结果。
7.根据权利要求6所述的装置,其特征在于,所述第一处理单元,具体用于:
在确定待测试的目标Web应用后,获取本次性能测试任务对应的测试用例;
基于浏览器对应的Chrome Devtools Protocol协议,获取基于所述测试用例进行历史性能测试任务时录制用户操作行为得到的所述测试脚本。
8.根据权利要求7所述的装置,其特征在于,所述测试脚本包括多个所述子测试脚本,多个所述子测试脚本由所述第一节点设备基于所述Chrome Devtools Protocol协议,将所述历史性能测试任务根据不同的功能点拆分为多个子历史性能测试任务,并分别录制进行所述多个所述子历史性能测试任务时对应的用户操作行为得到的。
9.根据权利要求8所述的装置,其特征在于,所述第一收发单元,具体用于以所述子测试脚本以及所述测试用例中所述子测试脚本相对应的子测试用例两者为基础单位,将多个所述子测试脚本以及多个所述子测试用例分别发送至相对应的所述第二节点设备;或者,所述第一收发单元,具体用于将多个所述子测试脚本分别发送至相对应的所述第二节点设备,以及将所述测试用例发送至多个所述第二节点设备。
10.根据权利要求9所述的装置,其特征在于,所述目标Web应用为待测试应用接口API性能的Web应用,所述测试用例以及所述测试脚本与API性能测试相对应,所述多个第二处理单元,具体用于分别根据所述测试用例以及所述测试脚本,向所述目标Web应用发起所述API性能测试,以得到所述目标Web应用的API性能测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010499402.6A CN111752828A (zh) | 2020-06-04 | 2020-06-04 | 一种Web应用的性能测试方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010499402.6A CN111752828A (zh) | 2020-06-04 | 2020-06-04 | 一种Web应用的性能测试方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111752828A true CN111752828A (zh) | 2020-10-09 |
Family
ID=72674582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010499402.6A Pending CN111752828A (zh) | 2020-06-04 | 2020-06-04 | 一种Web应用的性能测试方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111752828A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535590A (zh) * | 2021-08-20 | 2021-10-22 | 北京沃东天骏信息技术有限公司 | 程序测试方法和装置 |
CN114116503A (zh) * | 2021-12-01 | 2022-03-01 | 中科新松有限公司 | 一种测试方法、装置、电子设备及存储介质 |
CN115145803A (zh) * | 2021-03-30 | 2022-10-04 | 中移(苏州)软件技术有限公司 | 一种测试方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461855A (zh) * | 2013-09-22 | 2015-03-25 | 腾讯科技(北京)有限公司 | 一种Web自动化测试方法、系统及装置 |
CN106411633A (zh) * | 2016-08-23 | 2017-02-15 | 国家电网公司 | 一种基于openstack的Web应用兼容性测试方法及其系统 |
CN109254910A (zh) * | 2018-08-08 | 2019-01-22 | 北京城市网邻信息技术有限公司 | 一种应用程序的测试方法、装置、电子设备及存储介质 |
CN109359031A (zh) * | 2018-09-04 | 2019-02-19 | 中国平安人寿保险股份有限公司 | 多设备应用程序测试方法、装置、服务器及存储介质 |
CN109871326A (zh) * | 2019-02-13 | 2019-06-11 | 广州云测信息技术有限公司 | 一种脚本录制的方法和装置 |
CN110262964A (zh) * | 2019-05-21 | 2019-09-20 | 深圳壹账通智能科技有限公司 | 测试方法、装置、设备及计算机可读存储介质 |
CN111177003A (zh) * | 2019-12-30 | 2020-05-19 | 北京同邦卓益科技有限公司 | 一种测试方法、装置、系统、电子设备及存储介质 |
-
2020
- 2020-06-04 CN CN202010499402.6A patent/CN111752828A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461855A (zh) * | 2013-09-22 | 2015-03-25 | 腾讯科技(北京)有限公司 | 一种Web自动化测试方法、系统及装置 |
CN106411633A (zh) * | 2016-08-23 | 2017-02-15 | 国家电网公司 | 一种基于openstack的Web应用兼容性测试方法及其系统 |
CN109254910A (zh) * | 2018-08-08 | 2019-01-22 | 北京城市网邻信息技术有限公司 | 一种应用程序的测试方法、装置、电子设备及存储介质 |
CN109359031A (zh) * | 2018-09-04 | 2019-02-19 | 中国平安人寿保险股份有限公司 | 多设备应用程序测试方法、装置、服务器及存储介质 |
CN109871326A (zh) * | 2019-02-13 | 2019-06-11 | 广州云测信息技术有限公司 | 一种脚本录制的方法和装置 |
CN110262964A (zh) * | 2019-05-21 | 2019-09-20 | 深圳壹账通智能科技有限公司 | 测试方法、装置、设备及计算机可读存储介质 |
CN111177003A (zh) * | 2019-12-30 | 2020-05-19 | 北京同邦卓益科技有限公司 | 一种测试方法、装置、系统、电子设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115145803A (zh) * | 2021-03-30 | 2022-10-04 | 中移(苏州)软件技术有限公司 | 一种测试方法、装置、设备及存储介质 |
CN113535590A (zh) * | 2021-08-20 | 2021-10-22 | 北京沃东天骏信息技术有限公司 | 程序测试方法和装置 |
CN114116503A (zh) * | 2021-12-01 | 2022-03-01 | 中科新松有限公司 | 一种测试方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105988688A (zh) | 一种截图的方法及装置 | |
CN108256118B (zh) | 数据处理方法、装置、系统、计算设备以及存储介质 | |
US8683268B2 (en) | Key based cluster log coalescing | |
CN111752828A (zh) | 一种Web应用的性能测试方法以及装置 | |
CN110554831B (zh) | 操作同步方法、装置、设备及存储介质 | |
CN104699591A (zh) | 一种测试场景重现方法以及装置 | |
WO2022179034A1 (zh) | 自动化测试方法、装置、电子设备及存储介质 | |
US20160147643A1 (en) | Web browser emulator | |
US10404568B2 (en) | Agent manager for distributed transaction monitoring system | |
CN108280020B (zh) | 计算机设备的监控方法、装置、终端及计算机存储介质 | |
CN105975367B (zh) | 移动设备的测试方法和装置 | |
US9141522B1 (en) | Virtual cluster immune system for dynamic testing | |
CN110750453B (zh) | 基于html5的智能移动端测试方法、系统、服务器及存储介质 | |
CN110069406B (zh) | 自动触发的tpc-ds测试方法以及系统 | |
US10432490B2 (en) | Monitoring single content page application transitions | |
CN109213955B (zh) | 数据处理方法及相关设备 | |
CN110928647A (zh) | 一种虚拟化性能测试的方法及装置 | |
US20160328200A1 (en) | Testing screens of a multi-screen device | |
CN114979730B (zh) | 传屏交互方法、装置、计算机设备和存储介质 | |
CN113821254A (zh) | 接口数据处理方法、装置、存储介质及设备 | |
JP2023519774A (ja) | 自動化テスト方法、装置、電子デバイス、記憶媒体、及びプログラム | |
CN111752827A (zh) | 一种测试脚本的生成方法以及装置 | |
CN113127369A (zh) | 一种执行脚本的处理方法以及装置 | |
US11714699B2 (en) | In-app failure intelligent data collection and analysis | |
CN112257403A (zh) | 一种pdf报表的生成方法以及装置 |
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 |
Application publication date: 20201009 |
|
RJ01 | Rejection of invention patent application after publication |