CN103713991B - 一种在安卓设备上测试应用程序的方法和装置 - Google Patents

一种在安卓设备上测试应用程序的方法和装置 Download PDF

Info

Publication number
CN103713991B
CN103713991B CN201210376104.3A CN201210376104A CN103713991B CN 103713991 B CN103713991 B CN 103713991B CN 201210376104 A CN201210376104 A CN 201210376104A CN 103713991 B CN103713991 B CN 103713991B
Authority
CN
China
Prior art keywords
test
android
android device
server
wireless network
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
Application number
CN201210376104.3A
Other languages
English (en)
Other versions
CN103713991A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210376104.3A priority Critical patent/CN103713991B/zh
Publication of CN103713991A publication Critical patent/CN103713991A/zh
Application granted granted Critical
Publication of CN103713991B publication Critical patent/CN103713991B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开了一种在安卓设备上测试应用程序的方法和装置。该方法包括:将需要测试的安卓设备连接到服务器上,服务器获取连接的每个安卓设备的设备标识ID,将获取的设备ID加入到可执行列表中,服务器遍历可执行列表中的设备ID,对于遍历到的每个设备ID,单独启动测试线程,利用当前的测试用例对该设备ID对应的安卓设备进行应用程序测试,并生成测试结果。应用本发明能够提高测试效率。

Description

