一种基于多级服务器的iOS系统移动应用自动测试系统的架构方法,其特征是对于自动测试中的移动应用自动测试,进行了自顶向下的多级服务器架构,使得待测移动应用可以同时在不同的机型环境下自动测试,以尽可能通过提高多机型测试的效率与减少开发人员的测试时间。多级服务器的拓扑结构与功能划分为:主服务器负责系统的业务交互,主服务器与子服务器一对多进行连接,MAC OS系统的子服务器负责测试业务。本发明专利技术使用多级服务器控制安装包分发,使用自动测试程序代替人工手动测试,对多种机型可以同时进行测试并生成测试报告。通过实例案件表明,本发明专利技术可以提高错误检测的速率,减少程序员花费在不同机型调配上的时间,节省了程序员寻找错误的时间成本。
【技术实现步骤摘要】
本专利技术属于软件测试
,尤其是软件测试中自动测试移动应用领域,用于架构基于网络拓扑结构的多级服务器的iOS系统移动应用自动测试系统。
技术介绍
随着移动终端和移动应用(App)的普及,开发者视角从桌面端移向了移动端。开发一个低出错率、低故障率的优质移动应用非常困难,由于每个移动应用的独特性和平台的不一致性。因此,移动应用开发者往往需要对移动应用进行大规模复杂的手动测试。这些手动测试包括不同终端设备型号、不同系统版本的兼容性测试,以及移动应用的稳定性测试和一些其他的功能性能测试。从目前的手机操作系统市场比重来看,iOS系统与Android系统是最为主流的两种操作系统。由苹果公司推出的iPhone系列手机与iPad系列平板电脑均使用了iOS系统,iOS系统因其封闭性的特点使系统更为安全,同时也给测试带来了无插件可用的困扰。MacOS是苹果公司为Mac系列的主机与笔记本推出的操作系统,与iOS系统的连接相比其他系统更加方便,功能也更强大。Macmini型号的主机因其价格相对其他苹果系列主机较低,更方便获取,同时也可装载功能强大的MacOS,故我们选用了Macmini主机作为本系统的服务器。对于个人开发者和小型团队而言,收集全部的iPhone版本是比较困难的一件事,而且也不便于管理。此外,即使可以收集到全部版本的iPhone机型,在所有机型上逐步手动测试也是费时费力的一项工作。尽管如今自动化测试工具如雨后春笋般地出现,但是普遍存在以下几个问题,测试工具通常收费;免费版的功能少之又少,覆盖不全;移动端全平台通用的测试工具基本不存在;代码开源的自动化测试工具较少。传统的自动化测试脚本也仅仅只能通过开发人员单独在移动应用上运行才能工作,没有合适的平台来管理这些自动化测试脚本。随之带来的问题就是如何在自动化测试平台上处理和展示这些来自脚本运行的数据。工业界的普遍做法是将错误日志(一般包括时间,错误发生位置)等信息直接堆砌在屏幕上,往往缺乏较直观的表示。对于开发人员,重复的数据反而加大了修复移动应用中错误和缺陷的工作量;对于测试人员,许多数据的显示又非常难以理解,无法促进进一步的测试和探测移动应用中的问题。
技术实现思路
本专利技术要解决的问题是:当前移动应用在多机型测试的效率低以及开发人员的测试时间长的问题。本专利技术的技术方案为:一种基于多级服务器的iOS系统移动应用自动测试系统的架构方法,其特征是对于自动测试中的移动应用自动测试,依据多级服务器分发任务获取报告统计报告的流程,进行了自顶向下的多级服务器架构,使得待测移动应用可以同时在不同的机型环境下测试,以尽可能通过自动化测试提高多机型测试的效率与减少开发人员的测试时间。多级服务器的拓扑结构与功能划分为:主服务器只负责系统的业务交互,主服务器与子服务器一对多进行连接,MACOS系统的子服务器负责具体的测试业务。根据该架构方法搭建的自动测试系统工作的步骤如下:1)主服务器接受任务请求,得到可安装的移动应用安装包。2)主服务器根据各项配置参数,把移动应用安装包分发到各个子MACOS服务器3)装有MACOS系统的子服务器根据主服务器传来的参数,把iOS系统移动应用安装至连接在子服务器上的各iOS系统手持设备上。4)装有MACOS系统的子服务器运行移动应用自动测试程序。5)装有MACOS系统的子服务器为每个连接在子服务器上的iOS系统真机自动生成一份测试报告,将所有生成的测试报告传回主服务器。6)主服务器运行测试报告分析程序,形成完整报告。步骤4)中的自动测试程序,可以对待测的移动应用测试进行多种操作行为的Monkey测试,时间长短事件数量均可进行配置:随机测试中的模拟操作行为包括:点击,拖拽,双击,截屏,按压声音提高键,按压声音减小键,锁屏,缩小手势,放大手势,摇晃。配置内容包括:模拟操作数目,模拟操作间隔时间,各操作占总操作数目的比例,不同点击类型的概率。本专利技术的特点在于:1、使用多级服务器控制安装包的分发;2、使用自动测试程序代替人工手动测试;3、可以自行配置测试操作的类型,次数,比重;4、对多种机型可以同时进行测试并生成测试报告。将这4点结合,本专利技术可以自动进行iOS移动应用的安装与卸载,待测移动应用可进行自动化随机测试,可以进行多个iOS机型的压力测试,测试后生成的报告可以有效展示测试过程中触发移动应用中的缺陷的原因并记录了截图与操作日志以供参考。本专利技术的有益效果是:可以减少程序花费在手动测试上的精力,减少程序员花费在不同机型调配上的时间,使得程序员可以用更少的时间尽早得找到错误,节省了程序员寻找错误的时间成本。附图说明图1为本专利技术的架构示意图。图2为本专利技术的实施流程图。图3为本专利技术实施示例中,测试报告概览页面,包括了被测移动应用基本信息,崩溃次数,无法下载次数,无法打开次数,记录下了崩溃时发生的异常。图4为本专利技术实施示例中,测试报告屏幕截图页面示例,包括了崩溃时的界面截图等。具体实施方式本专利技术中涉及的几项关键的技术分别是:Node.js技术,Express框架,移动端的Instruments、Automation和libimobiledevice。接下来进行一些说明:1、Node.js在本专利技术中,Node.js主要用于主服务器上的业务逻辑的编写。步骤1)中的任务请求,步骤2)中的安装包分发与传输都是通过Node.js来实现的。2、Express框架在本专利技术中,主服务器和子服务器的架构就是采用了Express框架,为服务器提供了一个灵活可拓展的框架。所有的路由与跳转功能都通过该框架来实行。3、Instruments工具。在本专利技术中,Instruments工具被用来在步骤4)中协助自动化的测试。4、Automation在本专利技术中,Automation工具被用来在步骤4)中协助自动化的测试。5、Libimobiledevice在本专利技术中,搭建在Macmini硬件设备的上的子服务器系统,就是通过改软件库与iOS系统真机设备进行连接,并通过这个软件库获得真机设备的一些基本信息。下面用一个具体的示例来说明本方法的步骤,并展示结果。如图1,本专利技术提出了基于多级服务器的移动应用自动测试系统的架构方法,使得待测移动应用可以同时在不同的机型环境下测试,以尽可能通过自动化测试提高多机型测试的效率与减少开发人员的测试时间。微信是一款由腾讯出品的即时通信工具,在苹果应用商城中有很高的下载量,功能丰富,故选为测试应用。多级服务器环境如下:主服务器环境:操作系统ubuntu14.04。子服务器环境:MACmini主机,操作系统OSX10.11。实施步骤如下:1)主服务器接受任务请求,得到可安装的移动应用安装包(wechat.IPA)。2)主服务器根据配置参数(测试次数,测试时间,测试机型,测试类型等),把移动应用安装包分发到各个子MACOS(苹果操作系统)服务器。配置参数示例:-atencent.wechat.app-W1234599234-n400-d~/test-result-t120(-a表示被测程序序号,本示例中为tencent.wechat.app;-w表示测试设备序号,本示例中为1234599234;-n表示测试次数,本示例中测试次数为400;-d表示测试报告地址,本本文档来自技高网...
【技术保护点】
一种基于多级服务器的iOS系统移动应用自动测试系统的架构方法,其特征是对于移动应用自动测试,依据多级服务器分发任务获取报告统计报告,进行自顶向下的多级服务器架构,使得待测试移动应用程序可以同时在不同的机型环境下测试,以解决多机型测试的效率低及开发人员的测试时间长的问题。该架构方法的步骤如下:1)主服务器接受任务请求,得到可安装的移动应用安装包。2)主服务器根据配置参数(测试次数,测试时间,测试机型,测试类型等),把移动应用安装包分发到各个子MAC OS(苹果操作系统)服务器3)装有MAC OS系统的子服务器根据主服务器传来的参数(测试次数,测试时间,测试机型,测试类型等),把iOS系统移动应用安装至连接在子服务器上的各iOS系统手持设备上。4)装有MAC OS系统的子服务器运行移动应用自动测试程序。5)装有MAC OS系统的子服务器为每个连接在子服务器上的iOS系统真机自动生成一份测试报告(包括但不限于测试类型,测试时间,测试次数,系统崩溃次数,系统崩溃截图等),将所有生成的测试报告传回主服务器。6)主服务器运行测试报告分析程序,形成完整报告。
【技术特征摘要】
1.一种基于多级服务器的iOS系统移动应用自动测试系统的架构方法,其特征是对于移动应用自动测试,依据多级服务器分发任务获取报告统计报告,进行自顶向下的多级服务器架构,使得待测试移动应用程序可以同时在不同的机型环境下测试,以解决多机型测试的效率低及开发人员的测试时间长的问题。该架构方法的步骤如下:1)主服务器接受任务请求,得到可安装的移动应用安装包。2)主服务器根据配置参数(测试次数,测试时间,测试机型,测试类型等),把移动应用安装包分发到各个子MACOS(苹果操作系统)服务器3)装有MACOS系统的子服务器根据主服务器传来的参数(测试次数,测试时间,测试机型,测试类型等),把iOS系统移动应用安装至连接在子服务器上的各iOS系统手持设备上。4)装有MACOS系统的子服务器运行移动应用自动测试程序。5)装有MACOS系统的子服务器为每个连接在子服务器上的iOS系统真机自动生成一份测...
【专利技术属性】
技术研发人员:陈振宇,陈圣超,房春荣,张智轶,李玉莹,
申请(专利权)人:南京慕测信息科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。