CN105446873B - 基于android平台的APK软件自动测试方法及系统 - Google Patents

基于android平台的APK软件自动测试方法及系统 Download PDF

Info

Publication number
CN105446873B
CN105446873B CN201410440294.XA CN201410440294A CN105446873B CN 105446873 B CN105446873 B CN 105446873B CN 201410440294 A CN201410440294 A CN 201410440294A CN 105446873 B CN105446873 B CN 105446873B
Authority
CN
China
Prior art keywords
test
equipment
android
apk
softwares
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
CN201410440294.XA
Other languages
English (en)
Other versions
CN105446873A (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.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
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 Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN201410440294.XA priority Critical patent/CN105446873B/zh
Publication of CN105446873A publication Critical patent/CN105446873A/zh
Application granted granted Critical
Publication of CN105446873B publication Critical patent/CN105446873B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种基于android平台的APK软件自动测试方法,包括:检测android设备是否与电脑连接成功,及根据与电脑连接成功的android设备的信息建立并实时维护设备表;接收APK软件测试任务,并且结合所述设备表决定测试任务的分配;封装APK软件并向所述android设备上传所述封装的APK软件,及进行所述APK软件的测试;回收并反馈所述APK软件的测试结果。本发明还涉及一种基于android平台的APK软件自动测试系统。本发明提高了APK软件在android设备上的测试效率,具有可扩展性,为大规模android设备集群的管理和自动测试提供了良好的解决方案。

Description

基于android平台的APK软件自动测试方法及系统
技术领域
本发明涉及一种基于android平台的APK软件自动测试方法及系统。
背景技术
由于安卓的开放性,安卓手机的操作系统升级大大滞后于Google官方发布的版本,有些android设备甚至不支持升级,再加上众多android设备对硬件和驱动的改动,数千种不同的型号,使得Android App的测试工作令人望而生畏。
当前主流的基于android平台的APK(Android Package)软件自动测试方法,能实现APK软件的自动安装、运行、截图等功能。但是,每次测试APK都必须事先配置好相应的参数,这使得测试APK的效率大大降低。
发明内容
有鉴于此,有必要提供一种基于android平台的APK软件自动测试方法及系统。
本发明提供一种基于android平台的APK软件自动测试方法,该方法包括如下步骤:a.检测android设备是否与电脑连接成功,及根据与电脑连接成功的android设备的信息建立并实时维护设备表;b.接收APK软件测试任务,并且结合所述设备表决定测试任务的分配;c.封装APK软件并向所述android设备上传所述封装的APK软件,及进行所述APK软件的测试;d.回收并反馈所述APK软件的测试结果。
其中,该方法在步骤a之前还包括:将android设备通过USB集线器与电脑连接的步骤。
所述的步骤a具体包括:通过adb工具检测android设备是否与电脑连接成功。
所述android设备的信息包括:android设备的内存、CPU使用情况,以及android设备的接入或者断开状态。
所述的测试包括:兼容性测试、性能测试、功能测试。
所述的步骤c具体包括:采用adb工具封装所述APK软件。
本发明还提供一种基于android平台的APK软件自动测试系统,包括检测模块、分配模块、测试模块及反馈模块,其中:所述检测模块用于检测android设备是否与电脑连接成功,及根据与电脑连接成功的android设备的信息建立并实时维护设备表;所述分配模块用于接收APK软件测试任务,并且结合所述设备表决定测试任务的分配;所述测试模块用于封装APK软件并向所述android设备上传所述封装的APK软件,及进行所述APK软件的测试;所述反馈模块用于回收并反馈所述APK软件的测试结果。
其中,所述的检测模块具体用于:通过adb工具检测android设备是否与电脑连接成功。
所述android设备的信息包括:android设备的内存、CPU使用情况,以及android设备的接入或者断开状态。
所述的测试包括:兼容性测试、性能测试、功能测试。
所述的测试模块具体用于:采用adb工具封装所述APK软件。
本发明基于android平台的APK软件自动测试方法及系统,提高了APK软件在android设备上的测试效率,为大规模android设备集群的管理和自动测试提供了良好的解决方案,本发明通过http请求控制测试任务,将测试结果基于http进行反馈,具有良好的可扩展性。
附图说明
图1为本发明基于android平台的APK软件自动测试方法的流程图;
图2为本发明基于android平台的APK软件自动测试系统的硬件架构图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细的说明。
参阅图1所示,是本发明基于android平台的APK软件自动测试方法较佳实施例的作业流程图。
步骤S401,将测试使用的android设备通过USB集线器与电脑连接。具体而言:将测试APK软件使用的一个或者多个android设备通过USB集线器与电脑连接。所述android设备可以为装有android操作系统的手机。
步骤S402,检测所述android设备是否与电脑连接成功,建立并实时维护设备表。具体而言:
首先,通过adb(Android Debug Bridge)工具检测所述android设备是否与电脑连接成功。
在所述android设备与电脑连接成功后,建立并实时维护设备表:周期性获取每个android设备的信息,例如内存、CPU使用情况等,以建立设备表,并及时更新所述设备表。为保证更新的及时性,所述设备表存储在电脑内存中。通过所述设备表,可以清楚地知道android设备的健康状况和任务执行状况,为测试任务的合理分配提供保证。所述设备表能够及时反应android设备的内存、CPU使用情况等信息,以及android设备的接入或者断开状态。
步骤S403,接收用户发出的APK软件测试任务,并且结合所述设备表决定测试任务的分配。具体而言:
本具体实施例中,所述电脑虚拟了一个轻量级的服务器,接收用户的测试命令,同时控制APK软件的测试及回收测试结果,该服务器是一个基于python语言的轻量级开源http服务器,具有很好的平台移植性,适用于windows和unix。用户通过http请求的形式向所述http服务器发送测试任务,所述http服务器接收测试任务,并根据接收的测试任务及设备表所述测试任务的分配。比如,有些android设备已经有测试任务执行,则将本次测试任务延后执行等。
步骤S404,封装并上传所述APK软件,及进行所述APK软件的测试。具体而言:
本具体实施方式采用adb工具封装所述APK软件,并在所述android设备上传所述封装的APK软件,及在上传后完成所述APK软件的测试。
所述测试包括兼容性测试、性能测试、功能测试。所述兼容性测试主要测试所述APK软件的安装、运行、卸载情况,并且反馈截图。所述性能测试主要所述APK软件安装和运行时的内存、cpu消耗等情况。所述功能测试为自动模拟点击所述APK软件的界面按钮,得到测试结果。所述测试通过adb工具来实现自动执行。
步骤S405,回收并反馈所述APK软件的测试结果。具体而言:
本具体实施方式通过adb工具回收所述APK软件的测试结果,并通过所述http服务器将结果反馈给用户。所述http服务器将所述测试结果以柱状图、曲线图、饼图等方式反馈给用户。
参阅图2所示,是本发明基于android平台的APK软件自动测试系统10的硬件架构图。该系统包括准备模块100、检测模块101、分配模块102、测试模块103及反馈模块104。
所述准备模块100用于事先将测试使用的android设备通过USB集线器与电脑连接。具体而言:将测试APK软件使用的一个或者多个android设备通过USB集线器与电脑连接。所述android设备可以为装有android操作系统的手机。
所述检测模块101用于检测所述android设备是否与电脑连接成功,建立并实时维护设备表。具体而言:
首先,通过adb(Android Debug Bridge)工具检测所述android设备是否与电脑连接成功。
在所述android设备与电脑连接成功后,建立并实时维护设备表:周期性获取每个android设备的信息,例如内存、CPU使用情况等,以建立设备表,并及时更新所述设备表。为保证更新的及时性,所述设备表存储在电脑内存中。通过所述设备表,可以清楚地知道android设备的健康状况和任务执行状况,为测试任务的合理分配提供保证。所述设备表能够及时反应android设备的内存、CPU使用情况等信息,以及android设备的接入或者断开状态。
所述分配模块102用于接收用户发出的APK软件测试任务,并且结合所述设备表决定测试任务的分配。具体而言:
本具体实施例中,所述电脑虚拟了一个轻量级的服务器,接收用户的测试命令,同时控制APK软件的测试及回收测试结果,该服务器是一个基于python语言的轻量级开源http服务器,具有很好的平台移植性,适用于windows和unix。用户通过http请求的形式向所述http服务器发送测试任务,所述http服务器接收测试任务,并根据接收的测试任务及设备表所述测试任务的分配。比如,有些android设备已经有测试任务执行,则将本次测试任务延后执行等。
所述测试模块103用于封装并上传所述APK软件,及进行所述APK软件的测试。具体而言:
本具体实施方式采用adb工具封装所述APK软件,并在所述android设备上传所述封装的APK软件,及在上传后完成所述APK软件的测试。
所述测试包括兼容性测试、性能测试、功能测试。所述兼容性测试主要测试所述APK软件的安装、运行、卸载情况,并且反馈截图。所述性能测试主要所述APK软件安装和运行时的内存、cpu消耗等情况。所述功能测试为自动模拟点击所述APK软件的界面按钮,得到测试结果。所述测试通过adb工具来实现自动执行。
所述反馈模块104用于回收并反馈所述APK软件的测试结果。具体而言:
本具体实施方式通过adb工具回收所述APK软件的测试结果,并通过所述http服务器将结果反馈给用户。所述http服务器将所述测试结果以柱状图、曲线图、饼图等方式反馈给用户。
本发明能够实现APK软件在android设备上的兼容性、性能、功能等方面的测试,通过http请求控制测试任务的执行,并且将测试结果基于http服务器进行展示。同时本发明具有良好的扩展性,可以扩展到N个电脑节点上,每个电脑节点可以支持N个android设备,从而实现大规模android设备集群的自动测试。
虽然本发明参照当前的较佳实施方式进行了描述,但本领域的技术人员应能理解,上述较佳实施方式仅用来说明本发明,并非用来限定本发明的保护范围,任何在本发明的精神和原则范围之内,所做的任何修饰、等效替换、改进等,均应包含在本发明的权利保护范围之内。

Claims (11)

1.一种基于android平台的APK软件自动测试方法,其特征在于,该方法包括如下步骤:
a.检测android设备是否与电脑连接成功,及根据与电脑连接成功的android设备的信息建立并实时维护设备表;
b.接收APK软件测试任务,并且结合所述设备表决定测试任务的分配;
c.封装APK软件并向所述android设备上传所述封装的APK软件,及进行所述APK软件的测试;
d.回收并反馈所述APK软件的测试结果;
所述步骤a包括:周期性获取每个android设备的信息,以建立设备表,并及时更新所述设备表,所述设备表能够及时反映android设备的内存、CPU使用情况,以及android设备的接入或者断开状态。
2.如权利要求1所述的方法,其特征在于,该方法在步骤a之前还包括:
将android设备通过USB集线器与电脑连接的步骤。
3.如权利要求1或2所述的方法,其特征在于,所述的步骤a具体包括:
通过adb工具检测android设备是否与电脑连接成功。
4.如权利要求3所述的方法,其特征在于,所述android设备的信息包括:android设备的内存、CPU使用情况,以及android设备的接入或者断开状态。
5.如权利要求1所述的方法,其特征在于,所述的测试包括:兼容性测试、性能测试、功能测试。
6.如权利要求1或2所述的方法,其特征在于,所述的步骤c具体包括:采用adb工具封装所述APK软件。
7.一种基于android平台的APK软件自动测试系统,其特征在于,该系统包括检测模块、分配模块、测试模块及反馈模块,其中:
所述检测模块用于检测android设备是否与电脑连接成功,及根据与电脑连接成功的android设备的信息建立并实时维护设备表;
所述分配模块用于接收APK软件测试任务,并且结合所述设备表决定测试任务的分配;
所述测试模块用于封装APK软件并向所述android设备上传所述封装的APK软件,及进行所述APK软件的测试;
所述反馈模块用于回收并反馈所述APK软件的测试结果;
所述检测模块具体用于:周期性获取每个android设备的信息,以建立设备表,并及时更新所述设备表,所述设备表能够及时反映android设备的内存、CPU使用情况,以及android设备的接入或者断开状态。
8.如权利要求7所述的系统,其特征在于,所述的检测模块具体用于:
通过adb工具检测android设备是否与电脑连接成功。
9.如权利要求8所述的系统,其特征在于,所述android设备的信息包括:android设备的内存、CPU使用情况,以及android设备的接入或者断开状态。
10.如权利要求7所述的系统,其特征在于,所述的测试包括:兼容性测试、性能测试、功能测试。
11.如权利要求7所述的系统,其特征在于,所述的测试模块具体用于:采用adb工具封装所述APK软件。
CN201410440294.XA 2014-09-01 2014-09-01 基于android平台的APK软件自动测试方法及系统 Active CN105446873B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410440294.XA CN105446873B (zh) 2014-09-01 2014-09-01 基于android平台的APK软件自动测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410440294.XA CN105446873B (zh) 2014-09-01 2014-09-01 基于android平台的APK软件自动测试方法及系统

Publications (2)

Publication Number Publication Date
CN105446873A CN105446873A (zh) 2016-03-30
CN105446873B true CN105446873B (zh) 2018-05-22

Family

ID=55557102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410440294.XA Active CN105446873B (zh) 2014-09-01 2014-09-01 基于android平台的APK软件自动测试方法及系统

Country Status (1)

Country Link
CN (1) CN105446873B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106501633A (zh) * 2016-09-27 2017-03-15 捷开通讯科技(上海)有限公司 穿戴式电子设备的测试系统与方法
CN107566472B (zh) * 2017-08-25 2020-09-29 四川长虹电器股份有限公司 一种apk自动维护实现方法
CN108009085B (zh) * 2017-11-29 2021-01-12 广州君海网络科技有限公司 渠道包测试方法
CN108829577A (zh) * 2018-04-26 2018-11-16 四川斐讯信息技术有限公司 一种应用程序性能的自动化测试方法
CN112000344A (zh) * 2020-08-25 2020-11-27 南京烽火星空通信发展有限公司 一种基于Android平台的无痕数据获取方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103123605A (zh) * 2013-02-07 2013-05-29 百度在线网络技术(北京)有限公司 一种Android平台自动化集成测试方法和装置
CN103501505A (zh) * 2013-09-18 2014-01-08 福州瑞芯微电子有限公司 一种自动测试Android设备上WIFI模块的系统
CN103544100A (zh) * 2012-07-12 2014-01-29 腾讯科技(深圳)有限公司 便携数据处理设备应用程序的测试方法、系统和客户端
CN103631703A (zh) * 2012-08-21 2014-03-12 腾讯科技(深圳)有限公司 安卓设备中的软件性能测试方法和装置
CN103713991A (zh) * 2012-10-08 2014-04-09 腾讯科技(深圳)有限公司 一种在安卓设备上测试应用程序的方法和装置
CN103744784A (zh) * 2014-01-06 2014-04-23 中国移动(深圳)有限公司 手机应用自动化测试方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544100A (zh) * 2012-07-12 2014-01-29 腾讯科技(深圳)有限公司 便携数据处理设备应用程序的测试方法、系统和客户端
CN103631703A (zh) * 2012-08-21 2014-03-12 腾讯科技(深圳)有限公司 安卓设备中的软件性能测试方法和装置
CN103713991A (zh) * 2012-10-08 2014-04-09 腾讯科技(深圳)有限公司 一种在安卓设备上测试应用程序的方法和装置
CN103123605A (zh) * 2013-02-07 2013-05-29 百度在线网络技术(北京)有限公司 一种Android平台自动化集成测试方法和装置
CN103501505A (zh) * 2013-09-18 2014-01-08 福州瑞芯微电子有限公司 一种自动测试Android设备上WIFI模块的系统
CN103744784A (zh) * 2014-01-06 2014-04-23 中国移动(深圳)有限公司 手机应用自动化测试方法及系统

Also Published As

Publication number Publication date
CN105446873A (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
CN105446873B (zh) 基于android平台的APK软件自动测试方法及系统
WO2017161984A1 (zh) 数据集群的部署方法、装置、系统及计算机存储介质
CN107704395B (zh) 一种基于Openstack下云平台自动化测试实施方法与系统
US10664388B2 (en) Continuous integration testing for network-based applications
CN103970650B (zh) 分布式测试方法和装置
CN105302716B (zh) 合流开发模式下的测试方法、装置
US11483218B2 (en) Automating 5G slices using real-time analytics
CN103678132A (zh) 一种应用软件云测试系统
US20140040441A1 (en) System and method for the configuration of a clustered simulation network
CN102141962A (zh) 一种安全性分布式测试框架系统及其测试方法
CN103973858B (zh) 移动终端的自动测试系统
CN102346709A (zh) 软件开发辅助方法及系统
US11074149B2 (en) Cloud simulation and validation system
CN103209197A (zh) 集群服务器部署方法及系统
CN104933174A (zh) 基于控件自动化遍历解决手机app机型适配问题的方法
CN104246702A (zh) 工作流编译
CN111258913A (zh) 算法自动测试方法、装置、计算机系统及可读存储介质
US10536339B2 (en) Systems and methods for system configuration for communication network devices
CN106445611B (zh) 大数据节点系统及自动部署方法
CN105389172A (zh) 应用程序升级方法和装置
CN102841843B (zh) 兼容判断方法及装置
CN112105025B (zh) 基于eSIM的运营商网络测试系统及方法
CN113672502A (zh) 程序多系统测试方法及其相应的装置、设备、介质
CN104361437A (zh) 一种多样化数据接口质量检查管理的方法及系统
WO2014056350A1 (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