一种在安卓设备上测试应用程序的方法和装置
技术领域
本申请涉及测试技术领域,尤其涉及一种在安卓设备上测试应用程序的方法和装置。
背景技术
目前,市面上的安卓(android)设备类型繁多,在安卓设备上运行的应用程序在正式发布之前,需要在各种类型的安卓设备上进行测试,以使得各种类型的安卓设备都能兼容该应用程序。
目前,常常通过用户体验的方式在安卓设备上进行应用程序测试。
具体地,当体验用户的数量较多时,常常能够覆盖较多类型的安卓设备,因此,将待测试应用程序和测试用例分发给大量的体验用户,由体验用户利用所述测试用例对待测试应用程序进行测试,并返回测试结果。
可见,通过用户体验的方式在安卓设备上进行应用程序测试的方法,除了需要维护庞大的体验用户群以外,由于测试结果依赖于体验用户的测试行为,而众多的体验用户难以在短时间内都完成测试行为,因此往往测试效率较低。
发明内容
本申请提供了一种在安卓设备上测试应用程序的方法和装置,能够提高测试效率。
一种在安卓设备上测试应用程序的方法,该方法包括:
将需要测试的安卓设备连接到或服务器上,
服务器获取连接的每个安卓设备的设备标识ID,将获取的设备ID加入到可执行列表中,
服务器遍历可执行列表中的设备ID,对于遍历到的每个设备ID,单独启动测试线程,利用当前的测试用例对该设备ID对应的安卓设备进行应用程序测试,并生成测试结果。
一种在安卓设备上测试应用程序的装置,该装置包括连接模块、获取模块、测试执行模块和结果生成模块;
所述连接模块,用于连接需要测试的安卓设备;
所述获取模块,用于获取连接的每个安卓设备的设备标识ID,将获取的设备ID加入到可执行列表中;
所述测试执行模块,用于遍历可执行列表中的设备ID,对于遍历到的每个设备ID,单独启动测试线程,利用当前的测试用例对该设备ID对应的安卓设备进行应用程序测试;
所述结果生成模块,用于生成所述测试执行模块的测试结果。
由上述方案可见,本发明通过将需要测试的安卓设备都连接到服务器上,服务器获取连接的每个安卓设备的设备ID,将获取的设备ID加入到可执行列表中,遍历可执行列表中的设备ID,对于遍历到的每个设备ID,单独启动测试线程,利用当前的测试用例对该设备ID对应的安卓设备进行应用程序测试,并生成测试结果,可以实现对批量的安卓设备几乎同时执行同一套测试用例,从而在几乎一个测试用例的运行时间内完成批量安卓设备的测试工作,大大地提高了测试效率。
附图说明
图1是本发明提供的在安卓设备上测试应用程序的方法流程图。
图2是本发明提供的在安卓设备上测试应用程序的装置结构图。
具体实施方式
图1是本发明提供的在安卓设备上测试应用程序的方法流程图。
如图1所示,该方法包括:
步骤101,将需要测试的安卓设备连接到服务器上。
其中,所述的服务器,可以是个人电脑(PC)机,也可以是其他类型的服务器。
本步骤中,可以将需要测试的安卓设备通过串行通讯USB接口连接到服务器上,或者通过无线网络连接到服务器上,其中,通过无线网络连接到同一个服务器上的各个安卓设备中安装有代理模块、且通过无线网络连接到同一个服务器上各个安卓设备的IP地址与该服务器的IP地址属于同一个局域网。
步骤102,服务器获取连接的每个安卓设备的设备标识ID,将获取的设备ID加入到可执行列表中。
本步骤中,服务器通过调用安卓平台的软件开发工具包SDK中的命令获取通过USB接口连接的安卓设备的属性信息,所述属性信息包括该安卓设备的设备ID,还可以包括安卓设备的生产商、型号、***版本等信息,例如,通过Android SDK自带的adb devices命令获取被测试安卓设备的设备ID。服务器利用通过无线网络连接的各个安卓设备中的代理模块,获取通过无线网络连接的各个安卓设备的IP地址,将通过无线网络连接的各个安卓设备的IP地址作为相应安卓设备自身的设备ID。
其中的代理模块,用于在接收服务器的命令,根据该命令获取安卓设备的信息并返回给服务器,或者将该命令发给安卓设备中的测试用例等模块,以使得该测试用例等模块能够根据该命令启动测试等工作。
步骤103,服务器遍历可执行列表中的设备ID,对于遍历到的每个设备ID,单独启动测试线程,利用当前的测试用例对该设备ID对应的安卓设备进行应用程序测试,并生成测试结果。
其中,每个测试线程利用当前的测试用例对该设备ID对应的安卓设备进行应用程序测试的步骤具体可以包括:
步骤1、测试线程卸载设备ID对应的安卓设备上的待测试应用程序和测试用例。
本步骤中,可以调用命令adb uninstall卸载待测试应用程序和测试用例。
步骤2、测试线程将当前的待测试应用程序和当前的测试用例安装到该设备ID对应的安卓设备上。
本步骤中,可以调用命令adb install安装待测试应用程序和测试用例。
步骤3、测试线程调用被测安卓设备上当前的测试用例对当前的待测试应用程序进行测试。
本步骤中,可以通过调用命令adb shell am instrument-w来调用Instrument测试框架启动测试,并且,可以定期调用命令adb shell dumpsys meminfo和adb shelldumpsys cpuinfo来实现对被测试安卓设备的CPU和/或内存的监控,并将监控结果写入测试结果存储文件或日志文件中。其中,Instrument测试框架是一系列对android***进行控制的方法的集合。可以在android应用正常的生命周期之外独立的控制android应用的各个组件。
其中,在生成测试结果时,对于每个测试线程,按照该测试线程当前测试的安卓设备的属性信息生成文件名,将该测试线程的测试结果存储在以该文件名命名的测试结果存储文件中,从而实现对测试结果的归类,并且根据测试结果存储文件的文件名便于查找不同类型安卓设备的测试结果。
另外,在生成测试结果时,还可以进一步监控每个测试线程当前测试的安卓设备的CPU和/或内存资源的使用信息,并将监控结果写入每个测试线程对应的测试结果存储文件中,从而便于根据各种类型安卓设备的CPU和/或内存资源的使用信息以及待测试应用程序的测试结果,对待测试应用程序在各种类型安卓设备上的运行情况进行全面地分析。
各个测试线程生成的测试结果可以上传到指定的服务器上,从而便于对测试结果的统一管理,并且方便得出安卓设备类型与被测试应用程序之间的适配效果。
根据本发明的上述方法,本发明还提供了一种在安卓设备上测试应用程序的装置,具体请参见图2。
图2是本发明提供的在安卓设备上测试应用程序的装置结构图。
如图2所示,该装置包括连接模块201、获取模块202、测试执行模块203和结果生成模块204。
连接模块201,用于连接需要测试的安卓设备。
获取模块202,用于获取连接的每个安卓设备的设备标识ID,将获取的设备ID加入到可执行列表中。
测试执行模块203,用于遍历可执行列表中的设备ID,对于遍历到的每个设备ID,单独启动测试线程,利用当前的测试用例对该设备ID对应的安卓设备进行应用程序测试。
结果生成模块204,用于生成所述测试执行模块203的测试结果。
其中,连接模块201,具体可以用于通过串行通讯USB接口连接安卓设备,或者通过无线网络连接安卓设备,其中通过无线网络连接的各个安卓设备中安装有代理模块、且通过无线网络连接的各个安卓设备的IP地址与该连接模块的IP地址属于同一个局域网。
获取模块202,具体可以用于调用安卓平台的软件开发工具包SDK中的命令获取通过USB接口连接的安卓设备的属性信息,所述属性信息包括该安卓设备的设备ID,利用通过无线网络连接的各个安卓设备中的代理模块,获取通过无线网络连接的各个安卓设备的IP地址,将通过无线网络连接的各个安卓设备的IP地址作为相应安卓设备自身的设备ID。
测试执行模块203,用于卸载该设备ID对应的设备上的待测试应用程序和测试用例,将当前的待测试应用程序和当前的测试用例安装到该设备ID对应的设备上,调用当前的测试用例对当前的待测试应用程序进行测试。
结果生成模块204,具体可以用于对于每个测试线程,根据该测试线程当前测试的安卓设备的属性信息生成文件名,将该测试线程的测试结果存储在以该文件名命名的测试结果存储文件中。
结果生成模块204,还可以用于监控每个测试线程当前测试的安卓设备的CPU和/或内存资源的使用信息,并将监控结果写入每个测试线程对应的测试结果存储文件中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (8)

