CN112860561B - 一种自动化性能测试方法及终端装置 - Google Patents
一种自动化性能测试方法及终端装置 Download PDFInfo
- Publication number
- CN112860561B CN112860561B CN202110201861.6A CN202110201861A CN112860561B CN 112860561 B CN112860561 B CN 112860561B CN 202110201861 A CN202110201861 A CN 202110201861A CN 112860561 B CN112860561 B CN 112860561B
- Authority
- CN
- China
- Prior art keywords
- page
- proxy server
- virtual proxy
- virtual
- information
- 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.)
- Active
Links
Images
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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种自动化性能测试方法及终端装置,在安装有测试环境的终端部署录制程序,所述的录制程序具有,录制器,用于中继app与浏览器之间的信息传输,并将所述的信息复制并传递给智能模块;智能模块,含有平台中不同的端口的一个txt或数据库,用于接收所述的录制器传递来的信息,并根据所述的txt或数据库,将控制信号信息转换后传输给设置模块;设置模块,用于将所述的控制信号信息翻译为浏览器可识别的代理服务器的代理脚本。本发明具有错误率低、负载效率高、智能化的优点。
Description
技术领域
本发明涉及一种计算机自动化测试技术,尤其涉及自动化性能测试方法及终端装置。
背景技术
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。目前常见的做法是用户接口(UI,User Interface)驱动方式,即自动去WEB页面上找到指定的元素,并设置元素的属性,然后触发相关的事件,以指导页面自动地执行预定的操作。UI驱动方式也是自动化模拟手工操作页面的基本要求。现有技术如公告号为CN103309800B的中国发明专利,记载类一种网页自动化测试方法和系统,方法包插加载被测页面中的代理脚本,该代理脚本枚举被测页面瓜哇脚本(JS)环境中的JS对象;将由该代理脚本所枚举出的JS对象映射到测试用例JS环境中;测试用例根据该测试用例JS环境触发被测页面的页面动作以执行测试逻辑。应用本发明实施方式之后,能够避开元素匹配的工作量,极大地提高前台测试的效率,并由此降低测试成本。
发明内容
本发明的目的在于针对现有技术提供一种错误率低、负载效率高、智能化的自动化性能测试方法。
本发明解决上述技术问题所采用的技术方案为:一种自动化性能测试方法,包括配置一个终端经网络适配器连接网络,其中,终端配置有录制程序和浏览器,录制程序含有设置模块、智能模块和录制模块;终端配置有多个虚拟代理服务器;虚拟代理服务器根据浏览器配置访问相应的网络的页面;录制器在终端的app之间进行中继,录制器将中继的信息复制发送到智能模块;智能模块识别中继的信息,并根据预设的txt或数据库将中继的信息识别后,向设置模块发送控制信息,设置模块根据控制信息向浏览器发送虚拟代理服务器能识别的代理脚本。为了提高自动化程度和批量测试的性能,在测试的虚拟代理服务器上进行批量请求的发送,智能模块通过监视录制器中继的信息根据虚拟代理服务器的访问负载、app的虚拟用户数、HPS、TPS、事物响应时间、每分钟处理的页面数进行优化;浏览器加载被测页面中的代理脚本,代理脚本枚举该被测页面脚本环境中的对象;将由该代理脚本所枚举出的对象映射到测试用例环境中;测试用例根据所述测试用例环境触发该被测页面的页面动作以执行测试逻辑。
为优化上述技术方案,采取的措施还包括:中继的信息包括虚拟代理服务器的访问负载或app的虚拟用户数或HPS或TPS或事务响应时间或每分钟处理的页面数。
虚拟代理服务器经网络适配器访问网络中的页面;页面为多个,智能模块对虚拟代理服务器进行排序以均衡虚拟代理服务器的负载。通过对录制器中继的信息监控调整页面的测试强度,从而使得整个测试体系的负载处于更高强度,提高测试效率。
智能模块监控录制器过程中,需要通过txt或数据库中信息条目的调整进而对访问相应页面的虚拟代理服务器的访问行为进行负载调控。txt或数据库预设了测试环境所需的参数,然而,由于其不可能穷举测试方案,会存在测试参数不匹配、效率低等错误,通过对虚拟代理服务器负载的调整,在人为不干预的情形下,逐步淘汰低效率的测试样例,优化系统负载,在有限测试周期中尽可能多的执行测试。
智能模块以平均访问频率评价虚拟代理服务器在上述测试失效周期内页面更新时的负载强度,根据预设α和β取值,剔除低强度虚拟代理服务器的任务并对空闲虚拟代理服务器新建任务;页面强度值定义目标测试页面的虚拟服务器负载强度fweiht表示如下:
其中,AAF为平均访问频率评价虚拟代理服务器在上述测试失效周期内页面更新时的负载强度,α、β是加权因子参数,为页面第n轮测试失效周期的更新频率 是页面第n+1轮测试失效周期的更新频率;通过AAF判定fweiht,进而间接调整网络页面中的访问强度,对测试顺利的样例加强负载,尽快完成相应测试,提高系统效率。
本发明还提供一种实现上述自动化性能测试方法的终端装置,其含有:
内置或外置的存储器,用于存储如权利要求1所述方法的计算机程序;
CPU,用于执行计算机程序。
终端装置装置配置有,
待测试的app;
录制程序,含有测试模块、录制器和设置模块;
浏览器;
一个或多个虚拟代理服务器;
网络适配器。
由于本发明采用了终端配置有录制程序和浏览器,录制程序含有设置模块、智能模块和录制模块;终端配置有多个虚拟代理服务器;虚拟代理服务器根据浏览器配置访问相应的网络的页面;录制器在终端的app之间进行中继,录制器将中继的信息复制发送到智能模块;智能模块识别中继的信息,并根据预设的txt或数据库将中继的信息识别后,向设置模块发送控制信息,设置模块根据控制信息向浏览器发送虚拟代理服务器能识别的代理脚本。因而本发明具有错误率低、负载效率高、智能化的优点。
附图说明
图1为本发明实施例架构示意图;
图2为本发明实施例加权因子-归一化寿命对比示意图。
具体实施方式
以下结合附实施例对本发明作进一步详细描述。
实施例1:
参照图1,本实施例的实现方案如下:
1)在安装有测试环境的终端部署录制程序,录制程序具有,录制器,用于中继app与浏览器之间的信息传输,并将信息复制并传递给智能模块;
智能模块,含有平台中不同的端口的一个txt或数据库,用于接收录制器传递来的信息,并根据txt或数据库,将控制信号信息转换后传输给设置模块;
设置模块,用于将控制信号信息翻译为浏览器可识别的代理服务器的代理脚本;
2)终端上还部署有多个虚拟代理服务器,将浏览器接收到的代理脚本和访问信号传输信息传输给网络适配器进而访问外部网络。
测试参考现有技术类似的,即浏览器加载被测页面中的代理脚本,代理脚本枚举该被测页面脚本环境中的对象;将由该代理脚本所枚举出的对象映射到测试用例环境中;测试用例根据所述测试用例环境触发该被测页面的页面动作以执行测试逻辑。
智能模块,录制器传递来的信息的负载平衡进行调控,并调整设置模块对浏览器的发出的代理脚本。为了提高自动化程度和批量测试的性能,在测试的虚拟代理服务器上进行批量请求的发送,智能模块通过监视录制器中继的信息根据虚拟代理服务器的访问负载、app的虚拟用户数、HPS、TPS、事物响应时间、每分钟处理的页面数进行优化。
虚拟用户数AVU(amount of virtual user),主要用来测试服务器对并发用户的处理能力。
HPS(Hit per Second),该目标是点击数/秒。设置HPS目标,同时设置最小虚拟用户数和最大虚拟用户数:当场景执行时,会优先使用最小的虚拟用户数(AVUmin)来达到定义的目标;如果最小的用户达不到目标,则自动增加虚拟用户数,知道定义的最大虚拟用户数(AVUmax)。
TPS(Transaciton per Second),该目标是每秒处理的事务数。指定脚本中的目标事务,设置TPS目标,同时设置最小虚拟用户数和最大虚拟用户数。
事务响应时间TRT(Transaction Response Time)。指定脚本中的目标事务,设置该事务响应时间目标,同时设置最小虚拟用户数和最大虚拟用户数。根据需要,用户数可以在app中体现,也可以通过虚拟代理服务器数量、浏览器线程数量进行模拟。
每分钟处理的页面数PPM(Pages per Minute)。设置目标,同时设置最小虚拟用户数和最大虚拟用户数。
终端经网络适配器连接有网络,终端配置有录制程序和浏览器,录制程序含有设置模块、智能模块和录制模块;终端配置有多个虚拟代理服务器;虚拟代理服务器根据浏览器配置访问相应的网络的页面;录制器在终端的app之间进行中继,录制器将中继的信息复制发送到智能模块;智能模块识别中继的信息,并根据预设的txt或数据库将中继的信息识别后,向设置模块发送控制信息,设置模块根据控制信息向浏览器发送虚拟代理服务器能识别的代理脚本。
虚拟代理服务器经网络适配器访问网络中的页面。页面为多个,智能模块对虚拟代理服务器进行排序以均衡虚拟代理服务器的负载。
智能模块监控录制器过程中,需要通过txt或数据库中信息条目的调整进而对访问相应页面的虚拟代理服务器的访问行为进行负载调控,从而达到提高终端机器的测试效率的效果。智能模块的页面策略如下:
y(ps)表示网络的所有目标测试页面ps在一个测试失效周期内的访问次数,ffqc为页面在测试失效周期内的更新频率。y(p)为某单个页面p在测试失效周期内的访问次数。
在浏览器对所有目标测试页面第n轮访问操作结束后,相应的页面更新频率计算方法表示为:
其中,yn(p)为页面p在第n轮测试失效周期的访问次数和更新频率。
最后以页面强度值定义目标测试页面的虚拟服务器负载强度:
以AAF(average access frequency)平均访问频率评价虚拟代理服务器在上述测试失效周期内页面更新时的负载强度属性,根据预设剔除低强度虚拟代理服务器的任务并对空闲虚拟代理服务器新建任务,页面或虚拟代理服务器的排序参照相邻元素冒泡排序。β是加权因子参数,取值范围在(0,1)之间。本实施例的α和β均取0.6。AAF的计算方法如下,m表示新近更新周期内执行过更新操作的页面数量。
实施例2:
参照图2,本实施例的实现方案如下:
事务响应时间如导航计时(Navigation Timing)是一个可以精确测量Web页面加载性能的JavaScript API,可以用作响应时间的测试指标。为了解释本技术方案,以下为现有技术的部分概括:该规范定义了一个统一的接口,用于存储和获取与页面导航、页面加载相关的具有高解析度的性能度量数据。目前新版本的IE、Chrome、Firefox、Safari等一些主流浏览器都支持此API。通过Navigation Timing,可以精确实时地获取真实用户在实际网络环境中请求页面加载速度,而不是仅仅在开发环境或者模拟请求中测试页面加载速度。
Navigation Timing拥有一个接口是PerformanceTiming,包含了各种与Web页面加载性能有关的时间数据,提供浏览器处理Web页面各个阶段的耗时,例如域名查询开始和结束时间、浏览器从服务器接收响应的开始和结束时间等等。
资源计时(Resource Timing)是W3C的Web性能工作组最近几年新制定的标准工作草案(2014年12月刚刚修订新版本)。该标准工作草案为Web应用定义了一个接口,用于存储和获取与页面资源相关的具有高解析度的性能度量数据。目前新版本的IE、Chrome、Firefox等一些主流浏览器都支持此API。通过Resource Timing,可以精确实时地提取和分析真实用户在实际网络环境中请求,获取与Web页面中每一个资源所相关的网络时间数据。Resource Timing拥有一个接口是PerformanceResourceTiming,它通过window对象的performance属性暴露出来,可以向其中的getEntriesByType()方法传递一个叫做resource的字符串来获取页面中每一个资源的时间信息,例如域名查询开始和结束时间、TCP连接建立开始和完成的时间、浏览器从服务器接收响应的开始和结束时间等,同样的,也可以单独或与导航计时组合作为事务响应时间的综合指标,以多项加权方式评价。responseStart/responseEnd浏览器从服务器收到响应开始/结束时间。
根据上面这些接口的属性,可以计算出网页相关资源加载各个阶段的耗时,比如域名解析的耗时、TCP连接的耗时、请求开始到完成响应的耗时等等。理解这个API可以帮助追踪和分析页面资源的加载性能,以及帮助决定和判断页面中的哪一个资源需要进。由于篇幅所限,对现有技术的具体引用不再进一步展开,根据中心保护原则,本申请以侧重记载本技术方案的改进特征和技术效果。
即本实施例采用β动态变化的方式进行资源的分配。本实施例比较了α取值0.15、0.3、0.45、0.6、0.75、0.9的取值下β为0.2、0.4、0.6、0.8和本实施例动态取值情况下的归一化寿命(%),图中纵坐标为归一化寿命,横坐标为α(alpha)的不同取值,图例中的5条趋势折线为β的不同取之得到的归一化寿命,可以看出动态取值的归一化寿命普遍处于较高的值,更接近理论理想状态,经过动态取值的优化本实施例较固定取值的访问效率有进一步的提高。
尽管已结合优选的实施例描述了本发明,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围的情况下,能够对在这里列出的主题实施各种改变、同等物的置换和修改,因此本发明的保护范围当视所提出的权利要求限定的范围为准。
Claims (2)
1.一种自动化性能测试方法,包括配置一个终端经网络适配器连接网络,其特征是:所述的终端配置有录制程序和浏览器,所述的录制程序含有设置模块、智能模块和录制器;所述的终端配置有多个虚拟代理服务器;所述的虚拟代理服务器根据所述的浏览器配置访问相应的网络的页面;所述的录制器在终端的app之间进行中继,所述的录制器将中继的信息复制发送到所述的智能模块;所述的智能模块识别所述的中继的信息,并根据预设的txt或数据库将所述的中继的信息识别后,向所述的设置模块发送控制信息,所述的设置模块根据所述的控制信息向所述的浏览器发送虚拟代理服务器能识别的代理脚本;
所述的中继的信息包括虚拟代理服务器的访问负载或app的虚拟用户数或HPS或TPS或事务响应时间或每分钟处理的页面数;
所述的虚拟代理服务器经网络适配器访问所述的网络中的页面;所述的页面为多个,所述的智能模块对虚拟代理服务器进行排序以均衡虚拟代理服务器的负载;
所述的智能模块监控录制器过程中,需要通过txt或数据库中信息条目的调整进而对访问相应页面的虚拟代理服务器的访问行为进行负载调控;
所述的智能模块以平均访问频率评价虚拟代理服务器在测试失效周期内页面更新时的负载强度,根据预设α和β取值,剔除低强度虚拟代理服务器的任务并对空闲虚拟代理服务器新建任务;页面强度值定义目标测试页面的虚拟服务器负载强度表示如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110201861.6A CN112860561B (zh) | 2021-02-23 | 2021-02-23 | 一种自动化性能测试方法及终端装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110201861.6A CN112860561B (zh) | 2021-02-23 | 2021-02-23 | 一种自动化性能测试方法及终端装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860561A CN112860561A (zh) | 2021-05-28 |
CN112860561B true CN112860561B (zh) | 2022-05-27 |
Family
ID=75990067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110201861.6A Active CN112860561B (zh) | 2021-02-23 | 2021-02-23 | 一种自动化性能测试方法及终端装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860561B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763086A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 基于远程真机的脚本录制方法、终端及计算机可读存储介质 |
CN108989884A (zh) * | 2018-08-01 | 2018-12-11 | 浙江齐聚科技有限公司 | 直播视频延迟性能测试方法、装置、设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2964484B1 (fr) * | 2010-09-02 | 2015-09-18 | Banque Accord | Procede de recueil de donnees a caracteres evenementiel de formulaires electroniques |
CN103309800B (zh) * | 2012-03-15 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 一种网页自动化测试方法和系统 |
CN103885877B (zh) * | 2014-03-10 | 2017-02-08 | 烟台中科网络技术研究所 | 一种http的模拟浏览器测试脚本生成方法及装置 |
CN106528413A (zh) * | 2016-10-27 | 2017-03-22 | 北京锐安科技有限公司 | 一种应用程序的测试方法及装置 |
CN110336717A (zh) * | 2019-08-12 | 2019-10-15 | 四川长虹电器股份有限公司 | 一种录制http操作请求自动生成性能测试脚本的方法 |
-
2021
- 2021-02-23 CN CN202110201861.6A patent/CN112860561B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763086A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 基于远程真机的脚本录制方法、终端及计算机可读存储介质 |
CN108989884A (zh) * | 2018-08-01 | 2018-12-11 | 浙江齐聚科技有限公司 | 直播视频延迟性能测试方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112860561A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9798446B2 (en) | Standard commands for native commands | |
US20120030338A1 (en) | Web page load time prediction and simulation | |
US9892019B2 (en) | Use case driven stepping component automation framework | |
WO2020077764A1 (zh) | 网页加载方法、中间服务器和网页加载系统 | |
CN109739749B (zh) | 网站性能优化方法、装置、设备及存储介质 | |
CN111427765B (zh) | 自动开启基于jmeter实现的接口性能测试方法和系统 | |
CN111475417A (zh) | 自动化测试方法、装置、设备及存储介质 | |
US11196728B1 (en) | Caching login sessions to access a software testing environment | |
US11966773B2 (en) | Automated pipeline for generating rules for a migration engine | |
US11210198B2 (en) | Distributed web page performance monitoring methods and systems | |
CN112540924A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN112860561B (zh) | 一种自动化性能测试方法及终端装置 | |
US20210365520A1 (en) | Webpage loading method, intermediate server and webpage loading system | |
CN112181762A (zh) | 软件项目应用基础环境部署与三遥的可视化处理方法 | |
CN112817699B (zh) | 一种批量部署的自动化性能测试方法及终端装置 | |
CN112698998A (zh) | 一种可持续集成的arm服务器出厂测试方法 | |
CN111506490A (zh) | 应用服务接口自动测试方法、装置及存储介质 | |
CN113127321B (zh) | 基于Jmeter的数据读取方法、装置、设备及存储介质 | |
US20180060154A1 (en) | Techniques for dynamically benchmarking cloud data store systems | |
CN114138578B (zh) | 一种服务器测试方法和装置 | |
WO2022134895A1 (zh) | 一种模拟响应方法以及相关设备 | |
CN111240920B (zh) | 性能测试方法、装置、服务器及存储介质 | |
US20240020219A1 (en) | Determining test cases to be run upon changes in software application code | |
CN115328808A (zh) | 自动化系统测试方法、装置、设备及存储介质 | |
CN117369822A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 361100 413-26, No. 942, tonglong Second Road, torch high tech Zone (Xiang'an) Industrial Zone, Xiamen, Fujian Applicant after: Huiliantong Industrial Supply Chain Digital Technology (Xiamen) Co.,Ltd. Address before: 201400 room 21009, No. 5599 Yanqian Road, Fengxian District, Shanghai Applicant before: Huiliantong supply chain technology (Shanghai) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |