CN104978263B - 一种移动端应用程序测试方法及*** - Google Patents
一种移动端应用程序测试方法及*** Download PDFInfo
- Publication number
- CN104978263B CN104978263B CN201410139517.9A CN201410139517A CN104978263B CN 104978263 B CN104978263 B CN 104978263B CN 201410139517 A CN201410139517 A CN 201410139517A CN 104978263 B CN104978263 B CN 104978263B
- Authority
- CN
- China
- Prior art keywords
- test
- equipment simulator
- simulator
- equipment
- assignment
- 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
Landscapes
- Mobile Radio Communication Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种移动端应用程序测试方法,包括:从服务器获取测试应用程序的测试任务以及相关的测试文件,测试文件包括待测应用程序以及测试脚本,确认与测试任务对应的设备模拟器,在该设备模拟器内安装该待测应用程序,执行该测试脚本,待该测试脚本执行完毕后获取测试结果。此外,本发明还提供一种移动端应用程序测试***。上述移动端应用程序测试方法及***可提高测试成功率,降低测试成本。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种移动端应用程序测试方法及***。
背景技术
基于移动端的客户端应用环境很复杂,而在移动端应用(APP,APPlication)的测试过程中,一般需要通过全面的适配测试来实现测试用例全面覆盖到不同的场景,以保证移动端APP的质量。移动端APP的适配测试主要包括操作***(OS,Opration System)适配测试和用户界面(UI,User Interface)适配测试,但是这个过程工作量巨大,一般选择自动化测试手段来提高效率。
目前移动端APP的自动化适配测试技术主要是通过在云端部署具有不同硬件和OS配置的测试终端真机,测试人员向云端提交待测APP并选择测试机型后开始执行适配测试任务,测试***可以扫描待测移动端APP中的控件或页面元素,并根据控件和元素的类型进行点击、滑动和输入等操作完成测试。
但在以上现有技术中,APP测试***依赖于满足特定配置条件的测试终端真机,为了保证适配测试的完整性,需要购买大量的测试设备并对设备进行维护,并需要建立机房来管理这些测试设备,测试成本较高。并且基于真机的APP测试***对测试资源的管理效率较低,测试设备出现故障,可能会导致测试设备的管理成本增加或无法完成测试。
发明内容
有鉴于此,本发明提供一种移动端应用程序适配测试方法及***,可控制模拟机完成APP的测试,提高测试的效率,降低测试成本。
本发明实施例提供的移动端应用程序适配测试方法,包括:从服务器获取测试应用程序的测试任务以及与所述测试任务相关的测试文件,所述测试文件包括待测应用程序以及测试脚本;确认与所述测试任务对应的设备模拟器;将所述待测应用程序及所述测试脚本传输给所述设备模拟器;在所述设备模拟器内安装所述待测应用程序,执行所述测试脚本;待所述测试脚本执行完毕后获取测试结果。
本发明实施例提供的移动端应用程序适配测试方法,包括:接收测试应用程序的测试任务以及与所述测试任务相关的测试文件,所述测试任务中包含用于测试的硬件配置参数,所述测试文件包括待测应用程序以及测试脚本;选择具有所述硬件配置参数的设备模拟器,作为执行所述测试任务的设备模拟器;向选择的设备模拟器所在的测试计算机发送所述测试任务,以及与所述测试任务相关的测试文件,以使所述设备模拟器执行所述测试任务;接收所述测试计算机发送的测试结果。
本发明实施例提供的移动端应用程序适配测试方法,包括:服务器接收测试应用程序的测试任务,与所述测试任务相关的测试文件,以及执行所述测试任务对应的硬件配置参数,所述测试文件包括待测应用程序以及测试脚本;所述服务器选择测试计算机中具有所述硬件配置参数的设备模拟器作为执行所述测试任务的设备模拟器;所述服务器向所述测试计算机发送所述测试任务,以及与所述测试任务相关的测试文件;所述测试计算机从所述服务器获取测试应用程序的测试任务以及与所述测试任务相关的测试文件;所述测试计算机确认与所述测试任务对应的设备模拟器;所述测试计算机将所述待测应用程序及所述测试脚本传输给所述设备模拟器;所述测试计算机在所述设备模拟器内安装所述待测应用程序,执行所述测试脚本;所述测试计算机待所述测试脚本执行完毕后获取测试结果,并发送给所述服务器。
本发明实施例提供的移动端应用程序适配测试***,包括:
服务器以及测试计算机;其中,所述服务器,用于接收测试应用程序的测试任务以及与所述测试任务相关的测试文件,所述测试任务中包含用于测试的硬件配置参数,所述测试文件包括待测应用程序以及测试脚本,选择具有所述硬件配置参数的设备模拟器作为执行所述测试任务的设备模拟器,向选择的设备模拟器所在的所述测试计算机发送所述测试任务,以及与所述测试任务相关的测试文件;所述测试计算机,用于从所述服务器获取测试应用程序的测试任务以及与所述测试任务相关的测试文件,确认与所述测试任务对应的设备模拟器,将所述待测应用程序及所述测试脚本传输给所述设备模拟器,在所述设备模拟器内安装所述待测应用程序,执行所述测试脚本,待所述测试脚本执行完毕后获取测试结果,并发送给所述服务器。
本发明实施例提供的动端应用程序适配方法及***,从服务器获取测试应用程序的测试任务、待测应用程序以及测试脚本,在设备模拟器内安装该待测应用程序,执行该测试脚本,利用设备模拟器代替真机对移动端APP的测试,提高测试成功率,降低测试成本,标记设备模拟器的状态,并将设备模拟器的状态、增加、删除的情况发送给服务器,提高对测试资源的管理效率。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为第一实施例提供的移动端应用程序适配测试***的结构示意图。
图2为测试计算机结构框图。
图3为第一实施例提供的移动端应用程序适配测试***中的测试装置的一个示意图。
图4为第一实施例提供的移动端应用程序适配测试***中的测试装置的另一个示意图。
图5为第一实施例提供的移动端应用程序适配测试***中的测试装置的又一个示意图。
图6为第一实施例提供的移动端应用程序适配测试***中的测试装置的再一个示意图。
图7为第二实施例提供的移动端应用程序适配测试方法示意图。
图8为第三实施例提供的移动端应用程序适配测试方法示意图。
图9为第四实施例提供的移动端应用程序适配测试方法示意图。
图10为第五实施例提供的移动端应用程序适配测试方法示意图。
图11为第六实施例提供的移动端应用程序适配测试方法示意图。
图12为第七实施例提供的移动端应用程序适配测试方法示意图。
图13为第八实施例提供的移动端应用程序适配测试方法示意图。
图14为第九实施例提供的移动端应用程序适配测试方法示意图。
图15为第十实施例提供的移动端应用程序适配测试方法示意图。
图16为第十实施例提供的移动端应用程序测试方法的交互流程图。
具体实施方式
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
本发明实施例提供一种移动端应用程序适配测试方法,通过控制设备模拟机以完成移动端APP的测试,提高测试的效率,降低测试成本。
第一实施例提供一种移动端应用程序适配测试***,请参阅图1,该***包括:服务器100及测试计算机200。
其中,服务器100与多个测试计算机200通过网络连接,服务器100可以是云端服务器,一个测试计算机200中设置一个代理(Agent)模块201和一个或多个设备模拟器202,该一个Agent模块201管理该一个或多个设备模拟器202,Agent模块201作为服务器100和设备模拟器202之间的桥梁,根据服务器100的指令,管理设备模拟器202完成测试任务,该测试任务用于测试移动端APP在不同操作***(OS,Operating System),以及具有不同屏幕分辨率的用户界面(UI,User Interface)的适配性,即,是否能够在不同版本的OS中具有良好的兼容性,以及在具有不同屏幕分辨率的屏幕上全屏显示,运行该待测APP时显示画面完全匹配不同的屏幕尺寸。
具体地,服务器100接收测试人员提交的移动端APP测试任务以及与该测试任务相关的测试文件,该测试任务中包含用于测试的硬件配置参数,该测试文件包括待测APP以及该待测APP对应的测试脚本,其中,该待测APP为移动端APP,该硬件配置参数包括操作***版本和屏幕分辨率。服务器100从所有已连接的测试计算机200中,选择具有该硬件配置参数的设备模拟器作为执行该测试任务的设备模拟器,向选择的设备模拟器所在的测试计算机发送该测试任务,以及与该测试任务相关的测试文件。
选择执行该测试任务的设备模拟器具体为,服务器100中存有所有与服务器100连接的测试计算机200中的设备模拟器202的硬件配置参数、执行测试任务的数量及执行测试任务的状态等信息,服务器100中在已启动的且为预置状态的设备模拟器中查询具备该硬件配置参数的设备模拟器,将未执行测试任务队列最短的设备模拟器作为执行该测试任务的设备模拟器,该预置状态为表示该设备模拟器处于未执行测试任务的设备模拟器,例如,该预置状态为空闲状态。这样可以避免具有相同配置的设备模拟器104中有些执行太多的测试任务,而有些却执行太少的测试任务,从而均衡具有相同配置的设备模拟器104的测试负载。若已启动且具有该硬件配置参数的模拟器中,不存在状态为该预置状态的设备模拟器,即,所有的设备模拟器都处于测试任务的状态,则获取所有已连接的测试计算机200的负载信息,该负载信息包括:该测试计算机的内存使用率和CPU的使用率,判断是否存在负载小于预置数值的测试计算机,若存在,则向负载小于预置数值的测试计算机中负载最低的测试计算机发送指令,指示该负载最低的测试计算机内建立并启动一个具备该硬件配置参数的设备模拟器,该预置数值可以根据实际应用情况设置,例如,60%。若不存在负载小于该预置数值的测试计算机,即,所有的测试计算机200的负载均大于预置数值,则在所有设备模拟器中,选择一个未执行测试任务队列最短的设备模拟器,作为执行该测试任务的设备模拟器,可以是将测试该待测APP的测试任务放在测试队列的队尾,待该设备模拟器处于预置状态时,可将测试该待测APP的测试任务优先执行。服务器100向选择的设备模拟器所在的测试计算机200发送该测试任务,以及与该测试任务相关的测试文件。待测试完成,接收测试计算机200发送的该测试结果,分析该测试结果,并生成测试报告,而后以电子邮件或其他预定的方式输出该测试报告,供测试人员查看。
测试计算机200从服务器100获取测试应用程序的测试任务以及与该测试任务相关的测试文件,获取的方式可以是服务器200主动推送,也可以是从服务器200上主动获取,确认与该测试任务对应的设备模拟器,Agent模块201将确认的执行该测试任务的设备模拟器的状态标记为第一状态,该第一状态可以是忙碌状态,也可以是工作状态,表示该设备模拟器正在执行测试任务。Agent模块201将设备模拟器202的状态变更实时同步更新到服务器202。
进一步地,将该待测应用程序及该测试脚本传输给该设备模拟器,在该设备模拟器内安装该待测应用程序,执行该测试脚本,Agent模块201可监听设备模拟器202的运行状态,当检测到执行测试任务的设备模拟器202发生故障,无法继续执行该测试任务,则Agent模块201建立并启动一个与发生故障的设备模拟器硬件配置相同的设备模拟器,硬件配置包括***版本,屏幕分辨率等。硬件配置相同则不会影响对APP的测试结果,保证测试结果的正确性。将发生故障的设备模拟器中的测试任务队列迁移到启动的新设备模拟器上继续执行,使得测试任务不受影响,从而增加测试***的稳定性,并关闭发生故障的设备模拟器,及时释放***资源。
需要说明的是,在测试计算机200中,Agent模块201与设备模拟器202通过传输控制协议/因特网互联协议(TCP/IP,Transmission Control Protocol/Internet Protocol)进行通信,TCP/IP又称互联网协议族,是一个网络通讯模型,以及一整个网络传输协议家族,为互联网的基础通讯架构。它常被通称为TCP/IP协议族,简称TCP/IP。实现Agent模块201对设备模拟器202上的测试任务进行执行、管理、调度,不依赖于USB数据线,不会存在由于USB供电不足或故障导致与设备模拟器202出现连接不稳定的情况。待该测试脚本执行完毕后获取测试结果,该测试结果可以是未经过验证的测试脚本的执行结果,则Agent模块201验证该测试结果,也可以是经过设备模拟器202校验后得到的测试结果。
当测试结果为该测试脚本的执行结果时,Agent模块201校验该测试用例的执行结果是否符合预期测试目标,测试脚本由多个测试用例组成,当所有测试用例执行完毕后,该测试脚本也即执行完毕,Agent模块201从执行该待测脚本的设备模拟器中获取测试脚本的执行后的结果,还获取在该测试脚本执行过程中的应用程序崩溃(Crash)日志和/或应用程序无响应(ANR,Application Not Responding)日志,以及执行过程中每一步的操作截图。Agent模块201校验测试脚本的执行结果是否符合预期测试目标,并将校验结果发送给服务器100。
校验的内容有如下两种:一是校验该测试脚本的执行结果的数据中是否存在预置控件,以此确定该待测APP是否适配当前OS***。具体地,该预置控件包括:原生(Native)页面控件、Web页面控件。该测试脚本中可以支持Native页面控件和Web页面控件,因此,执行该测试脚本,可测试同时存在Native页面控件和Web页面控件的移动端APP。若在测试脚本的执行结果数据中校验到存在该预置控件,则表示该待测APP中存在原生(Native)页面控件、Web页面控件,或二者都存在。那么,在当前OS***版本中,该待测APP的实际测试结果与预期测试结果相符,适配当前OS***。二是校验该测试脚本的执行结果的数据中是否存在与预置图片相同的屏幕截图,以此确定UI的适配性。具体地,该预置图片为该待测APP的预期测试结果屏幕截图,若校验该待测APP对应的测试脚本的执行结果的数据中存在某个屏幕截图与预置图片相同,则表示该待测APP在移动端上能够全屏显示,与移动端屏幕尺寸相匹配。
当该测试结果是对该待测试APP的测试结果时,待该测试脚本执行完毕后,从该设备模拟器中获取验证结果并作为对该待测APP的测试结果发送给服务器200。验证的内容与上述Agent模块201验证的内容相同。
进一步地,Agent模块201获取执行结果后,将该设备模拟器的状态标记为第二状态,该第二状态可以为空闲状态,也可以为未工作状态,表示该设备模拟器已完成该测试任务,Agent模拟201将各设备模拟器202的状态变更实时同步更新到服务器100。并卸载该待测应用程序以及该待测应用程序的测试脚本。恢复该设备模拟器上的测试环境,为执行下一个测试任务做准备。
Agent模块201可以监听设备模拟器202的增加或删除的情况,当***中增加或删除设备模拟器202时,Agent模块201将设备模拟器202增加或删除的信息发送给服务器100,使得服务器100及时获取设备模拟器202的改变情况。当测试任务较多时,可动态增加测试***中测试计算机200的数量,并利用Agent模块201启动多个设备模拟器200。
本实施例中的测试***的其他内容,请参见下述各实施例的具体描述。
本实施例中,从服务器获取测试应用程序的测试任务、待测应用程序以及测试脚本,在设备模拟器内安装该待测应用程序,执行该测试脚本,利用设备模拟器代替真机对移动端APP的测试,提高测试成功率,降低测试成本,提高对测试资源的管理效率。
请参阅图2,图2示出了一种计算机结构框图。测试计算机200包括存储器204、存储控制器206,一个或多个(图中仅示出一个)处理器208、外设接口210、射频模块212。这些组件通过一条或多条通讯总线/信号线222相互通讯。
可以理解,图2所示的结构仅为示意,测试计算机200还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
存储器204可用于存储软件程序以及模块,如本发明实施例中的在测试计算机内移动端应用程序适配测试方法及装置对应的程序指令/模块,处理器208通过运行存储在存储器控制器206内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的在测试计算机内提高测试成功率,降低测试成本的方法。
存储器204可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器204可进一步包括相对于处理器208远程设置的存储器,这些远程存储器可以通过网络连接至测试计算机200。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器208以及其他可能的组件对存储器204的访问可在存储控制器206的控制下进行。
外设接口210将各种输入/输入装置耦合至CPU以及存储器204。处理器208运行存储器204内的各种软件、指令以执行测试计算机200的各种功能以及进行数据处理。
在一些实施例中,外设接口210,处理器208以及存储控制器206可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频模块212用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。射频模块212可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。射频模块212可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信***(Global System for Mobile Communication,GSM)、增强型移动通信技术(Enhanced Data GSM Environment,EDGE),宽带码分多址技术(wideband code divisionmultiple access,W-CDMA),码分多址技术(Code division access,CDMA)、时分多址技术(time division multiple access,TDMA),蓝牙,无线保真技术(Wireless,Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE802.11a,IEEE802.11b,IEEE802.11g和/或IEEE802.11n)、网络电话(Voice over internet protocal,VoIP)、全球微波互联接入(Worldwide Interoperability for Microwave Access,Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
具体地,图3为第一实施例提供的移动端应用程序适配测试***中的测试装置的示意图,可应用于图2所示的测试计算机200中,该装置包括:获取单元31,确认单元32,传输单元33以及测试单元34;
获取单元31,用于从服务器获取测试应用程序的测试任务以及与该测试任务相关的测试文件,该测试文件包括待测应用程序以及测试脚本;
确认单元32,用于确认与获取单元31获取的该测试任务对应的设备模拟器;
传输单元33,用于将确认单元32获取的该待测应用程序及该测试脚本传输给确认单元32确认的该设备模拟器;
测试单元34,用于在该设备模拟器内安装传输单元33传输的该待测应用程序,执行传输单元33传输的该测试脚本;
获取单元31,还用于待该测试脚本执行完毕后获取测试结果。
本实施例中各单元实现各自功能的过程,请参见前述图1所示实施例的描述,此处不再赘述。
上述测试装置从服务器获取测试应用程序的测试任务、待测应用程序以及测试脚本,在设备模拟器内安装该待测应用程序,执行该测试脚本,利用设备模拟器代替真机对移动端APP的测试,提高测试成功率,降低测试成本,提高对测试资源的管理效率。
请参阅图4,图4为第一实施例提供的移动端应用程序适配测试***中的测试装置,可应用于图2所示的测试计算机200中,与图3所示的测试装置相似,不同之处在于,该测试装置还包括:建立单元35,启动单元36,迁移单元37,关闭单元38,通信单元39,标记单元40,卸载单元41,校验单元42以及发送单元43。
其中,建立单元35,用于当检测到该设备模拟器发生故障,则建立一个与该设备模拟器硬件配置相同的设备模拟器。
启动单元36,用于启动建立单元35建立的与该设备模拟器硬件配置相同的设备模拟器。
迁移单元37,用于将发生故障的该设备模拟器中的测试任务队列迁移到启动单元36启动的设备模拟器上继续执行。
关闭单元38,用于关闭发生故障的设备模拟器。
通信单元39,用于与该设备模拟器通过TCP连接或IP连接进行通信。
标记单元40,用于将该设备模拟器的状态标记为第一状态,以及将该设备模拟器的状态标记为第二状态。
卸载单元41,用于卸载该待测应用程序以及该待测应用程序的测试脚本。
校验单元42,用于校验该测试脚本的执行结果是否符合预期测试目标。
发送单元43,用于将校验结果发送给该服务器。
进一步地,校验单元42,还用于校验该测试脚本的执行结果的数据中是否包含预置控件。
校验单元42,还用于校验该测试脚本的执行结果的数据中是否存在与预置图片相同的屏幕截图。
获取单元31,还用于待该测试脚本执行完毕后,从该设备模拟器中获取验证结果,该验证结果为该设备模拟器校验该测试脚本的执行结果是否符合预期测试目标的结果。
发送单元43,还用于将该验证结果作为对该待测试应用程序的测试结果发送给该服务器。
发送单元43,还用于将设备模拟器的变更信息实时发送给该服务器,该变更信息包括:设备模拟器增加或删除的信息,以及设备模拟器的状态变更信息。
本实施例中各单元实现各自功能的过程,请参见前述图1所示实施例的描述,此处不再赘述。
上述测试装置从服务器获取测试应用程序的测试任务、待测应用程序以及测试脚本,在设备模拟器内安装该待测应用程序,执行该测试脚本,利用设备模拟器代替真机对移动端APP的测试,降低测试成本,提高测试成功率,提高对测试资源的管理效率。
请参阅图5,图5为第一实施例提供的移动端应用程序适配测试***中的测试装置,可应用于图1所示的服务器100中,该装置包括:接收单元51,选择单元52以及发送单元53;
其中,接收单元51,用于接收测试应用程序的测试任务以及与该测试任务相关的测试文件,该测试任务中包含用于测试的硬件配置参数,该测试文件包括待测应用程序以及测试脚本;
选择单元52,用于选择具有该硬件配置参数的设备模拟器作为执行接收单元51接收的该测试任务的设备模拟器;
发送单元53,用于向选择单元52选择的设备模拟器所在的该测试计算机发送该测试任务,以及与该测试任务相关的测试文件,以使选择单元52选择的设备模拟器执行该测试任务;
接收单元51,还用于接收该测试计算机发送的测试结果。
本实施例中各单元实现各自功能的过程,请参见前述图1所示实施例的描述,此处不再赘述。
上述测试装置中,根据测试任务选择执行测试应用程序的设备模拟器,利用设备模拟器代替真机对移动端应用程序的测试,提高测试成功率,降低测试成本,且由于设备模拟器易于管理,上述测试装置可提高测试管理效率。
进一步地,请参阅图6,图6为第一实施例提供的移动端应用程序适配测试***中的测试装置,可应用于图1所示的服务器100中,与图5所示的测试装置相似,不同之处在于,该装置还包括:获取单元54,判断单元55以及报告生成单元56。
进一步地,选择单元52,还用于在已启动的且状态为预置状态的设备模拟器中,选择具有该硬件配置参数,且未执行测试任务队列最短的设备模拟器中测试任务队列最短的设备模拟器,作为执行该测试任务的设备模拟器。
获取单元54还用于若在已启动的且具有该硬件配置参数的设备模拟器中,不存在状态为预置状态的设备模拟器,则获取各测试计算机的负载信息。
判断单元55用于判断是否存在负载小于预置数值的测试计算机。
发送单元53还用于若存在负载小于预置数值的测试计算机,则向负载最小的测试计算机发送指令,该指令用于指示该负载最小的测试计算机建立并启动一个具有该硬件配置参数的设备模拟器,作为执行该测试任务的设备模拟器。
选择单元52,还用于若不存在负载小于预置数值的测试计算机,则在已启动的状态不为预置状态的设备模拟器中选择未执行测试任务队列最短的设备模拟器,作为执行该测试任务的设备模拟器。
报告生成单元54,用于根据接收单元51接收的该测试结果生成测试报告。
发送单元53,还用于以预定的方式输出该测试报告。
本实施例中各单元实现各自功能的过程,请参见前述图1所示实施例的描述,此处不再赘述。
上述测试装置中,根据测试任务选择执行测试应用程序的设备模拟器,利用设备模拟器代替真机对移动端应用程序的测试,提高测试成功率,降低测试成本,且由于设备模拟器易于管理,上述测试装置可提高测试管理效率。
本实施例中的移动端应用程序测试***及装置中未尽之描述细节,请参见下述移动端应用程序测试方法的各实施例中的描述。
请参阅图7,第二实施例提供一种移动端应用程序测试方法,可应用于图2所示的测试计算机200中,该方法包括:
701、从服务器获取测试应用程序的测试任务以及与该测试任务相关的测试文件,该测试文件包括待测应用程序以及测试脚本;
一个测试计算机200中设置一个Agent模块201和至少一个设备模拟器202,一般为多个设备模拟器202,在一个测试机200的内部,该一个Agent模块201管理该一个或多个设备模拟器202。作为服务器100和设备模拟器202之间的桥梁,Agent模块201根据服务器100的控制命令,在测试计算机200中建立并启动设备模拟器202用以执行测试移动端APP的测试任务,还可根据服务器100的控制命令,关闭设备模拟器202。当该测试任务较多时,可在***中配置更多测试计算机200,每个测试计算机200中的Agent模块201都可管理这个测试计算机200中的所有设备模拟器202。
Agent模块201从服务器100获取待测APP的测试任务以及与该测试任务相关的测试文件,该测试文件包括待测APP以及与该待测APP对应的测试脚本。该测试任务中包含指定完成移动端APP测试任务的设备模拟器202。
该测试脚本可以利用脚本录制工具进行录制,其中包含多个测试用例(TestCase),测试用例是为某个预定目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。每个测试用例的测试目的都不同,当所有测试用例执行完毕后,该测试脚本也即运行完毕,测试该APP的测试任务结束。
702、确认与该测试任务对应的设备模拟器;
Agent模块201根据从服务器100获取的测试该待测APP的测试任务,确认该测试任务指定完成移动端APP测试任务的设备模拟器202。
703、将该待测应用程序及该测试脚本传输给该设备模拟器;
Agent模块201将该待测APP及该待测APP对应的测试脚本传输给确定的设备模拟器202。
704、在该设备模拟器内安装该待测应用程序,执行该测试脚本;
Agent模块201在该确定的设备模拟器202中安装该待测APP,执行该测试APP的测试脚本。
之后,Agent模块201开始监听该测试脚本中测试用例的执行情况。例如,在执行Android***应用程序的测试任务时可以调用ddmlib的KPI创建RemoteAndroidTestRunner实例,在设备模拟器202中执行测试脚本中的测试用例,并通过实现ITestRunListener的接口以监听每个测试用例的执行情况。
705、待该测试脚本执行完毕后获取测试结果。
Agent模块201可监听该测试脚本的执行情况,待监听到该测试脚本执行完毕后,从设备模拟器202中获取测试结果。
本发明实施例中,从服务器获取测试应用程序的测试任务、待测应用程序以及测试脚本,在设备模拟器内安装该待测应用程序,执行该测试脚本,利用设备模拟器代替真机对移动端APP的测试,提高测试成功率,降低测试成本,并提高对测试资源的管理效率。
请参阅图8,第三实施例提供的移动端应用程序测试方法,可应用于图2所示的测试计算机200中,图8所示实施例与图7所示实施例相似,步骤705待该测试脚本执行完毕后获取测试结果之前还包括:
805、当检测到该设备模拟器发生故障,则启动一个与该设备模拟器硬件配置相同的设备模拟器。
Agent模块201可监听设备模拟器202的运行状态,当检测到执行测试任务的设备模拟器202发生故障,无法继续执行该测试任务,则Agent模块201建立并启动一个与发生故障的设备模拟器硬件配置相同的设备模拟器,硬件配置包括***版本,屏幕分辨率等。硬件配置相同则不会影响对APP的测试结果,保证测试结果的正确性。
806、将发生故障的该设备模拟器中的测试任务队列迁移到启动的设备模拟器上继续执行,并关闭发生故障的设备模拟器。
将发生故障的设备模拟器中的测试任务队列迁移到启动的新设备模拟器上继续执行,使得测试任务不受影响,并关闭发生故障的设备模拟器,及时释放***资源。
本实施例中步骤807与图7所示实施例中步骤705的内容相同。
本发明实施例中,从服务器获取测试应用程序的测试任务、待测应用程序以及测试脚本,在设备模拟器内安装该待测应用程序,执行该测试脚本,利用设备模拟器代替真机对移动端APP的测试,降低测试成本,并提高对测试资源的管理效率。当监听到该设备模拟器发生故障时,启用一个与其硬件配置相同的新的设备模拟器继续执行测试任务,提高测试成功率。
请参阅图9,第四实施例提供的移动端应用程序测试方法,可应用于图2所示的测试计算机200中,图9所示实施例与图7所示实施例相似,步骤702确认与该测试任务对应的设备模拟器之后还包括:
903、将该设备模拟器的状态标记为第一状态;
Agent模块201将确认的执行该测试任务的设备模拟器的状态标记为第一状态,该第一状态可以是忙碌状态,也可以是工作状态,表示该设备模拟器正在执行测试任务。
步骤702确认与该测试任务对应的设备模拟器之后还包括:
907、将该设备模拟器的状态标记为第二状态,并卸载该待测应用程序以及该待测应用程序的测试脚本。
Agent模块201获取执行结果后,将该设备模拟器的状态标记为第二状态,该第二状态可以为空闲状态,也可以为未工作状态,表示该设备模拟器已完成该测试任务,并卸载该待测应用程序以及该待测应用程序的测试脚本。恢复该设备模拟器上的测试环境,为执行下一个测试任务做准备。
进一步地,Agent模块201可以向服务器100轮询,或者接收服务器100的推送消息,获取挂载在Agent模块201自身上的各设备模拟器202的测试任务,将各测试任务对应的设备模拟器202的状态从该第二状态更新标记为该第一状态,并为其准备测试数据,例如,安装待测APP和该待测APP对应的测试脚本。
将设备模拟器202的变更信息实时发送给服务器100,该变更信息包括:设备模拟器增加或删除的信息,以及设备模拟器的状态变更信息,例如,当***中增加或删除设备模拟器202时,Agent模块201将设备模拟器202增加或删除的信息发送给服务器100,使得服务器100及时获取设备模拟器202的改变情况。
需要说明的是,在测试计算机200中,Agent模块201与设备模拟器202通过TCP/IP连接进行通信,基于TCP/IP协议实现对设备模拟器202上的测试任务进行执行、管理、调度,不依赖于USB数据线,不会存在由于USB供电不足或故障导致与设备模拟器202出现连接不稳定的情况。
本实施例中步骤904、905、906分别与步骤703、704、705相对应,内容相同,不再赘述。
本发明实施例中,从服务器获取测试应用程序的测试任务、待测应用程序以及测试脚本,在设备模拟器内安装该待测应用程序,执行该测试脚本,利用设备模拟器代替真机对移动端APP的测试,提高测试成功率,降低测试成本,标记设备模拟器的状态,并将设备模拟器的状态、增加、删除的情况发送给服务器,提高对测试资源的管理效率。
请参阅图10,第五实施例提供的移动端应用程序测试方法,可应用于图2所示的测试计算机200中,图10所示实施例与图7所示实施例相似,不同之处在于,该测试结果包括该测试脚本的执行结果,则步骤705待该测试脚本执行完毕后获取测试结果之后包括:
1006、校验该测试用例的执行结果是否符合预期测试目标,并将校验结果并发送给该服务器。
测试脚本由多个测试用例组成,当所有测试用例执行完毕后,该测试脚本也即执行完毕,Agent模块201从执行该待测脚本的设备模拟器中获取测试脚本的执行后的结果,还获取在该测试脚本执行过程中的应用程序崩溃(Crash)日志和/或应用程序无响应(ANR,Application Not Responding)日志,以及执行过程中每一步的操作截图。
Agent模块201校验测试脚本的执行结果是否符合预期测试目标,并将校验结果发送给服务器100。
校验的内容有如下两种:一是校验该测试脚本的执行结果的数据中是否存在预置控件,以此确定该待测APP是否适配当前OS***。
具体地,该预置控件包括:原生(Native)页面控件、Web页面控件。该测试脚本中可以支持Native页面控件和Web页面控件,因此,执行该测试脚本,可测试同时存在Native页面控件和Web页面控件的移动端APP。若在测试脚本的执行结果数据中校验到存在该预置控件,则表示该待测APP中存在原生(Native)页面控件、Web页面控件,或二者都存在。那么,在当前OS***版本中,该待测APP的实际测试结果与预期测试结果相符,适配当前OS***。
二是校验该测试脚本的执行结果的数据中是否存在与预置图片相同的屏幕截图,以此确定UI的适配性。
具体地,该预置图片为该待测APP的预期测试结果屏幕截图,若校验该待测APP对应的测试脚本的执行结果的数据中存在某个屏幕截图与预置图片相同,则表示该待测APP在移动端上能够全屏显示,与移动端屏幕尺寸相匹配。
本实施例中Agent模块201对测试脚本的结果进行校验,判断测试脚本的执行结果是否符合预期测试目标,并将校验结果,即,该待测APP的测试结果发送给服务器100。这样可以提前释放设备模拟器202资源,缩短测试待测APP的周期,节约测试时间。
本发明实施例中,从服务器获取测试应用程序的测试任务、待测应用程序以及测试脚本,在设备模拟器内安装该待测应用程序,执行该测试脚本,利用设备模拟器代替真机对移动端APP的测试,提高测试成功率,降低测试成本,提高对测试资源的管理效率。
请参阅图11,第六实施例提供的移动端应用程序测试方法,可应用于图2所示的测试计算机200中,图11所示实施例与图7所示实施例相似,不同之处在于,该测试结果包括对该待测试APP的测试结果,而步骤705待该测试脚本执行完毕后获取执行结果具体为:
1105、待该测试脚本执行完毕后,从该设备模拟器中获取验证结果并作为对该待测APP的测试结果发送给该服务器。
该验证结果为该执行测试任务的设备模拟器校验该测试脚本的执行结果是否符合预期测试目标的结果。Agent模块201待该测试脚本执行完毕后,控制该执行测试任务的设备模拟器校验该测试脚本的执行结果是否符合预期测试目标,验证的内容与前述图10所示实施例中的内容相同,此处不再赘述。
Agent模块201从该设备模拟器中获取验证结果,并将该验证结果作为该待测APP的测试结果发送给服务器100。这样,设备模拟器200对该测试脚本的执行结果进行校验,判断该测试脚本的执行结果是否符合预期测试目标,减少Agent模块201的计算量,提高***的管理效率。
本发明实施例中,从服务器获取测试应用程序的测试任务、待测应用程序以及测试脚本,在设备模拟器内安装该待测应用程序,执行该测试脚本,利用设备模拟器代替真机对移动端APP的测试,提高测试成功率,降低测试成本,提高对测试资源的管理效率。
请参阅图12,第七实施例提供的移动端应用程序测试方法,可应用于图1所示的服务器100中,该方法包括:
1201、接收测试应用程序的测试任务以及与该测试任务相关的测试文件;
服务器100接收测试该待测APP的测试任务以及与该测试任务相关的测试文件,所述测试文件包括待测APP以及该待测APP对应的测试脚本,该测试任务中包含该测试任务对应的硬件配置参数,该硬件配置参数包括运行该待测APP的OS版本和屏幕分辨率,以测试该待测APP是否适配该OS版本和具有该屏幕分辨率的UI显示界面,即,是否能够在不同版本的OS中具有良好的兼容性,以及在具有不同屏幕分辨率的屏幕上全屏显示,运行该待测APP时显示画面完全匹配不同的屏幕尺寸。
1202、选择具有该硬件配置参数的设备模拟器作为执行该测试任务的设备模拟器;
服务器100保存有测试计算机200中各设备模拟器202的硬件配置参数以及执行任务的状态,根据该测试任务中的硬件配置参数,在其中选择具有该硬件配置参数的设备模拟器作为执行该测试任务的设备模拟器。
1203、向选择的设备模拟器所在的测试计算机发送该测试任务,以及与该测试任务相关的测试文件,以使该设备模拟器执行该测试任务;
服务器100向选择的设备模拟器所在的测试计算机200发送该测试任务,以及与该测试任务相关的测试文件,以使选择的该设备模拟器执行该测试任务。具体地,该测试文件包括该待测APP以及该测试脚本,测试计算机200中的Agent模块201将该待测APP安装在选择的该设备模拟器中,并执行该测试脚本,该设备模拟器执行该测试任务。
1204、接收该测试计算机发送的测试结果。
服务器100接收测试计算机200发送的测试结果,该测试结果表示该待测APP是否适配该OS版本以及该UI。
本发明实施例中,根据测试任务选择执行移动端APP的测试任务的设备模拟器,利用设备模拟器代替真机对移动端APP的测试,提高测试成功率,降低测试成本,且由于设备模拟器易于管理,上述测试方法可提高测试管理效率。
请参阅图13,第八实施例提供的移动端应用程序测试方法,可应用于图1所示的服务器100中,与图12所示的实施例相似,不同之处在于,步骤1202选择该测试计算机中具有该硬件配置参数的设备模拟器作为执行该测试任务的设备模拟器具体可以为:
1302、在已启动的且状态为预置状态的设备模拟器中选择具有该硬件配置参数,且未执行测试任务队列最短的设备模拟器,作为执行该测试任务的设备模拟器。
服务器100查询已启动的且状态为预置状态的设备模拟器202,选择具有该硬件配置参数,且未执行测试任务队列最短的设备模拟器作为执行该测试任务的设备模拟器。该预置状态为表示该设备模拟器当前未执行任何测试任务,该预置状态具体可以为空闲状态,也可以为未工作状态,或者其他表示该设备模拟器处于未执行测试任务的状态。具体地,服务器100中存有测试计算机200中的设备模拟器202的硬件配置参数、执行任务数量及执行任务状态等信息,在已启动的且处于空闲状态的设备模拟器202中查询具备该硬件配置参数的设备模拟器,则查询此多个设备模拟器各自未执行的测试任务的队列长度,将测试该待测APP的测试任务分配给其中未执行测试任务队列最短的设备模拟器。
若在已启动的且状态为预置状态的设备模拟器中只存在一个具有该硬件配置参数的设备模拟器,则选择该设备模拟器作为执行所述测试任务的设备模拟器。
另一方面,若在已启动的且具有该硬件配置参数的设备模拟器中不存在状态为预置状态的设备模拟器,即,可能所有的设备模拟器都处于忙碌状态,都在执行测试任务,则获取各测试计算机200的负载信息,判断是否存在负载小于预置数值的测试计算机,例如,是否存在负载小于70%的测试计算机,即,是否存在负载较低的测试计算机,负载较低的测试计算机中有足够的资源用于建立设备模拟器。若存在负载小于预置数值的测试计算机,则向负载最小的测试计算机发送指令,该指令用于指示该负载最小的测试计算机建立并启动一个具有该硬件配置参数的设备模拟器,作为执行该测试任务的设备模拟器。若不存在负载小于预置数值的测试计算机,表示所有的测试计算机200的负载均很高,认为它们没有足够的资源建立设备模拟器,则在当前已启动的,状态不为预置状态的设备模拟器中选择未执行测试任务队列最短的设备模拟器作为执行该测试任务的设备模拟器。
本实施例中,在已启动的且状态为预置状态的设备模拟器中,选择具有该硬件配置参数的设备模拟器中测试任务队列最短的设备模拟器,作为执行该测试任务的设备模拟器,或者,根据测试计算机的负载状况建立或选择符合条件的设备模拟器执行该测试任务,这样可以避免具有相同配置的设备模拟器中有些执行太多的测试任务,而有些却执行太少的测试任务,从而均衡具有相同配置的设备模拟器的测试负载,并且均衡测试计算机的测试负载。
请参阅图14,第九实施例提供的移动端应用程序测试方法,可应用于图1所示的服务器100中,与图12、图13所示的实施例相似,不同之处在于,步骤1204接收该测试计算机发送的测试结果之后包括:
1405、根据接收的该测试结果生成测试报告,并以预定的方式输出该测试报告。
服务器100接收测试计算机200发送的该测试结果,分析该测试结果,生成测试报告,以电子邮件或其他预定的方式输出该测试报告,供测试人员查看。
本发明实施例中,根据测试任务选择执行移动端APP测试任务的设备模拟器,利用设备模拟器代替真机对移动端APP的测试,提高测试成功率,降低测试成本,提高测试管理效率,并根据测试结果生成、输出测试报告,及时报告测试结果。
请参阅图15,第十实施例提供的移动端应用程序测试方法,可应用于图1所示的服务器100及测试计算机200中,该方法包括:
1501、服务器接收测试应用程序的测试任务以及与该测试任务相关的测试文件,该测试任务中包含用于测试的硬件配置参数,该测试文件包括待测应用程序以及测试脚本;
服务器100接收测试该待测APP的测试任务以及与该测试任务相关的测试文件,所述测试文件包括待测APP以及该待测APP对应的测试脚本,该测试任务中包含该测试任务对应的硬件配置参数,该硬件配置参数包括运行该待测APP的OS版本和屏幕分辨率,以测试该待测APP是否适配该OS版本和具有该屏幕分辨率的UI显示界面,即,是否能够在不同版本的OS中具有良好的兼容性,以及在具有不同屏幕分辨率的屏幕上全屏显示,运行该待测APP时显示画面完全匹配不同的屏幕尺寸。
1502、该服务器选择测试计算机中具有该硬件配置参数的设备模拟器作为执行该测试任务的设备模拟器;
服务器100保存有测试计算机200中各设备模拟器202的硬件配置参数以及执行任务的状态,根据该测试任务中的硬件配置参数,在其中选择具有该硬件配置参数的设备模拟器作为执行该测试任务的设备模拟器。
1503、该服务器向该测试计算机发送该测试任务,以及与该测试任务相关的测试文件;
服务器100向选择的设备模拟器所在的测试计算机200发送该测试任务,以及与该测试任务相关的测试文件,以使选择的该设备模拟器执行该测试任务。该测试文件包括该待测APP以及该测试脚本,测试计算机200中的Agent模块201将该待测APP安装在选择的该设备模拟器中,并执行该测试脚本,该设备模拟器执行该测试任务。
1504、该测试计算机从该服务器获取测试应用程序的测试任务以及与该测试任务相关的测试文件;
测试计算机200中的Agent模块201从服务器100获取待测APP的测试任务以及与该测试任务相关的测试文件,该测试文件包括待测APP以及与该待测APP对应的测试脚本。该测试任务中包含指定完成移动端APP测试任务的设备模拟器202。
1505、该测试计算机确认与该测试任务对应的设备模拟器;
1506、该测试计算机将该待测应用程序及该测试脚本传输给该设备模拟器;
1507、该测试计算机在该设备模拟器内安装该待测应用程序,执行该测试脚本;
Agent模块201在该确定的设备模拟器202中安装该待测APP,执行该测试APP的测试脚本。之后,Agent模块201开始监听该测试脚本中测试用例的执行情况。
1508、该测试计算机待该测试脚本执行完毕后获取测试结果,并发送给该服务器。
本实施例中,以上各步骤的未详尽描述的内容请参见前述各实施例的相关描述内容,此处不再赘述。
本实施例中,测试计算机从服务器获取测试应用程序的测试任务、待测应用程序以及测试脚本,在设备模拟器内安装该待测应用程序,执行该测试脚本,利用设备模拟器代替真机对移动端APP的测试,提高测试成功率,降低测试成本,提高对测试资源的管理效率。
请参阅图16,图16为第十实施例提供的移动端应用程序测试方法的交互流程图。步骤如下:
1601、接收测试任务以及测试文件;
服务器100接收测试应用程序的测试任务,以及与该测试任务相关的测试文件,该测试任务中包含用于测试的硬件配置参数,该测试文件包括待测应用程序以及测试脚本。
1602、选择执行测试任务的设备模拟器;
服务器100选择测试计算机200中具有该硬件配置参数的设备模拟器作为执行该测试任务的设备模拟器;
1603、发送该测试任务;
服务器100向测试计算机200发送该测试任务,以及与该测试任务相关的测试文件。该测试文件包括待测应用程序以及测试脚本。
1604、将该设备模拟器内安装该待测应用程序,执行该测试脚本;
1605、发送测试结果。
测试计算机200待该测试脚本执行完毕后获取测试结果,并发送给服务器100。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (15)
1.一种移动端应用程序测试方法,其特征在于,包括:
将设备模拟器的变更信息实时发送给服务器,所述变更信息包括:设备模拟器增加或删除的信息,以及设备模拟器的状态变更信息,所述设备模拟器的变更信息被所述服务器用于选择执行测试任务的设备模拟器;
从服务器获取测试应用程序的测试任务以及与所述测试任务相关的测试文件,所述测试文件包括待测应用程序以及测试脚本;
确认与所述测试任务对应的设备模拟器;
将所述待测应用程序及所述测试脚本传输给所述设备模拟器;
在所述设备模拟器内安装所述待测应用程序,执行所述测试脚本;
待所述测试脚本执行完毕后获取测试结果。
2.根据权利要求1所述的方法,其特征在于,所述待所述测试脚本执行完毕后获取测试结果之前还包括:
当检测到所述设备模拟器发生故障,则建立并启动一个与所述设备模拟器硬件配置相同的设备模拟器;
将发生故障的所述设备模拟器中的测试任务队列迁移到启动的设备模拟器上继续执行,并关闭发生故障的设备模拟器。
3.根据权利要求1或2所述的方法,其特征在于,所述确认与所述测试任务对应的设备模拟器之后包括:
将所述设备模拟器的状态标记为第一状态。
4.根据权利要求1所述的方法,其特征在于,所述待所述测试脚本执行完毕后获取测试结果之后包括:
将所述设备模拟器的状态标记为第二状态,并卸载所述待测应用程序以及所述待测应用程序的测试脚本。
5.根据权利要求1所述的方法,其特征在于,
所述测试结果包括:所述测试脚本的执行结果;
所述测试脚本执行完毕后获取测试结果之后包括:
校验所述测试脚本的执行结果是否符合预期测试目标,并将校验结果发送给所述服务器。
6.根据权利要求5所述的方法,其特征在于,所述校验所述测试脚本的执行结果是否符合预期测试目标包括:
校验所述测试脚本的执行结果的数据中是否存在与预置图片相同的屏幕截图。
7.根据权利要求1所述的方法,其特征在于,所述测试结果包括:对所述待测应用程序的测试结果;
所述待所述测试脚本执行完毕后获取执行结果包括:
待所述测试脚本执行完毕后,从所述设备模拟器中获取验证结果并作为对所述待测应用程序的测试结果发送给所述服务器,所述验证结果为所述设备模拟器校验所述测试脚本的执行结果是否符合预期测试目标的结果。
8.一种移动端应用程序适配测试方法,其特征在于,包括:
接收测试计算机实时发送的设备模拟器的变更信息,所述变更信息包括:设备模拟器增加或删除的信息,以及设备模拟器的状态变更信息;
接收测试应用程序的测试任务以及与所述测试任务相关的测试文件,所述测试任务中包含用于测试的硬件配置参数,所述测试文件包括待测应用程序以及测试脚本;
在已启动的且状态为预置状态的设备模拟器中选择具有所述硬件配置参数的设备模拟器,作为执行所述测试任务的设备模拟器;
向选择的设备模拟器所在的测试计算机发送所述测试任务,以及与所述测试任务相关的测试文件,以使所述设备模拟器执行所述测试任务;
接收所述测试计算机发送的测试结果。
9.根据权利要求8所述的方法,其特征在于,所述在已启动的且状态为预置状态的设备模拟器中选择具有所述硬件配置参数的设备模拟器,作为执行所述测试任务的设备模拟器包括:
在已启动的且状态为预置状态的设备模拟器中选择具有所述硬件配置参数,且未执行测试任务队列最短的设备模拟器,作为执行所述测试任务的设备模拟器。
10.根据权利要求8或9所述的方法,其特征在于,所述方法还包括:
若在已启动的且具有所述硬件配置参数的设备模拟器中,不存在状态为预置状态的设备模拟器,则获取各测试计算机的负载信息;
判断是否存在负载小于预置数值的测试计算机;
若是,则向负载最小的测试计算机发送指令,所述指令用于指示所述负载最小的测试计算机建立并启动一个具有所述硬件配置参数的设备模拟器,作为执行所述测试任务的设备模拟器;
若否,则在已启动的状态不为预置状态的设备模拟器中选择未执行测试任务队列最短的设备模拟器,作为执行所述测试任务的设备模拟器。
11.一种移动端应用程序适配测试方法,其特征在于,包括:
服务器接收测试计算机实时发送的设备模拟器的变更信息,所述变更信息包括:设备模拟器增加或删除的信息,以及设备模拟器的状态变更信息;
服务器接收测试应用程序的测试任务,与所述测试任务相关的测试文件,以及执行所述测试任务对应的硬件配置参数,所述测试文件包括待测应用程序以及测试脚本;
所述服务器选择测试计算机中已启动的且状态为预置状态的设备模拟器中具有所述硬件配置参数的设备模拟器作为执行所述测试任务的设备模拟器;
所述服务器向所述测试计算机发送所述测试任务,以及与所述测试任务相关的测试文件;
所述测试计算机从所述服务器获取测试应用程序的测试任务以及与所述测试任务相关的测试文件;
所述测试计算机确认与所述测试任务对应的设备模拟器;
所述测试计算机将所述待测应用程序及所述测试脚本传输给所述设备模拟器;
所述测试计算机在所述设备模拟器内安装所述待测应用程序,执行所述测试脚本;
所述测试计算机待所述测试脚本执行完毕后获取测试结果,并发送给所述服务器。
12.一种移动端应用程序适配测试***,其特征在于,包括:
服务器以及测试计算机;
其中,所述服务器,用于接收测试应用程序的测试任务以及与所述测试任务相关的测试文件,所述测试任务中包含用于测试的硬件配置参数,所述测试文件包括待测应用程序以及测试脚本,在已启动的且状态为预置状态的设备模拟器中选择具有所述硬件配置参数的设备模拟器作为执行所述测试任务的设备模拟器,向选择的设备模拟器所在的所述测试计算机发送所述测试任务,以及与所述测试任务相关的测试文件;
所述测试计算机,用于将设备模拟器的变更信息实时发送给所述服务器,所述变更信息包括:设备模拟器增加或删除的信息,以及设备模拟器的状态变更信息,所述设备模拟器的变更信息被所述服务器用于选择执行测试任务的设备模拟器;从所述服务器获取测试应用程序的测试任务以及与所述测试任务相关的测试文件,确认与所述测试任务对应的设备模拟器,将所述待测应用程序及所述测试脚本传输给所述设备模拟器,在所述设备模拟器内安装所述待测应用程序,执行所述测试脚本,待所述测试脚本执行完毕后获取测试结果,并发送给所述服务器。
13.根据权利要求12所述的***,其特征在于,所述服务器在已启动的且状态为预置状态的设备模拟器中选择具有所述硬件配置参数的设备模拟器作为执行所述测试任务的设备模拟器为:
所述服务器在已启动的且状态为预置状态的设备模拟器中选择具有所述硬件配置参数,且未执行测试任务队列最短的设备模拟器,作为执行所述测试任务的设备模拟器。
14.根据权利要求13所述的***,其特征在于,
所述服务器,还用于若在已启动的且具有所述硬件配置参数的设备模拟器中,不存在状态为预置状态的设备模拟器,则获取各测试计算机的负载信息,判断是否存在负载小于预置数值的测试计算机,若是,则向负载最小的测试计算机发送指令,所述指令用于指示所述负载最小的测试计算机建立并启动一个具有所述硬件配置参数的设备模拟器,作为执行所述测试任务的设备模拟器,若否,则在已启动的状态不为预置状态的设备模拟器中选择未执行测试任务队列最短的设备模拟器,作为执行所述测试任务的设备模拟器。
15.根据权利要求12所述的***,其特征在于,
所述测试计算机,还用于当检测到所述设备模拟器发生故障,则建立并启动一个与所述设备模拟器硬件配置相同的设备模拟器,将发生故障的所述设备模拟器中的测试任务队列迁移到启动的设备模拟器上继续执行,并关闭发生故障的设备模拟器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410139517.9A CN104978263B (zh) | 2014-04-09 | 2014-04-09 | 一种移动端应用程序测试方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410139517.9A CN104978263B (zh) | 2014-04-09 | 2014-04-09 | 一种移动端应用程序测试方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104978263A CN104978263A (zh) | 2015-10-14 |
CN104978263B true CN104978263B (zh) | 2019-01-29 |
Family
ID=54274792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410139517.9A Active CN104978263B (zh) | 2014-04-09 | 2014-04-09 | 一种移动端应用程序测试方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104978263B (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354090B (zh) * | 2015-10-16 | 2019-04-16 | 安一恒通(北京)科技有限公司 | 虚拟设备的管理方法和装置 |
CN105404543A (zh) * | 2015-10-19 | 2016-03-16 | 浪潮(北京)电子信息产业有限公司 | 一种模拟机 |
CN105338110A (zh) * | 2015-11-23 | 2016-02-17 | 小米科技有限责任公司 | 远程调试方法和平台、服务器 |
CN105893201A (zh) * | 2015-12-10 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 模拟终端设备的测试方法及*** |
CN105389259B (zh) * | 2015-12-11 | 2018-06-22 | 广州华多网络科技有限公司 | 一种进行应用程序测试的方法、装置及*** |
CN105468531B (zh) * | 2015-12-25 | 2018-07-31 | 北京金山安全软件有限公司 | 一种挖掘漏洞的方法、装置及电子设备 |
CN107193728A (zh) * | 2016-03-15 | 2017-09-22 | 展讯通信(天津)有限公司 | 移动终端自动化测试方法及装置 |
TWI615005B (zh) * | 2016-06-24 | 2018-02-11 | 財團法人電信技術中心 | 網路效能的測試系統與測試方法 |
CN107092555A (zh) * | 2016-08-05 | 2017-08-25 | 北京小度信息科技有限公司 | 一种测试应用程序的方法及*** |
CN107807545B (zh) * | 2016-09-08 | 2021-03-30 | 北京京东尚科信息技术有限公司 | 一种远程控制端的调试方法和装置 |
CN106484614B (zh) * | 2016-09-29 | 2019-01-22 | 厦门美图之家科技有限公司 | 一种核对图片处理效果的方法、装置及移动终端 |
CN106484622B (zh) * | 2016-10-18 | 2019-02-22 | 网易(杭州)网络有限公司 | 测试方法、装置及*** |
CN106502905A (zh) * | 2016-10-26 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 一种应用程序的测试方法、装置及*** |
CN107220174B (zh) * | 2017-05-08 | 2020-01-03 | 飞天诚信科技股份有限公司 | 一种自动化测试的方法及装置 |
CN108874653B (zh) * | 2017-05-09 | 2023-04-07 | 腾讯科技(北京)有限公司 | 任务测试方法、测试机、共享服务器和可读存储介质 |
CN108932190A (zh) * | 2017-05-22 | 2018-12-04 | 腾讯科技(深圳)有限公司 | 视频播放下载的测试方法、装置和计算机设备 |
CN107346287A (zh) * | 2017-07-20 | 2017-11-14 | 广东艾檬电子科技有限公司 | 一种题库应用程序测试方法、终端及模拟器 |
CN107423218B (zh) * | 2017-07-20 | 2023-05-30 | 北京小米移动软件有限公司 | 应用测试方法、装置及终端 |
CN107273300A (zh) * | 2017-07-31 | 2017-10-20 | 北京云测信息技术有限公司 | 一种应用程序测试方法和装置 |
CN107577600A (zh) * | 2017-08-23 | 2018-01-12 | 国家新闻出版广电总局广播科学研究院 | 一种设备的测试方法、装置和计算机设备 |
CN109240914B (zh) * | 2018-08-14 | 2023-12-08 | 安徽鼎立网络科技有限公司 | 安全测试任务的监控管理方法及终端设备 |
CN109045694B (zh) * | 2018-08-17 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 虚拟场景显示方法、装置、终端及存储介质 |
CN109491888A (zh) * | 2018-09-29 | 2019-03-19 | 中国平安人寿保险股份有限公司 | 应用程序兼容性测试方法、装置、及计算机可读存储介质 |
CN109446080A (zh) * | 2018-10-22 | 2019-03-08 | 网宿科技股份有限公司 | App测试方法及装置 |
US20200233405A1 (en) * | 2019-01-18 | 2020-07-23 | Siemens Industry, Inc. | System and method for simulating system operation conditions |
CN110046081A (zh) * | 2019-03-18 | 2019-07-23 | 平安普惠企业管理有限公司 | 性能测试方法、性能测试装置、电子设备及存储介质 |
CN111190810B (zh) * | 2019-08-26 | 2021-09-17 | 腾讯科技(深圳)有限公司 | 执行测试任务的方法、装置、服务器和存储介质 |
CN112463580A (zh) * | 2019-09-09 | 2021-03-09 | 英业达科技有限公司 | 基于虚拟化装置的测试***及其方法 |
CN111008135B (zh) * | 2019-12-02 | 2024-01-23 | 北京博睿宏远数据科技股份有限公司 | App测试方法、装置、设备及存储介质 |
CN111814354B (zh) * | 2020-07-23 | 2022-10-21 | 展讯通信(上海)有限公司 | 仪器性能的模拟测试方法、***、介质及电子设备 |
CN112817811B (zh) * | 2020-12-31 | 2022-09-06 | 深圳市联影高端医疗装备创新研究院 | 扫描失败率的预测方法、装置、设备及存储介质 |
CN116185808A (zh) * | 2021-11-26 | 2023-05-30 | 腾讯科技(深圳)有限公司 | 目标程序的测试方法、装置、设备及存储介质 |
CN114594949A (zh) * | 2022-01-20 | 2022-06-07 | 阿里巴巴(中国)有限公司 | 界面模拟方法、装置及集成开发环境*** |
CN115048293A (zh) * | 2022-06-07 | 2022-09-13 | 中国电力科学研究院有限公司 | 一种嵌入式操作***电能表应用程序的测试方法及*** |
CN116881174B (zh) * | 2023-09-08 | 2023-11-14 | 富钛字节车载软件(长春)有限公司 | 一种ecu应用软件闭环测试方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495799A (zh) * | 2011-12-02 | 2012-06-13 | 刘伟 | 移动终端的自动化测试***和方法 |
CN103237082A (zh) * | 2013-05-06 | 2013-08-07 | 百度在线网络技术(北京)有限公司 | 云测试方法、***和云端服务器 |
CN103298016A (zh) * | 2012-02-27 | 2013-09-11 | 展讯通信(上海)有限公司 | 移动终端的测试*** |
CN103365770A (zh) * | 2012-04-09 | 2013-10-23 | 陆兵 | 移动终端软件测试***及软件测试方法 |
CN103473174A (zh) * | 2013-09-10 | 2013-12-25 | 四川长虹电器股份有限公司 | 智能电视应用软件的云测试方法 |
CN103678132A (zh) * | 2013-12-18 | 2014-03-26 | 中国科学院深圳先进技术研究院 | 一种应用软件云测试*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100169154A1 (en) * | 2008-12-29 | 2010-07-01 | Nokia Corporation | System and associated method for product selection |
-
2014
- 2014-04-09 CN CN201410139517.9A patent/CN104978263B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495799A (zh) * | 2011-12-02 | 2012-06-13 | 刘伟 | 移动终端的自动化测试***和方法 |
CN103298016A (zh) * | 2012-02-27 | 2013-09-11 | 展讯通信(上海)有限公司 | 移动终端的测试*** |
CN103365770A (zh) * | 2012-04-09 | 2013-10-23 | 陆兵 | 移动终端软件测试***及软件测试方法 |
CN103237082A (zh) * | 2013-05-06 | 2013-08-07 | 百度在线网络技术(北京)有限公司 | 云测试方法、***和云端服务器 |
CN103473174A (zh) * | 2013-09-10 | 2013-12-25 | 四川长虹电器股份有限公司 | 智能电视应用软件的云测试方法 |
CN103678132A (zh) * | 2013-12-18 | 2014-03-26 | 中国科学院深圳先进技术研究院 | 一种应用软件云测试*** |
Also Published As
Publication number | Publication date |
---|---|
CN104978263A (zh) | 2015-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104978263B (zh) | 一种移动端应用程序测试方法及*** | |
US10229039B2 (en) | Testing a virtual network function by a virtual network tester | |
CN104461897B (zh) | 一种应用程序测试的方法和设备 | |
CN113300877B (zh) | 一种网络切片管理方法及设备 | |
CN102420891B (zh) | 移动终端及其测试方法、测试设备及测试*** | |
US9294945B2 (en) | Test apparatus and test method | |
CN110493028A (zh) | 一种集群部署方法、***、装置及计算机可读存储介质 | |
CN107145439B (zh) | 一种测试请求处理方法及装置 | |
CN106776350A (zh) | 一种程序的精准测试方法和装置 | |
CN109376088A (zh) | 一种自动化测试***及自动化测试方法 | |
CN107015912A (zh) | 实现远程调试的***、方法、装置、及电子设备 | |
CN106792784B (zh) | 一种在服务器侧进行数据校验的方法、服务器和*** | |
CN113672441A (zh) | 对智能设备的测试方法及装置 | |
CN105117344B (zh) | 一种基于pb的接口集成测试方法和*** | |
JP4440185B2 (ja) | シナリオ編集装置および擬似基地局試験システムおよび擬似端末試験システムおよびシナリオ編集方法および試験処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム | |
CN110224897A (zh) | 应用程序的弱网络测试方法、装置、移动设备及存储介质 | |
CN115514667A (zh) | 接入服务处理方法、***、装置、电子设备以及存储介质 | |
CN113760302B (zh) | 基于Jenkins的UI包部署方法及*** | |
CN113434422B (zh) | 虚拟设备的调试方法及装置、虚拟设备的调试*** | |
CN113434255A (zh) | 虚拟设备的创建方法及其装置 | |
CN113452556A (zh) | 产品技能的配置方法、装置、存储介质及电子装置 | |
CN111930625A (zh) | 基于云服务平台的日志获取方法、装置及*** | |
CN110505352B (zh) | 通话质量测试方法、***、计算机设备和计算机存储介质 | |
CN112765038B (zh) | 一种分布式集群软件的测试方法、装置、设备及存储介质 | |
CN106997291B (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 |