便携数据处理设备应用程序的测试方法、系统和客户端的制作方法

文档序号:6486926阅读:108来源:国知局
便携数据处理设备应用程序的测试方法、系统和客户端的制作方法
【专利摘要】本申请公开了一种便携数据处理设备应用程序(APP)的测试方法、系统及客户端。其中与被测APP关联的自动测试APP安装在便携数据处理设备上,用于在启动后自动启动本机上关联的被测APP,运行自动测试脚本对测试该被测APP,生成测试报告;测试入口模块安装在便携数据处理设备上,用于获取便携数据处理设备对所述自动测试APP的测试指令,启动对应的自动测试APP;上传模块安装在便携数据处理设备上,用于上传所述测试报告到网络端;测试报告模块设置在网络端,用于存储所述测试报告。所述测试入口模块和上传模块可以组成测试管理客户端,安装在便携数据处理设备上方便用户测试。本发明可降低测试APP的人工成本,提高测试质量。
【专利说明】便携数据处理设备应用程序的测试方法、系统和客户端
【技术领域】
[0001]本发明涉及便携数据处理设备【技术领域】,尤其涉及一种便携数据处理设备应用程序APP的测试方法、系统和客户端。
【背景技术】
[0002]目前具有数据计算处理功能的便携数据处理设备被应用得越来越广泛,例如智能手机、掌上电脑、平板电脑等已经成为人们随身携带的必备便携数据处理设备。通常,这些便携数据处理设备上都安装有操作系统,例如常见的便携操作系统有:安卓(Android)操作系统、塞班(Symbian)操作系统、Windows mobile操作系统、以及苹果iPhone OS操作系统等等。基于便携数据处理设备的操作系统,可以加载运行各种应用程序(APP,APPlication),这些应用程序有操作系统自带的,但大部分应用程序都是独立于操作系统的第三方应用程序。
[0003]目前由于便携数据处理设备的操作系统版本较多、不同便携数据处理设备屏幕分辨率也有差异,因此每开发一款APP,都需要对该APP在不同的便携数据处理设备上进行兼容性的测试。例如现有的主要测试方法主要有如下三种:
[0004]第一种现有测试方法:纯手工测试的方式。
[0005]即:将被测APP分别安装在很多安装了不同版本操作系统系统且屏幕分辨率不同的便携数据处理设备如手机上,然后手工的在各个设备上运行被测APP,手工地进行各种功能测试。比如如果被测APP为一款手机浏览器,则可以手工打开该手机浏览器,手工输入网页地址,手工点击“前往”按钮,人工判断程序是否返回正确的页面。
[0006]但是,所述第一种现有测试方法的缺点是:全部采用人工测试,人工成本过高;测试过程非常耗时间,测试效率不高。
[0007]第二种现有测试方法:简单的自动化测试。
[0008]即:在一台计算机上通过多条数据线连接多个使用不同版本操作系统且屏幕分辨率不同的便携数据处理设备,测试人员在计算机上通过操作系统对应的开发工具编写自动化测试脚本,通过所述数据连线,让自动化测试脚本在与计算机连接的所述不同的便携数据处理设备上执行,从而得到测试结果。
[0009]所述操作系统对应的开发工具,例如:android系统对应的开发工具为eclipseADTCeclipse android development tools)或者 android 系统自带的 Adb(Android DebugBridge)工具,所述eclipse ADT是Eclipse的android操作系统开发工具插件,可以使Eclipse具有很方便的进行android应用程序的开发,调试等功能。所述Eclipse是一种java程序语言的集成开发环境,可以提供许多非常智能,便捷的工具,让程序开发变得更为高效。所述Adb是android操作系统提供的一个通用的调试工具,借助该工具可以管理设备和手机模拟器的状态。
[0010]但是,所述第二种现有测试方法的缺点是:这种方式虽然能够在一定程度上实现自动化的测试,但是仍然需要测试人员人工在计算机机上通过命令行或者开发工具启动自动化测试脚本的执行,同时人工的匹配设备类型,并且人工记录结果。只是省去了测试执行的过程。操作过程仍然繁琐,人工成本依然较高。同时目前的计算机的数据接口的数量也有限,没办法连接市面上众多类型的便携数据处理设备,对测试设备种类的覆盖率不高。另夕卜,测试用的计算机往往在单一的网络环境中,无法接近被测APP真实的运行环境,而用户在各种不同的真实网络环境中运行被测APP时,会出现许多测试不到的问题,因此测试质量不高。
[0011]第三种现有测试方式:集中的自动化测试。
[0012]即:远程测试服务器通过一定的方式,提供测试服务。用户只需要提供被测APP,自动化测试脚本上传到远程服务器上,并选定需要运行的操作系统版本及屏幕分辨率即可。远程测试服务器方实质上采用与上述第二种现有测试方式类似的技术,只是所使用的计算机的数量较多,通常采用集群计算机设置,每台计算机上连接多个不同种类的便携数据处理设备用于测试,这样就可以提高对测试设备种类的覆盖率。
[0013]但是,所述第二种现有测试方法的缺点是:测试用的计算机往往在单一的网络环境中,无法接近被测APP真实的运行环境,而用户在各种不同的真实网络环境中运行被测APP时,会出现许多测试不到的问题,因此测试质量同样不高。
[0014]因此,现有技术总体来说,还没有一种测试方式可以使得人工成本较低,同时测试
质量较高。

