CN104579822B - 基于Http协议的移动应用自动化性能测试系统及方法 - Google Patents

基于Http协议的移动应用自动化性能测试系统及方法 Download PDF

Info

Publication number
CN104579822B
CN104579822B CN201410758295.9A CN201410758295A CN104579822B CN 104579822 B CN104579822 B CN 104579822B CN 201410758295 A CN201410758295 A CN 201410758295A CN 104579822 B CN104579822 B CN 104579822B
Authority
CN
China
Prior art keywords
test
mobile
performance
script
server
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.)
Expired - Fee Related
Application number
CN201410758295.9A
Other languages
English (en)
Other versions
CN104579822A (zh
Inventor
陆璐
梁力图
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201410758295.9A priority Critical patent/CN104579822B/zh
Publication of CN104579822A publication Critical patent/CN104579822A/zh
Application granted granted Critical
Publication of CN104579822B publication Critical patent/CN104579822B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了基于Http协议的移动应用自动化性能测试系统,包括顺序相连的性能测试主平台、运行于终端设备的移动代理模块,所述的性能测试主平台包括依次相连的Web网站、任务调度模块、设备管理服务器,设备管理服务器与移动代理模块相连,移动代理模块通过XMPP协议与设备管理服务器保持通信,用于分发测试任务,取得性能测试数据。本发明的测试系统及方法,智能地开展应用系统性能自动化评估工作,帮助用户快速发现,定位应用系统响应瓶颈,对于保障服务器能够稳定地提供服务具有重要的实践指导价值。

Description

基于Http协议的移动应用自动化性能测试系统及方法
技术领域
本发明涉及针对证券、电商、电力、电信、网站等行业开发的基于Http协议的移动Web应用系统,特别涉及基于Http协议的移动应用自动化性能测试系统及方法。
背景技术
V.Baousis等[1]搭建了用于虚拟家庭环境(Virtual Home Environment) 性能评估的的移动代理平台。文中基于不同用户场景和技术代替(移动设备、固定终端),提出了一个集成化、开放性和扩展性的体系结构。此外还研究和比较了移动代理平台与传统解决方法之间的性能。但该解决方案偏重于性能评估过程中负载生成阶段,未考虑到复杂的用户行为对于通讯过程所产生的影响。 Sakura等[2]在文中阐述了移动应用测试框架的实现,设计了分布式实时的移动设备应用自动化测试框架Hermes,其支持J2ME环境下Java程序的测试、基于XML语法设计的测试用例、使用真实物理移动设备进行应用程序的测试等。由于Hermes利用特定平台(J2ME)的API进行实现,其测试能力和使用范围有着一定的限制,而且其关注的性能是应用程序本身的性能,并未考虑到服务器性能瓶颈问题。Claudia Canali等[3]将移动应用的发展方向分为:个性化、上下文感知和内容自适应。个性化是指根据用户的特点以及配置信息动态的生成个性化的数据信息。上下文感知指应用根据用户当前所处的环境、地址位置、时间或者用户的状态信息等应用运行的上下文信息生成内容。内容自适应则是根据移动设备的性能和属性特征,比如屏幕尺寸、CPU计算能力、内存大小、网络状况等,对于显示的内容进行调整。文中对比了移动应用与传统桌面应用程序的区别,以及对于服务器所产生的性能消耗,分析了移动应用对于服务器性能的需求,给出了相应的管理策略。由于移动应用大多数是采用HTTP协议进行通讯,故而非Web网页的移动应用的服务器性能测试可以借鉴该方法,改进其实现。但因为该方法基于文中所划分的应用模型,其通用性和扩展性会有所限制,随着移动应用的发展,新出现的应用类型将无法适用。另外,在性能测试工具方面,Loadrunner[4]在11.5版本中新增加了对于移动应用的协议支持,利用Web(HTTP/HTML)协议和Ajax TruClient分别录制原生应用和基于浏览器的移动应用。但Loadrunner使用的录制环境是模拟器,由于模拟器本身性能存在缺陷,加上网络环境与真实物理设备不一致,对于测试脚本有着一定的影响。 NeoLoad[5]专门针对移动应用的负载压力测试提供了解决方案,其提供手机网络的模拟(2G、3G、H+、4G LTE)、利用代理和隧道技术实现对于运行在真实移动设备上的应用的测试脚本录制功能,搭建云测试平台用于大规模的测试需求。然而,Loadrunner和NeoLoad测试脚本的回放工作都是在PC机上完成,虽然能够通过设置一些限制(比如网站状况、思考时间等)近可能的模拟移动设备的环境,但终究存在着一定的差距。
参考文献:
[1]V.Baousis,M.Kyriakakos,S.Hadjiefthymiades,and L.Merakos,Performance Evaluation of a Mobile Agent-based Platform for UbiquitousService Provision,Pervasive and Mobile Computing,pp.755-774,2008.
[2]Sakura She,Sasindran Sivapalan,Ian Warren,Hermes:A Tool forTesting Mobile Device Applications,Proceedings of Software EngineeringConference, pp.121-132,2009.
[3]Claudia Canali,Michele Colajanni,and Riccardo Lancellotti,Performance Evolution of Mobile Web-Based Services,IEEE Internet Computing,Vol.13(2), pp.60-68,2009.
[4]于涌,王磊,曹向志,精通软件性能测试与LoadRunner最佳实战[M]. 北京:人民邮电出版社.2013
[5]NeoLoad[EB/OL].http://en.wikipedia.org/wiki/Neoload,2014.
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供基于Http协议的移动应用自动化性能测试系统。
本发明的另一目的在于提供基于Http协议的移动应用自动化性能测试方法。
本发明的目的通过以下的技术方案实现:
基于Http协议的移动应用自动化性能测试系统,包括顺序相连的性能测试主平台、运行于终端设备的移动代理模块,所述的性能测试主平台包括依次相连的Web网站、任务调度模块、设备管理服务器,设备管理服务器与移动代理模块相连,移动代理模块通过XMPP协议与设备管理服务器保持通信,用于分发测试任务,取得性能测试数据。
所述的移动代理模块,包括脚本录制模块和脚本回放模块。
本发明的另一目的通过以下的技术方案实现:
基于Http协议的移动应用自动化性能测试方法,包含以下顺序的步骤:
S1.在真实的移动网络环境下,运行于终端设备的移动代理模块获取用户使用移动应用的行为,生成自动化性能测试脚本,性能测试脚本自动上传至性能测试主平台;
S2.在性能测试主平台上,基于该脚本模拟虚拟的并发用户对移动应用开展性能测试,支持移动Web应用中主流的HTTP协议下应用服务器,数据库服务器性能测试,压力加载测试,帮助发现移动应用系统性能瓶颈。
所述的基于Http协议的移动应用自动化性能测试方法,具体包含以下顺序的步骤:
1)录制脚本:在移动设备中启动移动代理模块,配置脚本录制设置;启动测试脚本录制后,脚本录制模块就会捕获被测移动应用所发出的请求,通过测试脚本生成模块生成一定格式的测试脚本,生成的测试脚本在录制完成后,自动上传到性能测试主平台,以供压力测试使用;
2)压力测试:在创建测试任务过程中,测试人员需要根据业务场景的需要对测试任务进行相应的配置,以形成多终端加压测试的策略,然后通过设备管理服务器将测试脚本与测试配置分发到目标移动设备中,从而达到“一端录制,多端回放”的测试自动化效果;
3)查看测试报表:在移动终端设备回放过程中,性能收集器将收集到的性能数据通过移动设备发送回主测试平台,经由测试报告生成模块进行合并计算处理,最终生成详细的性能测试报告。
本发明与现有技术相比,具有如下优点和有益效果:
1)测试脚本自动生成与执行。测试工程师针对移动应用的实际性能需求,比如电子商务应用的订单提交操作,设计测试场景,确定测试的步骤与流程;然后利用测试平台提供的测试脚本录制功能录制其中的交互过程,生成测试脚本;接着制定测试任务,配置测试信息,交由测试平台运行测试脚本。脚本的运行过程中无需人工的参与,完全实现自动化,从而提供工作效率。
2)模拟大量真实用户并发操作。性能测试平台针对性能测试中需要大量用户的并发操作的特点,通过一定的机制产生大量的虚拟用户,模拟真实用户的行为进行操作。其中的模拟行为可以使得服务器无法分辨其是虚拟用户,避免了与真实用户之间存在的差异。
3)自动生成性能测试报告。测试任务执行结束后,性能测试平台根据测试任务执行过程中所产生的性能数据,根据一定的规则与算法,生成结构良好的性能测试报告,提供给测试工程师分析本次测试任务运行过程中,服务器端的性能反应情况,了解其中存在的问题,有针对性的进行解决。
4)提供真实的测试环境。性能测试平台连接真实物理移动设备,将测试任务交由移动设备进行运行,而非在模拟器或PC机上运行,从而排除由于测试环境产生的测试结果误差。
附图说明
图1为本发明所述的基于Http协议的移动应用自动化性能测试系统的整体架构图;
图2为图1所述测试系统的基于HTTP的脚本录制原理图;
图3为本发明所述的基于Http协议的移动应用自动化性能测试方法的流程图;
图4为移动终端设备与移动终端设备管理服务器通讯模块;
图5为终端设备接入设备管理服务器流程;
图6为设备管理服务器处理设备的接入流程图;
图7为脚本回放模块的原理图;
图8为脚本回放的流程图;
图9为多终端性能测试报告形成原理图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
如图1,基于Http协议的移动应用自动化性能测试系统,包括顺序相连的性能测试主平台、运行于终端设备的移动代理模块,所述的性能测试主平台包括依次相连的Web网站、任务调度模块、设备管理服务器,设备管理服务器与移动代理模块相连,移动代理模块通过XMPP协议与设备管理服务器保持通信,用于分发测试任务,取得性能测试数据。
所述的移动代理模块,包括脚本录制模块和脚本回放模块。
基于Http协议的移动应用自动化性能测试方法,包含以下顺序的步骤:
S1.在真实的移动网络环境下,运行于终端设备的移动代理模块获取用户使用移动应用的行为,生成自动化性能测试脚本,性能测试脚本自动上传至性能测试主平台;
S2.在性能测试主平台上,基于该脚本模拟虚拟的并发用户对移动应用开展性能测试,支持移动Web应用中主流的HTTP协议下应用服务器,数据库服务器性能测试,压力加载测试,帮助发现移动应用系统性能瓶颈。
所述的基于Http协议的移动应用自动化性能测试方法,具体包含以下顺序的步骤:
1)录制脚本:在移动设备中启动移动代理模块,配置脚本录制设置;启动测试脚本录制后,脚本录制模块就会捕获被测移动应用所发出的请求,通过测试脚本生成模块生成一定格式的测试脚本,生成的测试脚本在录制完成后,自动上传到性能测试主平台,以供压力测试使用;
2)压力测试:在创建测试任务过程中,测试人员需要根据业务场景的需要对测试任务进行相应的配置,以形成多终端加压测试的策略,然后通过设备管理服务器将测试脚本与测试配置分发到目标移动设备中,从而达到“一端录制,多端回放”的测试自动化效果;
3)查看测试报表:在移动终端设备回放过程中,性能收集器将收集到的性能数据通过移动设备发送回主测试平台,经由测试报告生成模块进行合并计算处理,最终生成详细的性能测试报告。
具体地讲,本系统根据功能模块划分主要分为以下四块内容:
(一)基于HTTP协议的移动应用脚本录制
基于HTTP的脚本录制的主要功能是捕获移动应用与服务器之间的通讯过程,并将捕获到的请求通过脚本生成模块按照一定的脚本规则生成测试脚本。所生成的测试脚本应该能够代替人工使用应用的过程,运行相同的业务逻辑流程,与服务器进行交互。故脚本录制模块的重点在于怎样捕获移动应用所发出的请求,这个功能可以采用类似于代理器的模式进行,即移动应用所发出的请求首先需要通过脚本录制模块进行转发给目标服务器,但在其中并不修改应用所发出的请求的信息,用以保证请求的真实性与完整性。然后脚本录制模块接收到目标服务器回应的请求响应后,将响应的信息转发给应用。这一过程可以做成透明的形式,对于脚本录制人员来说,他并不需要了解这一过程与配置这个过程,同时也无需修改移动应用的任何功能,达到无侵入性的完成录制工作,提供给测试人员方便快捷的使用过程。具体的原理如图2所示
如图3,基于HTTP协议的移动应用脚本录制具体的实现流程如下:
1)配置录制代理程序。启动FastTest程序后,需要选择被测移动应用和配置HTTP 请求端口。选择被测移动应用的目的是为了获取运行该应用的用户编号UID(在Android中 都是以不同的用户运行应用),然后编写iptables命令,使得只是转发该应用发出的HTTP请 求,这样就不会影响到其他移动应用的正常运行,同时也保证了录制环境的纯粹性,不会受 到其他应用所发出的HTTP 请求的影响。另外,配置HTTP请求端口的目的是为了支持服务器 默认端口不是80的应用。配置结束后,由该应用所发出的HTTP请求都会转发到代理程序。
2)启动代理程序。代理程序是一个后台运行的HTTP服务器,接受由 Netfilter/ iptables转发过来的请求,利用Java NIO技术处理即将到来的请求。
3)捕获应用发出的HTTP请求。当HTTP请求到达HTTP代理服务器时,代理程序分配一个空闲的线程用于处理该请求。请求处理器将HTTP请求记录,在录制结束后用于生成测试脚本;然后请求改写器修改HTTP请求头与请求主体的信息,然后将请求向目标服务器转发。
4)接收响应信息。工作线程接受到服务器的响应后,经响应处理器、响应改写器的处理后,将响应转发给应用。
5)停止录制工作。当录制过程完成后,脚本录制模块需要先停止代理服务器的运 行,然后清除IP tables中的filter记录,使得应用的请求恢复正常,最后将请求处理器所 捕获到的请求信息按照一定的格式生成测试脚本,通过HTTP 上传到WEB测试主平台中,用 于脚本的管理与脚本回放工作。
(二)移动终端设备与移动终端设备管理服务器通讯模块
设备管理服务器与终端设备之间需要互相通信,传递信息。主要体现在如下三个方面:1)移动终端接入到设备管理服务器需要进行相应的权限验证,以避免非法用户的入侵;2)移动终端设备需要作为脚本回放测试终端,接收设备管理服务器下发的回放配置信息与测试脚本;3)脚本回放完成后,移动终端设备需要将回放过程中收集到的性能数据上传到服务器。另一方面,在配置回放过程中,需要选择终端设备作为回放设备,这时也同样需要知道所选的设备是否与服务器之间能够正常通信,这样才能够确定该设备是否能够加入到回放设备中,从而避免了最终回放效果的不尽人意。通讯模块的原理如图4所示。
由于设备管理服务器既需要与移动终端设备进行持续通信,又需要分发回放配置与测试脚本,接收移动设备上传的性能数据。所以图2、 3中的设备管理服务器部署为分布式集群服务器,移动设备先连接到主设备管理服务器,主设备管理服务器通过负载均衡算法,再通知该移动设备转接到其他的从设备管理服务器,这样使得一台设备管理服务器中的压力减少,提高管理移动设备的效率。
如图5,其具体的实现流程如下:
1)连接服务器。首先利用ConnectionConfiguration类配置连接的一些参数,比如设备管理服务器的端口和IP地址、加密方式等;然后利用XMPPConnection 创建一个Socket连接。如果连接服务器失败,则利用退避算法间隔一段时间后再次尝试连接服务器,直到连接成功为止。
2)向服务器注册设备信息。未在设备管理服务器注册过的终端设备,如果直接向服务器发送登录信息,则服务器返回未注册错误信息,要求客户端提供设备信息用于注册。此时设备需要提供如下信息:IMEI、Android ID、系统版本号、屏幕分辨率、设备名称等信息,通过XMPPConnection类的sendPacket方法,将以上信息组装而成的Registration IQ节点实例(将通过其的 getChildElementXML方法转化为XML数据格式)发出。同时通过PacketFilter 包过滤器取得该注册IQ节点的处理结果,通过PacketListener的注册处理实现类进行相应的处理工作,比如服务器返回403错误,说明设备未被授权接入,直接终止与服务器的连接操作;如果返回处理结果(非错误信息),则说明注册成功,可以进行登录操作。
3)登录到服务器。我们通过判断XMPPConnection是否被授权可知设备是否已经登录。尚未登录,则通过XMPPConnection类提供的快捷方法login进行登录操作。由于接入权限验证在服务器端进行,所以设备只需要提供设备的IMEI 号,服务器根据IMEI号判断该设备是否授权。登录过程中未发生错误则表示登录操作成功,已经成功的连接上服务器,能够接收测试任务与上传信息等操作。
4)启动保活线程。登录操作成功后,启动后台保活线程,保持与服务器之间的持续连接。线程可以每隔一段时间通过发送出席信息(Presence类实例),向服务器告知状态。
设备管理服务器在启动后,就一直监听来自某指定端口(XMPP协议默认端口为5222)的设备连接,服务器端具体的处理过程如下(如图6):
1)启动服务,监听设备接入。利用Java NIO技术实现无阻塞,监听5222 的Socket接入。
2)处理消息。客户端发送给服务器端的信息,首先利用XML的Namespaces 寻找匹配的Handler示例进行处理。对于注册消息,服务器需先取得设备上传的信息,然后保存在数据库当中,成功后向客户端返回成功消息。对于在设备管理服务器中注册的设备,测试人员可以通过WEB主平台中提供的设备管理功能进行修改信息、赋予权限等操作。而对于登录消息,服务器需查询数据库中是否存在该设备记录,并且设备已经赋予权限,否则将向客户端返回错误信息,要求客户端提供进一步的消息。
3)发送处理结果。服务器端存在多个客户端的Socket连接,故需先根据设备的IMEI号寻找与设备的会话连接,然后再将XML节发送出去。
(三)脚本回放及负载生成模块
脚本回放及负载生成模块的主要功能是先根据回放配置信息配置回放的软件环境情况,然后解析测试脚本,逐条的进行执行,以完成与录制脚本操作时相同的操作,从而达到模拟真实用户行为的效果。由于移动应用采用的通讯协议可能不太一样,而且一个应用里面有时也会用多种协议进行通信用以完成不同的功能,但整体上来说,HTTP协议和Socket协议使用比较频繁。故对于脚本回放模块需先识别测试脚本所使用的协议类型,然后根据具体协议的通讯步骤进行回放工作。一个虚拟用户在回放模块中对应一个线程,以线程的形式进行模拟,使得同一台移动设备可以同时模拟多个用户进行访问请求,有效的节省了设备资源,提供资源的使用率。回放模块具体的实现原理如图7所示。
在图7中可以看出测试脚本可能有多个测试任务组合而成,每个测试任务的回放配置信息都可能不相同,比如加压模式、持续时间等,故需要预处理测试脚本,拆分成多个测试任务,然后通过负载生成器解析后产生不同的虚拟用户组,用于回放对应的测试任务脚本。
如图8,其具体实现流程如下:
1)接收测试任务。由于测试任务通过XMPP推送下来的XML格式数据,故需先解析信息节点,获取当中的测试环境配置信息与测试脚本。
2)启动回放模块。对于测试脚本进行语法的检查,保证脚本格式的正确性,避免在运行过程中产生异常,从而导致测试任务的提前完成。如果发现语法错误,需及时向设备管理服务器报告,提前结束测试任务的运行,将错误信息提示给用户,便于修改与完善测试脚本。
3)系统环境配置。根据回放配置信息对于测试环境进行预先的配置,比如网络状况,是2G、3G、4G还是WIFI。
4)选择加压类型进行加压测试。根据回放配置信息,启动不同的加压方式,用于运行测试脚本。
5)向目标服务器发送请求。测试脚本实际执行的过程,就是根据测试脚本序列的顺序,依次向服务器发送请求。
6)接受目标服务器的响应信息。当虚拟用户在等待服务器响应时,该线程处于阻塞状态,等待响应数据接收完毕后,才将继续执行下一条请求。
7)停止回放模块。当持续时间到时,回放模块将会向所有的虚拟用户线程发送中断信号,中断线程的继续运行,然后将收集的性能测试数据上传到服务器,最后再结束回放模块的运行。
(四)多终端性能测试报告展示模块
性能测试报告是对场景测试的阶段性总结,提供给测试人员直观的回放性能数据展示,使得测试人员通过本性能测试报告能够很容易的找到服务器的性能瓶颈所在,然后有针对性的解决问题,提供服务器的整体性能,保证大并发量的访问需求。为了保证测试报告的真实性与完整性,全面的获取回放结果数据。本系统希望提供一种基于多终端的性能测试报告解决方案,用于解决多个移动终端回放相同测试脚本后的性能数据的展现问题,并提供最后合成的结果展示。另外,为了满足测试人员的需求,测试报告通过不同的形式展示,如报表、表格、折线图等,并且可以导出到Excel等工具中进行进一步的分析与处理工作。具体的实现原理如图9所示。
性能测试报表主要包含三类信息:总体信息、页面详细信息和性能指标图。
下面分别详细的介绍这三类信息中所包含的内容。
1)总体信息。总体信息体现的是整个测试任务的概要信息,对于这类总数量提供时、分和秒的平均值,包含以下信息节点:
HTTP请求总数:测试过程中,总共所发送的HTTP请求数量;
HTTP响应总数:请求成功后,接收到的响应总数;
响应主体大小:接收到的响应主体信息的数量,用于衡量服务器发送的数据量;
请求失败总数:发起HTTP请求后,可能由于网络原因、资源问题导致请求不能正常的被处理,从而导致失败;
HTTP响应码信息:按照HTTP响应码的第一位数字进行分组,分别为1**、 2**、3**、4**和5**,对于HTTP响应数量按照各响应码进行分类展示。
2)页面详细信息。页面详细信息包含两个部分请求响应时间和请求响应数据大小。为了方便的查看响应时间最长和响应数据最大的链接,我们分别按照响应时间和响应数据大小进行降序排列。
3)性能指标图。性能指标图主要是展示测试任务运行过程中的关键性能信息的走势,通过每隔固定时间采样一次的方式获得该类信息。主要包括以下几个性能指标图:
虚拟用户图:反映测试过程中虚拟用户数量的变化趋势,方便确定某个时间点有多少个虚拟用户正在执行请求操作;
HTTP请求数图:每秒虚拟用户向目标服务器发送的HTTP请求数量。请求数越大,表示对于服务器产生的压力越大。通过HTTP请求数的走势,对比接收到的响应数量,就可以衡量服务器的处理能力;
请求响应数据图:表示每秒从网络上的接收到的数据量大小,是衡量网络性能的重要指标;
请求失败图:反映每秒请求的失败数,数值越小越好。通过分析请求失败数量的走势,可以得出服务器从哪个时间点开始变得不稳定。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (4)

1.基于Http协议的移动应用自动化性能测试系统,其特征在于:包括顺序相连的性能测试主平台、运行于终端设备的移动代理模块,所述的性能测试主平台包括依次相连的Web网站、任务调度模块、设备管理服务器,设备管理服务器与移动代理模块相连,移动代理模块通过XMPP协议与设备管理服务器保持通信,用于分发测试任务,取得性能测试数据;
其中,在真实的移动网络环境下,运行于终端设备的移动代理模块获取用户使用移动应用的行为,生成自动化性能测试脚本,性能测试脚本自动上传至性能测试主平台;
在性能测试主平台上,基于该脚本模拟虚拟的并发用户对移动应用开展性能测试,支持移动Web应用中主流的HTTP协议下应用服务器,数据库服务器性能测试,压力加载测试,帮助发现移动应用系统性能瓶颈。
2.根据权利要求1所述的基于Http协议的移动应用自动化性能测试系统,其特征在于:所述的移动代理模块,包括脚本录制模块和脚本回放模块。
3.基于Http协议的移动应用自动化性能测试方法,其特征在于,包含以下顺序的步骤:
S1.在真实的移动网络环境下,运行于终端设备的移动代理模块获取用户使用移动应用的行为,生成自动化性能测试脚本,性能测试脚本自动上传至性能测试主平台;
S2.在性能测试主平台上,基于该脚本模拟虚拟的并发用户对移动应用开展性能测试,支持移动Web应用中主流的HTTP协议下应用服务器,数据库服务器性能测试,压力加载测试,帮助发现移动应用系统性能瓶颈。
4.根据权利要求3所述的基于Http协议的移动应用自动化性能测试方法,其特征在于,具体包含以下顺序的步骤:
1)录制脚本:在移动设备中启动移动代理模块,配置脚本录制设置;启动测试脚本录制后,脚本录制模块就会捕获被测移动应用所发出的请求,通过测试脚本生成模块生成一定格式的测试脚本,生成的测试脚本在录制完成后,自动上传到性能测试主平台,以供压力测试使用;
2)压力测试:在创建测试任务过程中,测试人员需要根据业务场景的需要对测试任务进行相应的配置,以形成多终端加压测试的策略,然后通过设备管理服务器将测试脚本与测试配置分发到目标移动设备中,从而达到“一端录制,多端回放”的测试自动化效果;
3)查看测试报表:在移动终端设备回放过程中,性能收集器将收集到的性能数据通过移动设备发送回主测试平台,经由测试报告生成模块进行合并计算处理,最终生成详细的性能测试报告。
CN201410758295.9A 2014-12-10 2014-12-10 基于Http协议的移动应用自动化性能测试系统及方法 Expired - Fee Related CN104579822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410758295.9A CN104579822B (zh) 2014-12-10 2014-12-10 基于Http协议的移动应用自动化性能测试系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410758295.9A CN104579822B (zh) 2014-12-10 2014-12-10 基于Http协议的移动应用自动化性能测试系统及方法

