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

文档序号:8265424阅读:1014来源:国知局
基于Http协议的移动应用自动化性能测试系统及方法
【技术领域】
[0001]本发明涉及针对证券、电商、电力、电信、网站等行业开发的基于Http协议的移动Web应用系统,特别涉及基于Http协议的移动应用自动化性能测试系统及方法。
【背景技术】
[0002]V.Baousis等[I]搭建了用于虚拟家庭环境(Virtual Home Environment)性能评估的的移动代理平台。文中基于不同用户场景和技术代替(移动设备、固定终端),提出了一个集成化、开放性和扩展性的体系结构。此外还研宄和比较了移动代理平台与传统解决方法之间的性能。但该解决方案偏重于性能评估过程中负载生成阶段,未考虑到复杂的用户行为对于通讯过程所产生的影响。Sakura等[2]在文中阐述了移动应用测试框架的实现,设计了分布式实时的移动设备应用自动化测试框架Hermes,其支持J2ME环境下Java程序的测试、基于XML语法设计的测试用例、使用真实物理移动设备进行应用程序的测试等。由于Hermes利用特定平台(J2ME)的API进行实现,其测试能力和使用范围有着一定的限制,而且其关注的性能是应用程序本身的性能,并未考虑到服务器性能瓶颈问题。ClaudiaCanali等[3]将移动应用的发展方向分为:个性化、上下文感知和内容自适应。个性化是指根据用户的特点以及配置信息动态的生成个性化的数据信息。上下文感知指应用根据用户当前所处的环境、地址位置、时间或者用户的状态信息等应用运行的上下文信息生成内容。内容自适应则是根据移动设备的性能和属性特征,比如屏幕尺寸、CPU计算能力、内存大小、网络状况等,对于显示的内容进行调整。文中对比了移动应用与传统桌面应用程序的区别,以及对于服务器所产生的性能消耗,分析了移动应用对于服务器性能的需求,给出了相应的管理策略。由于移动应用大多数是采用HTTP协议进行通讯,故而非Web网页的移动应用的服务器性能测试可以借鉴该方法,改进其实现。但因为该方法基于文中所划分的应用模型,其通用性和扩展性会有所限制,随着移动应用的发展,新出现的应用类型将无法适用。另外,在性能测试工具方面,Loadrunner[4]在11.5版本中新增加了对于移动应用的协议支持,利用Web (HTTP/HTML)协议和Ajax TruClient分别录制原生应用和基于浏览器的移动应用。但Loadrunner使用的录制环境是模拟器,由于模拟器本身性能存在缺陷,加上网络环境与真实物理设备不一致,对于测试脚本有着一定的影响。Ne0L0ad[5]专门针对移动应用的负载压力测试提供了解决方案,其提供手机网络的模拟(2G、3G、H+、4G LTE)、利用代理和隧道技术实现对于运行在真实移动设备上的应用的测试脚本录制功能,搭建云测试平台用于大规模的测试需求。然而,Loadrunner和NeoLoad测试脚本的回放工作都是在PC机上完成,虽然能够通过设置一些限制(比如网站状况、思考时间等)近可能的模拟移动设备的环境,但终宄存在着一定的差距。
[0003]参考文献:
[0004][ I ] V.Baousis, M.Kyriakakos, S.Hadjiefthymiades, andL.Merakosj Performance Evaluat1n of a Mobile Agent-based Platform forUbiquitous Service Provis1n,Pervasive and Mobile Computing, pp.755-774, 2008.
[0005][2] Sakura She, Sasindran Sivapalan, Ian Warren, Hermes: A Tool forTesting Mobile Device Applicat1ns, Proceedings of Software EngineeringConference, pp.121-132,2009.
[0006][3] Claudia Canali ,Michele Colajanni ,and RiccardoLancellotti, Performance Evolut1n of Mobile Web-Based Services, IEEE InternetComputing, Vol.13 (2), pp.60-68,2009.
[0007][4]于涌,王嘉,曹向志,精通软件性能测试与LoadRunner最佳实战[M].北京:人民邮电出版社.2013
[0008][5]NeoLoad[EB/0L].http://en.wikipedia.0rg/wiki/Neoload,2014.

【发明内容】

[0009]本发明的目的在于克服现有技术的缺点与不足,提供基于Http协议的移动应用自动化性能测试系统。
[0010]本发明的另一目的在于提供基于Http协议的移动应用自动化性能测试方法。
[0011]本发明的目的通过以下的技术方案实现:
[0012]基于Http协议的移动应用自动化性能测试系统,包括顺序相连的性能测试主平台、运行于终端设备的移动代理模块,所述的性能测试主平台包括依次相连的Web网站、任务调度模块、设备管理服务器,设备管理服务器与移动代理模块相连,移动代理模块通过XMPP协议与设备管理服务器保持通信,用于分发测试任务,取得性能测试数据。
[0013]所述的移动代理模块,包括脚本录制模块和脚本回放模块。
[0014]本发明的另一目的通过以下的技术方案实现:
[0015]基于Http协议的移动应用自动化性能测试方法,包含以下顺序的步骤:
[0016]S1.在真实的移动网络环境下获取用户使用移动应用的行为,生成自动化性能测试脚本;
[0017]S2.基于该脚本模拟虚拟的并发用户对移动应用开展性能测试,支持移动Web应用中主流的HTTP协议下应用服务器,数据库服务器性能测试,压力加载测试,帮助发现移动应用系统性能瓶颈。
[0018]所述的基于Http协议的移动应用自动化性能测试方法,具体包含以下顺序的步骤:
[0019]I)录制脚本:在移动设备中启动移动代理模块,配置脚本录制设置;启动测试脚本录制后,脚本录制模块就会捕获被测移动应用所发出的请求,通过测试脚本生成模块生成一定格式的测试脚本,生成的测试脚本在录制完成后,自动上传到性能测试主平台,以供压力测试使用;
[0020]2)压力测试:在创建测试任务过程中,测试人员需要根据业务场景的需要对测试任务进行相应的配置,以形成多终端加压测试的策略,然后通过设备管理服务器将测试脚本与测试配置分发到目标移动设备中,从而达到“一端录制,多端回放”的测试自动化效果;
[0021]3)查看测试报表:在移动终端设备回放过程中,性能收集器将收集到的性能数据通过移动设备发送回主测试平台,经由测试报告生成模块进行合并计算处理,最终生成详细的性能测试报告。
[0022]本发明与现有技术相比,具有如下优点和有益效果:
[0023]I)测试脚本自动生成与执行。测试工程师针对移动应用的实际性能需求,比如电子商务应用的订单提交操作,设计测试场景,确定测试的步骤与流程;然后利用测试平台提供的测试脚本录制功能录制其中的交互过程,生成测试脚本;接着制定测试任务,配置测试信息,交由测试平台运行测试脚本。脚本的运行过程中无需人工的参与,完全实现自动化,从而提供工作效率。
[0024]2)模拟大量真实用户并发操作。性能测试平台针对性能测试中需要大量用户的并发操作的特点,通过一定的机制产生大量的虚拟用户,模拟真实用户的行为进行操作。其中的模拟行为可以使得服务器无法分辨其是虚拟用户,避免了与真实用户之间存在的差异。
[0025]3)自动生成性能测试报告。测试任务执行结束后,性能测试平台根据测试任务执行过程中所产生的性能数据,根据一定的规则与算法,生成结构良好的性能测试报告,提供给测试工程师分析本次测试任务运行过程中,服务器端的性能反应情况,了解其中存在的问题,有针对性的进行解决。
[0026]4)提供真实的测试环境。性能测试平台连接真实物理移动设备,将测试任务交由移动设备进行运行,而非在模拟器或PC机上运行,从而排除由于测试环境产生的测试结果误差。
【附图说明】
[0027]图1为本发明所述的基于Http协议的移动应用自动化性能测试系统的整体架构图;
[0028]图2为图1所述测试系统的基于HTTP的脚本录制原理图;
[0029]图3为本发明所述的基于Http协议的移动应用自动化性能测试方法的流程图;
[0030]图4为移动终端设备与移动终端设备管理服务器通讯模块;
[0031 ]图5为终端设备接入设备管理服务器流程;
[0032]图6为设备管理服务器
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1