【发明内容】

[0015]有鉴于此,本发明的主要目的在于提供一种便携数据处理设备应用程序的测试方法、系统和客户端,以降低测试的人工成本,提高测试质量。
[0016]本发明的技术方案是这样实现的:
[0017]一种便携数据处理设备应用程序APP的测试方法,包括:
[0018]在便携数据处理设备上安装与被测APP关联的自动测试APP,所述自动测试APP中包含针对被测APP的自动测试脚本;
[0019]在便携数据处理设备上设置触发所述自动测试APP的启动入口,通过该启动入口获取便携数据处理设备对所述自动测试APP的测试指令,启动对应的自动测试APP ;
[0020]所述自动测试APP在启动后自动启动与之关联的被测APP,并运行自动测试脚本对所述被测APP进行测试,生成测试报告;
[0021]上传所述测试报告到网络端进行存储。
[0022]一种便携数据处理设备APP的测试系统,包括:
[0023]与被测APP关联的自动测试APP,安装在便携数据处理设备上,用于在启动后自动启动本机上关联的被测APP,运行自动测试脚本对所述被测APP进行测试,生成测试报告;
[0024]测试入口模块,安装在便携数据处理设备上,用于获取便携数据处理设备对所述自动测试APP的测试指令,启动对应的自动测试APP ;
[0025]上传模块,安装在便携数据处理设备上,用于上传所述测试报告到网络端;
[0026]测试报告模块,设置在网络端,用于存储上传到网络端的测试报告。
[0027]—种便携数据处理设备APP的测试管理客户端,包括测试入口模块和上传模块;所述测试入口模块具体包括:[0028]APP列表模块,用于获取本机所有APP的列表;
[0029]关联查询模块,用于遍历查询所有APP的关联信息,确定关联有自动测试APP的被测 APP ;
[0030]展示模块,用于在本机界面上展示所述被测APP列表;
[0031 ] 第一触发模块,用于获取针对被测APP列表中某个被测APP的触发指令,将该触发指令作为所述测试指令,启动该被测APP关联的自动测试APP ;
[0032]所述上传模块用于将自动测试APP生成的测试报告上传到网络端。
[0033]与现有技术相比,本发明在便携数据处理设备上安装与被测APP关联的自动测试APP,并在便携数据处理设备上提供启动该自动测试APP的启动入口,这样任何一个便携数据处理设备用户(不必是专业开发人员)都可以通过该启动入口启动所述自动测试APP;所述自动测试APP启动后自动启动与之关联的被测APP,并运行自动测试脚本对所述被测APP进行测试,生成测试报告上报给网络端供测试人员访问所述测试报告。因此本发明不但可以实现自动化的测试,降低人工测试工作量,降低人工成本;同时本发明由于任何一个便携数据处理设备用户都可以在本机上启动测试,而不是使用计算机进行集中测试,测试报告可以上传到网络端进行存储并供测试人员访问,因此,本发明的测试方式不受便携数据处理设备的通信网络地域限制,与被测APP的真实运行环境非常接近,提高了测试质量。
【专利附图】

【附图说明】
[0034]图1为本发明所述便携数据处理设备APP的测试方法的一种流程图;
[0035]图2为本发明所述便携数据处理设备APP的测试系统的一种组成示意图;
[0036]图3所示为自动测试脚本直接生成的测试报告内容的示意图;
[0037]图4a为一种转换成XML格式的测试报告的内容不意图;
[0038]图4b为加入了设备类型信息的一种XML格式的测试报告的内容示意图;
[0039]图5a为具有测试报告转化功能的测试系统的一种组成示意图;
[0040]图5b为具有测试报告转化功能的测试系统的又一种组成示意图;
[0041]图6为一种测试入口 APP的界面示意图;
[0042]图7a所示为本发明所述测试入口模块的一种具体组成及其与自动测试APP的关系不意图;
[0043]图7b为本发明所述测试入口模块的又一种具体组成及其与自动测试APP的关系示意图;
[0044]图8为本发明所述测试管理客户端APPtester的一种组成示意图;
[0045]图9为热心用户在自己的手机上对APP进行测试并上传测试报告供测试人员访问的具体流程图。
【具体实施方式】
[0046]下面结合附图及具体实施例对本发明再作进一步详细的说明
[0047]图1为本发明所述便携数据处理设备APP的测试方法的一种流程图,参见图1,该方法主要包括:
[0048]步骤101、在便携数据处理设备上安装与被测APP关联的自动测试APP,所述自动测试APP中包含针对被测APP的自动测试脚本;当然,本发明测试方法的前提是在该便携数据处理设备上还要安装被测APP,此处假设被测APP已经在便携数据处理设备上安装完毕。
[0049]步骤102、在便携数据处理设备上设置触发所述自动测试APP的启动入口,通过该启动入口获取便携数据处理设备对所述自动测试APP的测试指令,启动对应的自动测试APP ;
[0050]步骤103、所述自动测试APP在启动后自动启动与之关联的被测APP,并运行自动测试脚本对所述被测APP进行测试,生成测试报告;
[0051]步骤104、上传所述测试报告到网络端进行存储。可以通过网络端供测试人员访问所述测试报告。
[0052]对应的,本发明还公开了一种便携数据处理设备APP的测试系统,用于执行本发明的方法。图2为本发明所述便携数据处理设备APP的测试系统的一种组成示意图。参见图2,该系统包括:
[0053]与被测APP 202关联的自动测试APP 201,安装在便携数据处理设备上,用于在启动后自动启动本机上关联的被测APP 202,运行自动测试脚本对所述被测APP202进行测试,生成测试报告;所述本机是指本便携数据处理设备。
[0054]测试入口模块203,安装在便携数据处理设备上,用于获取便携数据处理设备对所述自动测试APP 201的测试指令,启动对应的自动测试APP 201 ;
[0055]上传模块204,安装在便携数据处理设备上,用于上传所述测试报告到网络端;
[0056]测试报告模块205,设置在网络端,用于存储上传到网络端的测试报告,并供测试人员访问所述测试报告。
[0057]本发明中,所述便携数据处理设备是指具有数据计算处理功能的便携数据处理设备,包括但不限于智能手机、掌上电脑、平板电脑等。这些便携数据处理设备上都安装有操作系统,包括但不限于:Android操作系统、Symbian操作系统、Windows mobile操作系统、以及苹果iPhone OS操作系统等等。所述的被测APP是指基于所述操作系统,可以在所述便携数据处理设备中运行的APP。
[0058]本文所述的实施例中,具体以所述被测APP为基于andriod操作系统的APP为例进行说明。
[0059]所述自动测试脚本是测试人员根据被测APP的功能所编写的程序代码,该程序代码可以被便携数据处理设备自动运行,用于自动测试被测APP各项功能。例如对于基于android操作系统的被测APP,与该被测APP关联的自动测试APP的自动测试脚本可以利用Instrumentation框架进行编写。所述Instrumentation是google官方为android操作系统测试提供的一种技术,该技术是一系列对android操作系统进行控制的方法的集合,可以在基于android的APP的正常生命周期之外独立地控制android应用的各个组件。因此利用Instrumentation可以方便地编写出对被测APP的自动测试脚本,而且自动测试脚本运行后可以由Instrumentation框架提供测试结果,自动测试脚本可以直接利用这些测试结果生成测试报告。为了能在便携数据处理设备上运行所述自动测试脚本,需要把自动测试脚本打包成与便携数据处理设备操作系统对应的自动测试APP,该自动测试APP可以在便携数据处理设备上安装并启动运行。
[0060]至于所述自动测试脚本的具体内容,需要根据被测APP的功能和测试人员的测试需求确定。
[0061]图3所示为自动测试脚本直接生成的测试报告内容的示意图,测试报告中主要包括被测APP的功能测试结果信息。所述被测APP的功能测试结果信息例如可以包括:测试用例名称(如图3中的所述“testDisplayBlackBox”)、测试失败的异常信息(如图3中的所述“Error in testFalse:......”)、以及运行时间等信息。
[0062]由于自动测试APP中的自动测试脚本在执行完毕测试过程后直接生成的测试报告往往不是固定的格式,这种测试报告的可读性不强。因此在本发明所述方法的一种实施例中,该方法除了图1所示的步骤,还可以进一步包括:
[0063]在生成所述测试报告后,将所述生成的测试报告转化成指定格式的测试报告,再上传到网络端;
[0064]或者,上传所述测试报告到网络端后,在网络端将所述测试报告转化成指定格式的测试报告,再进行存储。
[0065]所述指定格式的测试报告通常是可扩展标记语言(XML, Extensible MarkupLanguage)格式。XML是一种用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。采用XML格式,可以增强测试报告的可读性。方便测试人员查看和理解测试报告中的内容。
[0066]例如图4a为一种转换成XML格式的测试报告的内容示意图。参见图4a,可以将图3中的所述按照顺序显示的被测APP的功能测试结果信息转换成具有节点层次结构的XML格式的信息。例如其中的可以将所有具有相同测试类的用例及其测试结果组合到一个节点即所述testsuite节点下,该testsuite节点的名称为测试类的名称(例如classname=“com.calculator, test.ApkTest”),该测试类的节点下包括该测试类的所有用例名称及其对应的测试失败的异常信息。
[0067]通过这种格式转换,可以增强测试报告的可读性。方便测试人员查看和理解测试报告中的内容。
[0068]进一步的,本发明还可以利用操作系统的现有API获取便携数据处理设备的设备类型信息,例如设备型号、操作系统版本、以及序列号等信息。然后将所述设备类型信息加入到所述测试报告中,以方便测试人员定位测试异常结果的设备类型。
[0069]图4b为加入了设备类型信息的一种XML格式的测试报告的内容示意图。参见图4b,其中device节点内的信息即为所述设备类型信息。
[0070]对应的,在本发明所述便携数据处理设备APP的测试系统的一种实施例中,除了图2所述的模块,还进一步包括测试报告转化模块。
[0071]如图5a所示,该测试报告转化模块206可以安装在便携数据处理设备上,用于将所述生成的测试报告转化成指定格式的测试报告,再交给上传模块204上传到网络端。
[0072]或者,如图5b所示,该测试报告转化模块206也可以安装在网络端,用于将所述上传的测试报告转化成指定格式的测试报告,再交给所述测试报告模块存储205。
[0073]本发明所述在便携数据处理设备上设置触发所述自动测试APP的启动入口的具体方式可以有多种。例如其中一种实施例具体为:在所述便携数据处理设备上安装测试入口 APP作为所述启动入口。所述测试入口 APP也是本发明提供的一种用于测试管理的APP,例如本文中称为APPtester。在这种实施例中,需要将所述测试入口 APP安装在便携数据处理设备上。
[0074]所述通过测试入口 APP获取便携数据处理设备对所述自动测试APP的测试指令,启动对应的自动测试APP,具体包括:运行所述测试入口 APP,该测试入口 APP执行如下操作:
[0075](I)获取本机所有APP的列表。例如对于android操作系统,可以通过android的PackageManager工具获取本机上的所有APP的列表。
[0076](2)遍历查询所有APP的关联信息,确定关联有自动测试APP的被测APP。
[0077](3)在本机界面上展示所述被测APP列表。
[0078]例如对于android操作系统,可以通过PackageManager工具的queryInstrumentation函数遍历查询所述APP列表中每个APP是否对应有instrument信息。由于在android操作系统中,被测APP关联的自动测试APP中的自动测试脚本是基于Instrumentation框架编写的,因此只要某个自动测试APP被安装在本机中,该自动测试APP关联的被测APP就会存在对应的instrument信息,此处可以将该instrument信息作为关联信息,来判断某一个APP是否关联有自动测试APP。如果所述APP列表中的某个APP存在instrument信息,则判定该APP为关联有自动测试APP的被测APP,将该APP的名称放入所述测试入口 APP的被测APP列表中,某个APP不存在instrument信息则不会将该APP的名称放入所述测试入口 APP的被测APP列表中。也就是说,只要便携数据处理设备中同时安装了被测APP和对应的基于android Instrumentation框架的自动测试APP,则对应的被测APP的名称就会显示在所述被测APP列表中。
[0079]如图6为一种测试入口 APP的界面示意图。参见图6,测试入口 APP安装启动后,会显示操作界面600,其中本机所有关联有自动测试APP的被测APP的名称都会显示在被测APP列表601中,用户点击被测试列表601中的被测APP的名称(或图标)则判定发出了针对该被测APP的触发指令。如图6所述,所述测试入口 APP与被测APP是一对多的关系,由于被测APP和关联的自动测试APP通常是一对一的关系,因此所述测试入口 APP与自动测试APP也是一对多的关系。
[0080](4)获取针对被测APP列表中某个被测APP的触发指令,将该触发指令作为所述测试指令,启动该被测APP关联的自动测试APP。
[0081]例如对于android操作系统,具体的启动方法是根据所述被点击的被测APP对应的instrument信息,使用android自带的方法启动其关联的基于instrumentation框架的自动测试APP。所述android自带的方法为android sdk中的startlnstrumentation方法。
[0082]在另一种实施例中,所述在便携数据处理设备上设置触发所述自动测试APP的启动入口也可以为:在安装自动测试APP时在本机界面上生成该自动测试APP对应的触发标志,作为所述启动入口。在该实施例中,所述触发标志与自动测试APP是一对一的关系。所述通过启动入口获取便携数据处理设备对所述自动测试APP的测试指令,启动对应的自动测试APP的具体过程包括:获取针对所述自动测试APP的触发标志的触发指令,将该触发指令作为测试指令,启动该自动测试APP。
[0083]对应的,在本发明所述便携数据处理设备APP的测试系统的一种实施例中,所述测试入口模块203具体可以是所述测试入口 APP,与自动测试APP为一对多的关系。如图7a所示为本发明所述测试入口模块的一种具体组成及其与自动测试APP的关系示意图。参见图7a,该测试入口模块203具体包括:
[0084]APP列表模块701,用于获取本机所有APP的列表。
[0085]关联查询模块702,用于遍历查询所有APP的关联信息,确定关联有自动测试APP的被测APP。
[0086]展示模块703,用于在本机界面上展示所述被测APP列表。
[0087]第一触发模块704,用于获取针对被测APP列表中某个被测APP的触发指令,将该触发指令作为所述测试指令,启动该被测APP关联的自动测试APP。
[0088]图7b为本发明所述测试入口模块的又一种具体组成及其与自动测试APP的关系示意图。参见图7b,所述测试入口模块203可以与所述自动测试APP 201为一对一的关系,该测试入口模块203与对应的自动测试APP 201集成在一起,与自动测试APP 201 一起安装,其中包括:
[0089]触发标志生成模块705,用于在安装自动测试APP 201时在本机界面上生成该自动测试APP 201对应的触发标志;
[0090] 第二触发模块706,用于获取针对所述自动测试APP 201的触发标志的触发指令,将该触发指令作为测试指令,启动该自动测试APP 201。
[0091]当然,本发明所述系统的各模块的组合方式并不限于上述实施例,所述上传模块204也可以集成在自动测试APP 201中,或者所述上传模块204和测试报告转化模块206都可以集成在自动测试APP 201中,自动测试APP 201在完成测试后自动上传所述测试报告。
[0092]本发明也可以将图7a所述测试入口 APP 203中的模块与上传模块204结合起来组成一个用于测试管理的测试管理客户端,例如此处称为APPtester,该测试客户端还可以进一步包括所述测试报告转化模块206。图8为本发明所述测试管理客户端APPtester 800的一种组成示意图。参见图8,该APPtester 800包括测试入口模块和上传模块;所述测试入口模块具体包括::
[0093]APP列表模块701,用于获取本机所有APP的列表。
[0094]关联查询模块702,用于遍历查询所有APP的关联信息,确定关联有自动测试APP的被测APP。
[0095]展示模块703,用于在本机界面上展示所述被测APP列表。
[0096]第一触发模块704,用于获取针对被测APP列表中某个被测APP的触发指令,将该触发指令作为所述测试指令,启动该被测APP关联的自动测试APP。
[0097]所述上传模块204用于将自动测试APP 201生成的测试报告上传到网络端。
[0098]当然,图8所示实施例中的APPtester 800还可以进一步包括测试报告转化模块206,用于将自动测试APP 201生成的测试报告转化成指定格式的测试报告,再交给所述上传模块204上传到网络端。
[0099]进一步的,所述APPtester还可以包括设备类型获取模块,用于利用操作系统的现有API获取便携数据处理设备的设备类型信息,例如设备型号、操作系统版本、以及序列号等信息,然后将所述设备类型信息加入到所述测试报告中。例如可以将所述设备类型信息加入到自动测试APP 201生成的原始测试报告中,也可以加入到测试报告转化模块206转化完的指定格式的测试报告中,该测试报告的具体内容例如可以如图4b所示。[0100]另外,在网络端,还可以提供被测APP及其关联的自动测试APP的下载地址,或者提供被测APP关联的自动测试APP的下载地址,或者在前述下载地址的基础上进一步提供所述APPtester的下载地址。具体的测试操作由热心用户下载所述被测APP及其关联的自动测试APP,在本地进行测试然后上传测试报告到网络端供测试人员参考。
[0101]下面举例介绍本发明的一种具体应用场景下的测试过程。
[0102]第一步:被测APP的开发人员需要提供被测APP的安装程序包,上传到网络端。
[0103]第二步:测试人员为被测APP编写关联的自动化测试脚本,并且在本地的工作环境上将自动化测试脚本调试全部通过,然后将该自动化测试脚本打包为一个自动测试APP的安装程序包,也上传到网络端。
[0104]第三步:在网络端,同时提供所述被测APP的下载地址,该被测APP关联的自动测试APP下载地址,以及所述测试管理客户端(APPtester)的下载地址,供热心用户下载。
[0105]第四步:任何热心用户都可以下载所述被测APP及其关联的自动测试APP和APPtester到自己的便携数据处理设备上,参与测试。
[0106]第五步:热心用户在自己的便携数据处理设备上进行测试并上传测试报告供测试人员访问。假设所述便携数据处理设备为用户的手机。
[0107]图9为热心用户在自己的手机上对APP进行测试并上传测试报告供测试人员访问的具体流程图。如图9所示,包括:
[0108]901、热心用户在自己的手机上安装所述被测APP及其关联的自动测试APP,以及安装所述APPtester。
[0109]902、所述用户启动运行所述APPtester。所述APPtester在启动后,会获取本机所有APP的列表,遍历查询所有APP的关联信息,确定关联有自动测试APP的被测APP,并展示所述被测APP列表,如图6所示。
[0110]903、所述用户从被测APP列表中点击如图6所示的一个被测APP (如UC浏览器)发出测试指令,该被测APP关联的自动测试APP启动,该自动测试APP在启动后自动启动与之关联的被测APP (即用户点击的被测APP)。
[0111]904、所述自动测试APP运行自动测试脚本对所述被测APP进行测试。
[0112]905、自动测试脚本判断测试是否完成,如果完成执行下一步,否则返回904继续测试。
[0113]906、自动测试脚本生成测试报告,返回给APPtester,由APPtester将所述测试报告上传给网络端,或者先将测试报告转化为指定的格式再上传给网络端,或者进一步在测试报告中添加用户手机的设备类型信息。
[0114]907、网络端存储所述测试报告,供测试人员访问所述测试报告。测试人员根据测试报告分析被测APP在不同设备上的适配情况。
[0115]在网络端,所述通过网络端供测试人员访问所述测试报告的具体方式可以包括多种,例如可以根据测试人员的指令在线展示所述测试报告,也可以根据测试人员的指令将测试报告先下载到测试人员的本地计算机,在本地计算机进行展示。
[0116]由上所述,通过本发明的方案,可以实现一下几个优点:
[0117](a)实现自动化测试,节省时间和人力成本。
[0118](b)测试质量高。可以充分发挥分布在各种不同网络通信环境中的真实热心用户的测试优势,由这些真实用户将所述被测APP及其关联的自动测试APP下载到自己的便携数据处理设备上进行测试,并且可以下载所述APPtester对多个被测APP及其关联的自动测试APP进行入口测试管理。这样产生的测试报告能够充分地反应真实用户的真实网络通信状况,与被测APP的真实运行环境非常接近,提高了测试质量。
[0119](c)测试覆盖面广。本发明所述的被测APP及其关联自动测试APP可以对外公开下载,可以充分发挥热心用户的作用,达到设备类型的100%覆盖也很容易。同时用户分布广,可以覆盖不同地区和不同运营商的网络。
[0120](d)节省硬件成本。由于测试用的便携数据处理设备由热心用户提供,测试人员不需要购置大量便携数据处理设备进行测试。
[0121]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种便携数据处理设备应用程序APP的测试方法,其特征在于,包括: 在便携数据处理设备上安装与被测APP关联的自动测试APP,所述自动测试APP中包含针对被测APP的自动测试脚本; 在便携数据处理设备上设置触发所述自动测试APP的启动入口,通过该启动入口获取便携数据处理设备对所述自动测试APP的测试指令,启动对应的自动测试APP ; 所述自动测试APP在启动后自动启动与之关联的被测APP,并运行自动测试脚本对所述被测APP进行测试,生成测试报告; 上传所述测试报告到网络端进行存储。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括: 在生成测试报告后,将所述生成的测试报告转化成指定格式的测试报告,再上传到网络端; 或者,上传所述测试报告到网络端后,在网络端将所述测试报告转化成指定格式的测试报告,再进行存储。
3.根据权利要求1所述的方法,其特征在于,所述在便携数据处理设备上设置触发所述自动测试APP的启动入口,具体为:在所述便携数据处理设备上安装测试入口 APP作为所述启动入口; 所述通过启动入口获取便携数据处理设备对所述自动测试APP的测试指令,启动对应的自动测试APP,具体包括:运行所述测试入口 APP,该测试入口 APP执行如下操作: 获取本机所有APP的列表; 遍历查询所有APP的关联信息,确定关联有自动测试APP的被测APP ; 在本机界面上展示所述被测APP列表; 获取针对被测APP列表中某个被测APP的触发指令,将该触发指令作为所述测试指令,启动该被测APP关联的自动测试APP。
4.根据权利要求1所述的方法,其特征在于,所述在便携数据处理设备上设置触发所述自动测试APP的启动入口具体为:在安装自动测试APP时在本机界面上生成该自动测试APP对应的触发标志,作为所述启动入口 ; 所述通过启动入口获取便携数据处理设备对所述自动测试APP的测试指令,启动对应的自动测试APP,具体包括:获取针对所述自动测试APP的触发标志的触发指令,将该触发指令作为测试指令,启动该自动测试APP。
5.根据权利要求1所述的方法,其特征在于,该方法进一步获取便携数据处理设备的设备类型信息,将该设备类型信息加入到所述测试报告中。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述被测APP为基于andriod操作系统的APP,所述自动测试APP中的脚本为基于instrumentation框架的测试脚本。
7.一种便携数据处理设备APP的测试系统,其特征在于,包括: 与被测APP关联的自动测试APP,安装在便携数据处理设备上,用于在启动后自动启动本机上关联的被测APP,运 行自动测试脚本对所述被测APP进行测试,生成测试报告; 测试入口模块,安装在便携数据处理设备上,用于获取便携数据处理设备对所述自动测试APP的测试指令,启动对应的自动测试APP ; 上传模块,安装在便携数据处理设备上,用于上传所述测试报告到网络端;测试报告模块,设置在网络端,用于存储上传到网络端的测试报告。
8.根据权利要求7所述的系统,其特征在于,所述系统进一步包括测试报告转化模块; 该测试报告转化模块安装在便携数据处理设备上,用于将所述生成的测试报告转化成指定格式的测试报告,再交给上传模块上传到网络端; 或者,该测试报告转化模块安装在网络端,用于将所述上传的测试报告转化成指定格式的测试报告,再交给所述测试报告模块存储。
9.根据权利要求7所述的系统,其特征在于,所述测试入口模块与自动测试APP为一对多的关系,该测试入口模块具体包括: APP列表模块,用于获取本机所有APP的列表; 关联查询模块,用于遍历查询所有APP的关联信息,确定关联有自动测试APP的被测APP ; 展示模块,用于在本机界面上展示所述被测APP列表; 第一触发模块,用于获取针对被测APP列表中某个被测APP的触发指令,将该触发指令作为所述测试指令,启动该被测APP关联的自动测试APP。
10.根据权利要求7所述的系统,其特征在于,所述测试入口模块与自动测试APP为一对一的关系,与对应的自动测试APP集成在一起,该测试入口模块包括: 触发标志生成模块,用于在安装自动测试APP时在本机界面上生成该自动测试APP对应的触发标志; 第二触发模块,用于获取针对所述自动测试APP的触发标志的触发指令,将该触发指令作为测试指令,启动该自动测试APP。
11.根据权利要求7至10任一项所述的系统,其特征在于,所述被测APP为基于andriod操作系统的APP,所述自动测试APP中的脚本为基于instrumentation框架的测试脚本。
12.一种便携数据处理设备APP的测试管理客户端,其特征在于,包括测试入口模块和上传模块;所述测试入口模块具体包括: APP列表模块,用于获取本机所有APP的列表; 关联查询模块,用于遍历查询所有APP的关联信息,确定关联有自动测试APP的被测APP ; 展示模块,用于在本机界面上展示所述被测APP列表; 第一触发模块,用于获取针对被测APP列表中某个被测APP的触发指令,将该触发指令作为所述测试指令,启动该被测APP关联的自动测试APP ; 所述上传模块用于将自动测试APP生成的测试报告上传到网络端。
13.根据权利要求12所述的测试管理客户端,其特征在于,该客户端进一步包括: 测试报告转化模块,用于将自动测试APP生成的测试报告转化成指定格式的测试报告,再交给所述上传模块上传到网络端。
14.根据权利要求12所述的测试管理客户端,其特征在于,该客户端进一步包括:设备类型获取模块,用于利用操作系统的现有API获取便携数据处理设备的设备类型信息,将所述设备类型信息加入到所述测试报告中。
【文档编号】G06F11/36GK103544100SQ201210241024
【公开日】2014年1月29日 申请日期:2012年7月12日 优先权日:2012年7月12日
【发明者】汪黎, 丁如敏 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1