CN104035867A - 基于Android的应用功能遍历测试方法 - Google Patents
基于Android的应用功能遍历测试方法 Download PDFInfo
- Publication number
- CN104035867A CN104035867A CN201410243645.8A CN201410243645A CN104035867A CN 104035867 A CN104035867 A CN 104035867A CN 201410243645 A CN201410243645 A CN 201410243645A CN 104035867 A CN104035867 A CN 104035867A
- Authority
- CN
- China
- Prior art keywords
- interface
- traversal
- android
- information
- application function
- 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.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于Android的应用功能遍历测试方法,属于软件测试技术领域,首先启动PC端的界面寻路算法引擎,然后PC通过dump界面信息的方法获取界面信息,PC端解析获取的界面信息、分析界面的布局和元素,PC端根据解析出来的界面信息进行深度遍历。本发明不必对被测应用进行预处理操作,不要求手机必须获取root权限,还可以对手机内置的应用,例如电话簿,短彩信等功能进行功能遍历。
Description
技术领域
本发明属于软件测试技术领域,特别是涉及一种基于Android的应用功能遍历测试方法。
背景技术
目前已有的功能遍历的技术都是基于Android手机提供的测试工具instrument进行实现,需要首先对被测应用进行预处理,主要内容就是生成一个针对被测应用的测试应用,再使用同一签名将测试应用和被测应用进行签名,然后将被测应用和测试应用都安装到手机上,接着使用android instrument的启动方式启动测试。
上面说到的功能遍历的方式的缺陷主要有以下几个,
一、是必须先获取到被测应用的安装文件,并且对其进行预处理。但是对于手机端已经装好的应用例如通讯录,短信,电话等功能就无法进行功能遍历操作;
二、很多功能遍历算法是随机无序点击,对功能测试的检测力度很弱;
三、通常的功能遍历算法或软件不能进行测试策略设置,导致用户主动干预度低,易用性差,还表现在一次遍历时间过长,算法或软件的易用性很低;
四、功能遍历过程中只能对***底层异常信息进行捕获,对应用软件界面性的缺陷无法发现,比如软件已经报出错误提示框,软件界面存在乱码,软件界面分辨率发生了变化大于或小于终端屏幕分辨率导致界面显示不全或大面积空白屏幕的出现。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种可以对Android终端上已安装或未安装的应用进行前后台识别的功能遍历方法。
为实现上述目的,本发明提供了一种基于Android的应用功能遍历测试方法,包括以下步骤:
步骤一、启动PC端的界面寻路算法引擎;
步骤二、PC通过dump界面信息的方法获取界面信息;
步骤三、PC端解析获取的界面信息、分析界面的布局和元素;
步骤四、PC端根据解析出来的界面信息进行深度遍历或广度遍历。
本程序功能遍历过程通过界面寻路算法引擎来驱动,通过android***提供的各种界面dump方法获取界面的控件和布局信息,并且按照界面寻路算法对获得的界面控件进行遍历,不必对被测应用进行预处理操作,更重要的是本发明不要求手机必须获取root权限,还可以对手机内置的应用,例如电话簿,短彩信等功能进行功能遍历。
较佳的,所述深度遍历按以下步骤进行:
A1、dump出界面的Layout并解析;
A2、通过界面相似度对比算法识别界面是否发生迁移;当界面发生迁移时,将迁移后的界面替换为当前界面,并记录当前操作;当界面未发生迁移时,执行下一个步骤;
A3、判断当前界面是否还有未操作的控件;当前界面还有未操作的控件时返回执行步骤A2,否则进入下一步;
A4、判断是否达到临界条件;当达到临界条件时,遍历结束;当未达到临界条件时,判断是否所有的界面都遍历完成;当所有的界面都遍历完成时,遍历结束;当还有界面没有遍历完成时,返回执行步骤A1。
较佳的,所述步骤二中获取的界面信息为界面上的UI元素、各UI元素的层次关系和各UI元素自身的属性信息。
较佳的,步骤三中所述PC端解析获取的界面信息分析界面的布局和元素按以下步骤执行:
根据dump到的信息还原出界面UI控件树形结构;遍历控件树,识别可点击控件和特殊界面;所述特殊界面包括Dialog、PopList和PopMenu。
进一步的,运行过程中同时会记录测试路径信息、测试截图信息、性能数据、错误信息,用于以后分析。
本发明的有益效果是:
1、本发明不必对被测应用进行预处理操作,
2、本发明不要求手机必须获取root权限,还可以对手机内置的应用,例如电话簿,短彩信等功能进行功能遍历。
3、本发明能够自定义深度优先遍历、广度优先遍历策略、应用遍历深度、应用遍历广度和应用遍历时间长度。
附图说明
图1是本发明一具体实施方式的流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
如图1所示,一种基于Android的应用功能遍历测试方法,包括以下步骤:
步骤一、启动PC端的界面寻路算法引擎;
步骤二、PC通过dump界面信息的方法获取界面信息;
步骤三、PC端解析获取的界面信息、分析界面的布局和元素;
步骤四、PC端根据解析出来的界面信息进行深度遍历或广度遍历。
本程序功能遍历过程通过界面寻路算法引擎来驱动,通过android***提供的各种界面dump方法获取android***界面的控件和布局信息,并且按照界面寻路算法对获得的界面控件进行遍历,不必对被测应用进行预处理操作,更重要的是本发明不要求手机必须获取root权限,还可以对手机内置的应用,例如电话簿,短彩信等功能进行功能遍历。本发明能识别手机前后台各种错误、异常,且具备自学习能力,持续学习积累错误对象库,使发现错误的能力可持续性提高。
所述深度遍历按以下步骤进行:
A1、dump出界面的Layout并解析;
A2、通过界面相似度对比算法识别界面是否发生迁移;当界面发生迁移时,将迁移后的界面替换为当前界面,并记录当前操作;当界面未发生迁移时,执行下一个步骤;上述界面相似度对比算法是基于界面控件树相似度进行对比。
A3、判断当前界面是否还有未操作的控件;当前界面还有未操作的控件时返回执行步骤A2,否则进入下一步;
A4、判断是否达到临界条件;当达到临界条件时,遍历结束;当未达到临界条件时,判断是否所有的界面都遍历完成;当所有的界面都遍历完成时,遍历结束;当还有界面没有遍历完成时,返回执行步骤A1。
所述步骤二中获取的界面信息为界面上的UI元素、各UI元素的层次关系和各UI元素自身的属性信息。
步骤四中所述PC端解析获取的界面信息分析界面的布局和元素按以下步骤执行:
根据dump到的信息还原出界面UI控件树形结构;遍历控件树,识别可点击控件和特殊界面;本实施例中所述特殊界面为Dialog、PopList和PopMenu。
所述深度优先和广度优先遍历算法的界面遍历深度、遍历时间、遍历步数参数可配置,功能遍历运行过程完全由遍历算法驱动,每次分析界面后会记录点击控件、输入文字、测试路径信息、测试截图信息、性能数据、错误信息。android平***mp界面信息的方法包括通过viewserver和uiautomator来进行,本实施例中,采用viewserver来对android平***mp界面信息。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (4)
1.一种基于Android的应用功能遍历测试方法,其特征在于包括以下步骤:
步骤一、启动PC端的界面寻路算法引擎;
步骤二、PC通过dump界面信息的方法获取界面信息;
步骤三、PC端解析获取的界面信息、分析界面的布局和元素;
步骤四、PC端根据解析出来的界面信息进行深度遍历或广度遍历。
2.如权利要求1所述的基于Android的应用功能遍历测试方法,其特征是:所述深度遍历按以下步骤进行:
A1、dump出界面的Layout并解析;
A2、识别界面是否发生迁移;当界面发生迁移时,将迁移后的界面替换为当前界面,并记录当前操作;当界面未发生迁移时,执行下一个步骤;
A3、判断当前界面是否还有未操作的控件;当前界面还有未操作的控件时返回执行步骤A2,否则进入下一步;
A4、判断是否达到临界条件;当达到临界条件时,遍历结束;当未达到临界条件时,判断是否所有的界面都遍历完成;当所有的界面都遍历完成时,遍历结束;当还有界面没有遍历完成时,返回执行步骤A1。
3.如权利要求1所述的基于Android的应用功能遍历测试方法,其特征是:所述步骤二中获取的界面信息为界面上的UI元素、各UI元素的层次关系和各UI元素自身的属性信息。
4.如权利要求1所述的基于Android的应用功能遍历测试方法,其特征是:步骤三中所述PC端解析获取的界面信息分析界面的布局和元素按以下步骤执行:
根据dump到的信息还原出界面UI控件树形结构;遍历控件树,识别可点击控件和特殊界面;所述特殊界面包括Dialog、PopList和PopMenu。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410243645.8A CN104035867B (zh) | 2014-06-04 | 2014-06-04 | 基于Android的应用功能遍历测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410243645.8A CN104035867B (zh) | 2014-06-04 | 2014-06-04 | 基于Android的应用功能遍历测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104035867A true CN104035867A (zh) | 2014-09-10 |
CN104035867B CN104035867B (zh) | 2017-06-09 |
Family
ID=51466640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410243645.8A Active CN104035867B (zh) | 2014-06-04 | 2014-06-04 | 基于Android的应用功能遍历测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104035867B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461526A (zh) * | 2014-11-27 | 2015-03-25 | 广东欧珀移动通信有限公司 | 一种终端应用程序的控件遍历方法及装置 |
CN104462979A (zh) * | 2014-12-26 | 2015-03-25 | 深圳数字电视国家工程实验室股份有限公司 | 一种应用程序的自动化动态检测方法及装置 |
CN104899140A (zh) * | 2015-06-03 | 2015-09-09 | 上海斐讯数据通信技术有限公司 | 一种移动终端组件的测试方法 |
CN105589802A (zh) * | 2014-10-23 | 2016-05-18 | 阿里巴巴集团控股有限公司 | 软件测试方法及装置 |
CN105630665A (zh) * | 2014-11-07 | 2016-06-01 | 卓望数码技术(深圳)有限公司 | 一种基于安卓***的应用程序调试方法及终端设备 |
CN105653441A (zh) * | 2014-11-21 | 2016-06-08 | 中国科学院声学研究所 | 一种ui遍历测试方法与*** |
CN106168923A (zh) * | 2016-06-30 | 2016-11-30 | 北京奇虎科技有限公司 | 一种功能遍历与界面遍历方法及*** |
CN106294152A (zh) * | 2016-08-09 | 2017-01-04 | 努比亚技术有限公司 | 应用用户界面的遍历测试装置及方法 |
CN107122295A (zh) * | 2017-03-30 | 2017-09-01 | 腾讯科技(深圳)有限公司 | 测试用例脚本的生成方法和装置 |
CN107197070A (zh) * | 2017-06-08 | 2017-09-22 | 杭州友声科技股份有限公司 | 基于事件序列的手机应用ui的广度遍历自动化测试方法 |
CN107305579A (zh) * | 2016-04-25 | 2017-10-31 | 北京京东尚科信息技术有限公司 | 智能问答***的测试方法和装置 |
CN107402877A (zh) * | 2016-05-19 | 2017-11-28 | 福建天晴数码有限公司 | 基于Android端的APP测试方法及*** |
CN107451062A (zh) * | 2017-08-09 | 2017-12-08 | 百度在线网络技术(北京)有限公司 | 一种用户界面遍历测试方法、装置、服务器、存储介质 |
CN107665187A (zh) * | 2016-07-28 | 2018-02-06 | 百度在线网络技术(北京)有限公司 | 一种判断移动设备应用界面是否发生变化的方法和装置 |
CN108536582A (zh) * | 2018-03-08 | 2018-09-14 | 挖财网络技术有限公司 | Android应用过度绘制量化分析的方法及装置 |
CN108932199A (zh) * | 2018-07-09 | 2018-12-04 | 南京网觉软件有限公司 | 一种基于用户界面分析的自动化污点分析*** |
CN111817916A (zh) * | 2020-07-02 | 2020-10-23 | 浙江同花顺智能科技有限公司 | 基于移动终端集群的测试方法、装置、设备和存储介质 |
CN112214397A (zh) * | 2020-09-09 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 用户界面测试方法、装置、计算机设备和存储介质 |
CN112784194A (zh) * | 2021-01-28 | 2021-05-11 | 济南大学 | 一种Android应用页面自动化遍历方法及*** |
CN117827357A (zh) * | 2024-03-04 | 2024-04-05 | 北京云测信息技术有限公司 | 一种终端设备的远程操作方法、装置及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7185232B1 (en) * | 2001-02-28 | 2007-02-27 | Cenzic, Inc. | Fault injection methods and apparatus |
CN101645968A (zh) * | 2009-05-15 | 2010-02-10 | 上海闻泰电子科技有限公司 | 一种手机功能搜索的方法 |
CN103530221A (zh) * | 2012-07-02 | 2014-01-22 | 北京大学 | 一种Android***中程序行为与界面操作映射方法 |
-
2014
- 2014-06-04 CN CN201410243645.8A patent/CN104035867B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7185232B1 (en) * | 2001-02-28 | 2007-02-27 | Cenzic, Inc. | Fault injection methods and apparatus |
CN101645968A (zh) * | 2009-05-15 | 2010-02-10 | 上海闻泰电子科技有限公司 | 一种手机功能搜索的方法 |
CN103530221A (zh) * | 2012-07-02 | 2014-01-22 | 北京大学 | 一种Android***中程序行为与界面操作映射方法 |
Non-Patent Citations (1)
Title |
---|
刘舒: "Android功能自动化测试工具的设计与实现", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105589802A (zh) * | 2014-10-23 | 2016-05-18 | 阿里巴巴集团控股有限公司 | 软件测试方法及装置 |
CN105630665B (zh) * | 2014-11-07 | 2019-01-01 | 卓望数码技术(深圳)有限公司 | 一种基于安卓***的应用程序调试方法及终端设备 |
CN105630665A (zh) * | 2014-11-07 | 2016-06-01 | 卓望数码技术(深圳)有限公司 | 一种基于安卓***的应用程序调试方法及终端设备 |
CN105653441A (zh) * | 2014-11-21 | 2016-06-08 | 中国科学院声学研究所 | 一种ui遍历测试方法与*** |
CN105653441B (zh) * | 2014-11-21 | 2018-05-22 | 中国科学院声学研究所 | 一种ui遍历测试方法与*** |
CN104461526B (zh) * | 2014-11-27 | 2017-08-29 | 广东欧珀移动通信有限公司 | 一种终端应用程序的控件遍历方法及装置 |
CN104461526A (zh) * | 2014-11-27 | 2015-03-25 | 广东欧珀移动通信有限公司 | 一种终端应用程序的控件遍历方法及装置 |
CN104462979A (zh) * | 2014-12-26 | 2015-03-25 | 深圳数字电视国家工程实验室股份有限公司 | 一种应用程序的自动化动态检测方法及装置 |
CN104899140B (zh) * | 2015-06-03 | 2017-08-25 | 上海斐讯数据通信技术有限公司 | 一种移动终端组件的测试方法 |
CN104899140A (zh) * | 2015-06-03 | 2015-09-09 | 上海斐讯数据通信技术有限公司 | 一种移动终端组件的测试方法 |
CN107305579A (zh) * | 2016-04-25 | 2017-10-31 | 北京京东尚科信息技术有限公司 | 智能问答***的测试方法和装置 |
CN107402877B (zh) * | 2016-05-19 | 2020-08-18 | 福建天晴数码有限公司 | 基于Android端的APP测试方法及*** |
CN107402877A (zh) * | 2016-05-19 | 2017-11-28 | 福建天晴数码有限公司 | 基于Android端的APP测试方法及*** |
CN106168923A (zh) * | 2016-06-30 | 2016-11-30 | 北京奇虎科技有限公司 | 一种功能遍历与界面遍历方法及*** |
CN107665187A (zh) * | 2016-07-28 | 2018-02-06 | 百度在线网络技术(北京)有限公司 | 一种判断移动设备应用界面是否发生变化的方法和装置 |
CN106294152A (zh) * | 2016-08-09 | 2017-01-04 | 努比亚技术有限公司 | 应用用户界面的遍历测试装置及方法 |
CN106294152B (zh) * | 2016-08-09 | 2019-03-12 | 努比亚技术有限公司 | 应用用户界面的遍历测试装置及方法 |
CN107122295A (zh) * | 2017-03-30 | 2017-09-01 | 腾讯科技(深圳)有限公司 | 测试用例脚本的生成方法和装置 |
CN107197070A (zh) * | 2017-06-08 | 2017-09-22 | 杭州友声科技股份有限公司 | 基于事件序列的手机应用ui的广度遍历自动化测试方法 |
CN107451062A (zh) * | 2017-08-09 | 2017-12-08 | 百度在线网络技术(北京)有限公司 | 一种用户界面遍历测试方法、装置、服务器、存储介质 |
CN108536582B (zh) * | 2018-03-08 | 2021-05-25 | 挖财网络技术有限公司 | Android应用过度绘制量化分析的方法及装置 |
CN108536582A (zh) * | 2018-03-08 | 2018-09-14 | 挖财网络技术有限公司 | Android应用过度绘制量化分析的方法及装置 |
CN108932199A (zh) * | 2018-07-09 | 2018-12-04 | 南京网觉软件有限公司 | 一种基于用户界面分析的自动化污点分析*** |
CN111817916A (zh) * | 2020-07-02 | 2020-10-23 | 浙江同花顺智能科技有限公司 | 基于移动终端集群的测试方法、装置、设备和存储介质 |
CN112214397A (zh) * | 2020-09-09 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 用户界面测试方法、装置、计算机设备和存储介质 |
CN112784194A (zh) * | 2021-01-28 | 2021-05-11 | 济南大学 | 一种Android应用页面自动化遍历方法及*** |
CN112784194B (zh) * | 2021-01-28 | 2022-06-21 | 济南大学 | 一种Android应用页面自动化遍历方法及*** |
CN117827357A (zh) * | 2024-03-04 | 2024-04-05 | 北京云测信息技术有限公司 | 一种终端设备的远程操作方法、装置及设备 |
CN117827357B (zh) * | 2024-03-04 | 2024-06-14 | 北京云测信息技术有限公司 | 一种终端设备的远程操作方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104035867B (zh) | 2017-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104035867A (zh) | 基于Android的应用功能遍历测试方法 | |
US8434062B2 (en) | Enhancing source code debugging and readability using visual symbols | |
US10761964B2 (en) | Object monitoring in code debugging | |
Binkley et al. | Locating dependence clusters and dependence pollution | |
US8209658B2 (en) | Method of creating signatures for classifying program failures | |
CN103226485A (zh) | 代码发布方法、代码发布机和代码发布*** | |
CN104572463A (zh) | 测试接口信息的方法及装置 | |
CN102662575A (zh) | 一种文本修改的方法、客户端及*** | |
CN105320595A (zh) | 一种应用测试方法和装置 | |
CN105068921A (zh) | 基于App对比分析的Android应用商店可信度评价方法 | |
KR20060093004A (ko) | 컴퓨팅 시스템의 시각적 표현을 제공하기 위한 시스템 및방법 | |
CN109101410B (zh) | 一种风险驱动测试方法和装置以及计算机可读存储介质 | |
CN103488488A (zh) | 文本输入检查方法、装置及移动终端 | |
CN105354138A (zh) | 一种确定手机页面上特定控件属性的方法 | |
CN104156305A (zh) | 一种应用程序测试方法及装置 | |
US9563541B2 (en) | Software defect detection identifying location of diverging paths | |
US9037994B2 (en) | Navigation to a data definition in a diff context | |
Vanciu et al. | Hidden dependencies in software systems | |
Patil et al. | Enhanced UI Automator Viewer with improved Android accessibility evaluation features | |
CN102982217A (zh) | 丝印的处理方法和装置 | |
CN104182266A (zh) | 一种应用安装方法及装置 | |
CN107430590B (zh) | 用于数据比较的***和方法 | |
CN111143205B (zh) | 一种面向安卓平台的测试用例自动化生成方法及生成*** | |
US11348597B2 (en) | Intent-based network validation | |
US20130318501A1 (en) | Capturing domain validations and domain element initializations |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200408 Address after: 400000 Ronghui building, science and technology entrepreneurship center, No.8 Yuma Road, Nan'an District, Chongqing (in the Economic Development Zone Development Zone) Patentee after: CHONGQING ELECTRONIC INFORMATION SME PUBLIC SERVICE Co.,Ltd. Address before: 400000 Chongqing international e-commerce Industrial Park, No. 199 Nancheng Road, Nan'an District, Chongqing Patentee before: CHONGQING TAIKAI TECHNOLOGY Co.,Ltd. |