1.一种在安卓设备上测试应用程序的方法,其特征在于,该方法包括:
将需要测试的安卓设备连接到服务器上,
服务器获取连接的每个安卓设备的设备标识ID,将获取的设备ID加入到可执行列表中,
服务器遍历可执行列表中的设备ID,对于遍历到的每个设备ID,单独启动测试线程,利用当前的测试用例对该设备ID对应的安卓设备进行应用程序测试,并生成测试结果;
将需要测试的安卓设备连接到服务器上包括:
将需要测试的安卓设备通过串行通讯USB接口连接到服务器上,或者通过无线网络连接到服务器上,其中,通过无线网络连接到服务器上的各个安卓设备中安装有代理模块、且通过无线网络连接到服务器上各个安卓设备的IP地址与所述服务器的IP地址属于同一个局域网;
服务器获取连接的每个安卓设备的设备标识ID包括:
服务器通过调用安卓平台的软件开发工具包SDK中的命令获取通过USB接口连接的安卓设备的属性信息,所述属性信息包括该安卓设备的设备ID,服务器利用通过无线网络连接的各个安卓设备中的代理模块,获取所述通过无线网络连接的各个安卓设备的IP地址,将通过无线网络连接的各个安卓设备的IP地址作为相应安卓设备自身的设备ID。
2.根据权利要求1所述的方法,其特征在于,所述利用当前的测试用例对该设备ID对应的设备进行应用程序测试包括:
卸载该设备ID对应的设备上的待测试应用程序和测试用例;
将当前的待测试应用程序和当前的测试用例安装到该设备ID对应的设备上;
调用当前的测试用例对当前的待测试应用程序进行测试。
3.根据权利要求1或2所述的方法,其特征在于,所述生成测试结果包括:
对于每个测试线程,根据该测试线程当前测试的安卓设备的属性信息生成文件名,将该测试线程的测试结果存储在以该文件名命名的测试结果存储文件中。
4.根据权利要求3所述的方法,其特征在于,所述生成测试结果还包括:
监控每个测试线程当前测试的安卓设备的CPU和/或内存资源的使用信息,并将监控结果写入每个测试线程对应的测试结果存储文件中。
5.一种在安卓设备上测试应用程序的装置,其特征在于,该装置包括连接模块、获取模块、测试执行模块和结果生成模块;
所述连接模块,用于连接需要测试的安卓设备;
所述获取模块,用于获取连接的每个安卓设备的设备标识ID,将获取的设备ID加入到可执行列表中;
所述测试执行模块,用于遍历可执行列表中的设备ID,对于遍历到的每个设备ID,单独启动测试线程,利用当前的测试用例对该设备ID对应的安卓设备进行应用程序测试;
所述结果生成模块,用于生成所述测试执行模块的测试结果;
所述连接模块,用于通过串行通讯USB接口连接安卓设备,或者通过无线网络连接安卓设备,其中通过无线网络连接的各个安卓设备中安装有代理模块、且通过无线网络连接的各个安卓设备的IP地址与该连接模块的IP地址属于同一个局域网;
所述获取模块,用于调用安卓平台的软件开发工具包SDK中的命令获取通过USB接口连接的安卓设备的属性信息,所述属性信息包括该安卓设备的设备ID,利用通过无线网络连接的各个安卓设备中的代理模块,获取通过无线网络连接的各个安卓设备的IP地址,将通过无线网络连接的各个安卓设备的IP地址作为相应安卓设备自身的设备ID。
6.根据权利要求5所述的装置,其特征在于,
所述测试执行模块,用于卸载该设备ID对应的设备上的待测试应用程序和测试用例,将当前的待测试应用程序和当前的测试用例安装到该设备ID对应的设备上,调用当前的测试用例对当前的待测试应用程序进行测试。
7.根据权利要求5或6所述的装置,其特征在于,
所述结果生成模块,用于对于每个测试线程,根据该测试线程当前测试的安卓设备的属性信息生成文件名,将该测试线程的测试结果存储在以该文件名命名的测试结果存储文件中。
8.根据权利要求7所述的装置,其特征在于,
所述结果生成模块,还用于监控每个测试线程当前测试的安卓设备的CPU和/或内存资源的使用信息,并将监控结果写入每个测试线程对应的测试结果存储文件中。
CN201210376104.3A 2012-10-08 2012-10-08 一种在安卓设备上测试应用程序的方法和装置 Active CN103713991B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210376104.3A CN103713991B (zh) 2012-10-08 2012-10-08 一种在安卓设备上测试应用程序的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210376104.3A CN103713991B (zh) 2012-10-08 2012-10-08 一种在安卓设备上测试应用程序的方法和装置

