1。2 主要研究内容
本文设计的应用自动化测试系统围绕应用程序的自动化测试技术与监控技术展开研究工作。其中,对应用程序行为的监控使用了修改系统的Framework层,直接在应用程序对系统SDK(Software Development Kit)的API调用的位置捕捉应用程序的调用行为。因为研究基于Android应用行为监控技术的动态测试系统主要就是为了可以提出一种新的Android应用行为动态测试系统[6]。所以,本文主要设计实现一个能够完成测试用例的生成以及应用界面事件的自动触发,并且能够在Android框架层提供监控的自动化测试系统。其中,本文的主要研究内容有以下几点:
(1)主流Android应用自动化测试系统功能调研分析。
市场上目前的Android应用的测试系统提供的功能各有不同,但是设计测试系统的主要目的都是采用自动化技术取代重复大量的人工劳动,同时,在自动化测试流程中,加入监控手段提供对系统敏感接口的调用记录等功能[7]。
(2)Android应用Application Framework组件工作机制研究。
Application Framework在Android系统中具有重要作用。研究框架层的相关组件可以了解应用实现系统服务的原理,明确系统API与系统服务之间的对应关系,最终确定需要监控的服务对象[7]。
(3)功能模块的设计与实现。
应用程序自动化测试工具能够有效提高系统安装与测试应用的效率。研究分析Android自动化测试工具,对比各个工具的特性,确定最终使用的工具。
(4)Framework层监控技术的实现。
要实现在Framework层的监控,就需要研究如何使用Xposed框架与如何编写Xposed module的程序。
1。3 本文的工作
本文针对Android应用自动化测试方法的研究,设计实现了一个应用程序自动化测试系统。首先研究本课题的关键技术与工具,包括Android应用反编译技术,Android自动化测试工具,SDK函数替换技术以及Application Framework组件工作机制。然后分析系统需求,设计整体架构,其中预处理子模块,基于Apktool反编译工具与adb命令实现,具有对应用反编译、安装以及运行的功能;测试脚本生成子模块,基于hierarchy Viewer工具与Monkeyrunner自动化测试工具实现,具有解析界面以及自动生成测试用例的功能;触发执行子模块,基于Monkeyrunner与界面结构实现,具有自动触发界面事件的功能;Android应用行为监控模块,基于Xposed框架实现,具有在框架层监控应用行为的功能。来:自[优.尔]论,文-网www.youerw.com +QQ752018766-
2 关键技术
本章主要介绍实现本文中的自动化测试系统所需要的关键技术。同时,讲述设计实现本系统的研究分析工作,本章中所提供的技术是实现测试系统的基础。本章大致分为三部分,第一部分介绍Android系统框架与应用组件。第二部分阐述Android自动化测试的三种相对常用且有效的工具,分别是Monkey,Monkeyrunner以及HierarchyViewer,下文将详细的分析这三种工具。通过比较,最终确定使用哪种工具。第三部分研究分析SDK函数替换技术,然后根据实际情况与现实意义,分析确定哪些行为需要监控,最后设计出系统后台监控模块。