Publications (2)

Publication Number Publication Date
CN104579822A CN104579822A (zh) 2015-04-29
CN104579822B true CN104579822B (zh) 2018-06-19

Family

ID=53095086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410758295.9A Expired - Fee Related CN104579822B (zh) 2014-12-10 2014-12-10 基于Http协议的移动应用自动化性能测试系统及方法

Country Status (1)

Country Link
CN (1) CN104579822B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105068876B (zh) * 2015-07-01 2017-12-08 北京博睿宏远数据科技股份有限公司 基于分布式部署真机采集手机app性能数据的方法
CN105915529B (zh) * 2016-05-19 2019-04-16 微梦创科网络科技(中国)有限公司 一种报文生成方法及装置
EP3479248A4 (en) * 2016-06-29 2019-12-18 Synopsys, Inc. AUTOMATED HTTP USER FLOW SIMULATOR
CN106296429A (zh) * 2016-08-31 2017-01-04 哈尔滨工业大学(威海) 一种用于社交网站的智能测试方法
CN108733545B (zh) * 2017-04-25 2022-02-18 北京微影时代科技有限公司 一种压力测试方法及装置
CN107608901B (zh) * 2017-10-20 2019-12-31 京东数字科技控股有限公司 基于Jmeter的测试方法及装置、存储介质、电子设备
CN108259266B (zh) * 2017-12-19 2020-11-03 广东电网有限责任公司广州供电局 网站性能监测方法和系统
CN109960642B (zh) * 2017-12-22 2022-07-19 百度在线网络技术(北京)有限公司 自动测试方法和装置
CN108228438A (zh) * 2017-12-29 2018-06-29 广州品唯软件有限公司 一种移动终端的性能测试方法及装置
CN108654089A (zh) * 2018-05-09 2018-10-16 腾讯科技(深圳)有限公司 游戏任务的测试方法及装置、电子设备、存储介质
CN108845949A (zh) * 2018-07-24 2018-11-20 浙江数链科技有限公司 一种性能测试方法及平台
CN109284227A (zh) * 2018-09-06 2019-01-29 政采云有限公司 一种自动化压力测试方法及装置、计算设备及存储介质
CN109684196B (zh) * 2018-11-01 2024-01-09 北京中清龙图网络技术有限公司 一种测试方法及装置
CN110413508A (zh) * 2019-06-25 2019-11-05 阿里巴巴集团控股有限公司 一种业务系统安全保障的数据处理方法、装置及系统
CN110336717A (zh) * 2019-08-12 2019-10-15 四川长虹电器股份有限公司 一种录制http操作请求自动生成性能测试脚本的方法
CN111274085A (zh) * 2020-01-14 2020-06-12 中科驭数(北京)科技有限公司 数据库监控系统及方法
CN112817874A (zh) * 2021-03-02 2021-05-18 北京字节跳动网络技术有限公司 一种用户界面的测试方法、装置、设备及介质
CN113179317B (zh) * 2021-04-27 2023-02-07 杭州迪普科技股份有限公司 内容重写设备的测试系统及方法
CN113127369A (zh) * 2021-05-11 2021-07-16 武汉迎风聚智科技有限公司 一种执行脚本的处理方法以及装置
CN114938367B (zh) * 2022-06-17 2023-09-22 中国平安人寿保险股份有限公司 批量作业处理方法、系统、设备及介质
CN115001991B (zh) * 2022-08-02 2022-10-25 北京聚合盈创科技有限公司 基于性能测试的录制方法、装置以及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394646B (zh) * 2008-11-06 2011-06-01 北京天碁科技有限公司 一种软件测试方法和系统
CN101882105B (zh) * 2010-06-01 2013-05-08 华南理工大学 一种测试Web网页并发环境下响应时间的方法
CN104520818A (zh) * 2012-08-13 2015-04-15 惠普发展公司,有限责任合伙企业 连续部署管道中的性能测试
CN103795711A (zh) * 2014-01-10 2014-05-14 宁波金信通讯技术有限公司 基于手机客户端的自动化测试方法及系统

Also Published As

Publication number Publication date
CN104579822A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
CN104579822B (zh) 基于Http协议的移动应用自动化性能测试系统及方法
CN104639653B (zh) 基于云架构的自适应方法及系统
CN102244594B (zh) 在手动和自动测试工具中的网络仿真技术
CN103560932B (zh) 一种无线传感器网络远程协议一致性测试系统及方法
CN105302732B (zh) 一种移动终端的自动测试方法及装置
KR100551454B1 (ko) 서버의 응용프로그램 성능을 시험하기 위한 그리드 컴퓨팅제어방법 및 그 서비스방법
US10108758B2 (en) Virtual mobile management for device simulation
CN110262964A (zh) 测试方法、装置、设备及计算机可读存储介质
US10277475B2 (en) System and method for dynamically testing networked target systems
CN110875840B (zh) 一种网元管理方法、装置、系统及存储介质
CN103246606B (zh) Esb平台的性能测试方法和系统
CN110275822A (zh) 应用程序接口的性能测试方法、装置、设备及存储介质
CN104636146A (zh) 一种可视化在线定制方法及系统
CN111522727B (zh) 一种模拟对象测试方法、设备和系统
CN106658545A (zh) 一种测试方法、移动终端及服务器
CN106357609A (zh) 一种创建用户的方法和系统、公网服务器及私有云设备
Popereshnyak et al. IoT application testing features based on the modelling network
Putera et al. Incorporating OMA Lightweight M2M protocol in IoT/M2M standard architecture
CN105068876A (zh) 基于分布式部署真机采集手机app性能数据的方法
CN112491654B (zh) 一种性能测试方法、装置、电子设备及存储介质
CN107634871B (zh) 一种连通性测试方法、装置及系统
CN103746879A (zh) 一种IPv6协议一致性的测试系统及其方法
CN109783357A (zh) 测试应用程序的方法及装置、计算机设备、存储介质
Beilharz et al. Continuously testing distributed iot systems: An overview of the state of the art
CN107122307B (zh) 一种物联网执行系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180619

Termination date: 20211210

CF01 Termination of patent right due to non-payment of annual fee