Publications (2)

Publication Number Publication Date
CN103713991A CN103713991A (zh) 2014-04-09
CN103713991B true CN103713991B (zh) 2017-08-04

Family

ID=50406991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210376104.3A Active CN103713991B (zh) 2012-10-08 2012-10-08 一种在安卓设备上测试应用程序的方法和装置

Country Status (1)

Country Link
CN (1) CN103713991B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105426298B (zh) * 2014-08-25 2019-05-10 腾讯科技(深圳)有限公司 一种基于adb的软件测试方法和***
CN105446873B (zh) * 2014-09-01 2018-05-22 中国科学院深圳先进技术研究院 基于android平台的APK软件自动测试方法及***
CN104394131A (zh) * 2014-11-12 2015-03-04 国云科技股份有限公司 通过wifi调试多台Android设备的方法
CN104679654A (zh) * 2015-02-26 2015-06-03 百度在线网络技术(北京)有限公司 测试应用程序的方法、设备及***
CN106155848B (zh) * 2015-03-24 2019-09-03 阿里巴巴集团控股有限公司 一种测试方法和设备
CN105320598B (zh) * 2015-11-24 2018-06-15 广州华多网络科技有限公司 软件测试方法及装置
CN105512029B (zh) * 2015-11-27 2018-12-25 北京奇虎科技有限公司 一种测试智能终端的方法、服务器及***
CN106201798A (zh) * 2016-07-14 2016-12-07 努比亚技术有限公司 产品序列号处理装置及方法
CN106649107B (zh) * 2016-12-09 2020-06-12 武汉斗鱼网络科技有限公司 安卓***稳定性的自动化测试方法及装置
CN109992494A (zh) * 2017-12-29 2019-07-09 北京京东尚科信息技术有限公司 一种自动化测试执行方法和装置
CN110389891A (zh) * 2018-04-23 2019-10-29 北京京东尚科信息技术有限公司 测试应用程序的方法和装置
CN110196798A (zh) * 2019-06-06 2019-09-03 百度在线网络技术(北京)有限公司 性能数据确定方法、装置、设备和可读存储介质
CN110502428A (zh) * 2019-07-08 2019-11-26 平安科技(深圳)有限公司 代码测试方法、装置、计算机设备和存储介质
CN111737136A (zh) * 2020-06-24 2020-10-02 海尔优家智能科技(北京)有限公司 基于物联网平台的对象测试方法装置
CN112256560A (zh) * 2020-09-22 2021-01-22 北京达佳互联信息技术有限公司 应用程序测试方法、装置及电子设备
CN112765028B (zh) * 2021-01-22 2023-08-04 济南大学 基于群控机制的Android应用程序测试方法及***
CN112799958A (zh) * 2021-02-23 2021-05-14 长鑫存储技术有限公司 设备批量测试方法、装置、计算机设备及介质
CN113835936A (zh) * 2021-08-26 2021-12-24 青岛中科英泰商用***股份有限公司 一种Andriod设备的通用测试***及其方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685323A (zh) * 2012-04-21 2012-09-19 北京迈凯互动网络科技有限公司 移动设备测试方法和***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120102462A1 (en) * 2010-10-26 2012-04-26 Microsoft Corporation Parallel test execution

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685323A (zh) * 2012-04-21 2012-09-19 北京迈凯互动网络科技有限公司 移动设备测试方法和***

Also Published As

Publication number Publication date
CN103713991A (zh) 2014-04-09

Similar Documents

Publication Publication Date Title
CN103713991B (zh) 一种在安卓设备上测试应用程序的方法和装置
CN103927255B (zh) 基于云测试***的软件测试方法、云测试***及其客户端
CN102567203B (zh) 一种测试分布式文件***性能的方法及***
CN106199696B (zh) 地震数据处理***和方法
CN110532169A (zh) 接口测试用例生成方法、装置、计算机设备及存储介质
CN107256195A (zh) 网页前端测试方法及装置
CN104268079B (zh) 一种pos应用程序测试的方法及***
CN103577658B (zh) 智能终端硬件的评估方法及评估***
CN108920376A (zh) 应用程序的测试方法、装置及介质
CN110532185A (zh) 测试方法、装置、电子设备和计算机可读存储介质
CN102063355B (zh) 一种磁盘阵列的自动化测试服务器及***
CN108459850B (zh) 生成测试脚本的方法、装置及***
CN109523752A (zh) 一种设备故障预警方法、装置、电子设备和介质
CN108563579A (zh) 白盒测试方法、装置、***及存储介质
CN103488696B (zh) Cpe的业务查询方法、装置及***、acs和cpe
CN103186463B (zh) 确定软件的测试范围的方法和***
CN108089566A (zh) 一种bmc稳定性并行测试方法及***
CN102375103B (zh) 电子产品测试装置及方法
CN103455313A (zh) 用于关联被测***的输入消息与输出消息的方法和设备
CN104636250B (zh) 云端自动测试***及方法
CN103699485B (zh) 应用程序调试方法和装置
CN108334443A (zh) 生成测试用例的方法、装置、设备及计算机可读存储介质
Aslanpour et al. Wattedge: A holistic approach for empirical energy measurements in edge computing
CN107122307B (zh) 一种物联网执行***
CN105356955B (zh) 适用于短波电台网络性能测试的业务模拟装置和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant