欢迎来到天天文库
浏览记录
ID:10321681
大小:54.50 KB
页数:4页
时间:2018-07-06
《android体系之软件自动化测验模式(本地化平台)之研究与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Android体系之软件自动化测验模式(本地化平台)之研究与实现第1章绪论1.1课题背景随着移动通信设备的硬件配置越来越高,基于Android平合的软件也越来越复杂,软件的测试流程随之越来越复杂。使用机器代替人工完成繁琐却要求精准的测试势在必行,自动化测试的概念应运而生。在实现自动化测试的过程中,为了能够使测试脚本开发的过程更加简单,开发周期尽可能短,大量的可重复利用代码和工具,以及前后期准备或收尾操作,被封装进入一个统一的平台里,作为测试开发人员和系统之间的中间件,减少测试开发人员需要了解的知识和需要掌握的流程等。这一中间平台就
2、是自动化测试平台。1.1.2Andr0id平台软件自动化测试平台的国内外现状分析如今基于Android系统的自动化测试平台刚起步,虽有一些已经投入使用的,但大都存在一些缺陷。由于Android系统本身不断的推陈出新,从1.0版到如今4.0版不过短短三年。导致己经开发出来的自动化测试平台必须与时俱进的更新。以下对几款主流的自动化测试平台逐一分析优缺点。(1)MonkeyRunnerAndroidSDK自带的一个测试工具MonkeyRunner,它提供的API和执行环境可以运行Python语言编写的测试代码。它提供API来连接设备,安
3、装/卸载应用,运行应用,截屏,比对图片来判断特定命令执行后的屏幕是否包含预期信息,以.及运行对应用的测试。MonkeyRunner使用ActivityInstrumentationTestCase2(提供单一活动功能测试的类),ProviderTestCase(提供了一个框架,可以在受控环境中测试ContentProvider),ServiceTestCase(提供一个框架,可以在受控环境中测试ServiceTest类),及其他类来定义测试用例,并使用InstrumentationTestRunner(运行所有Instrument
4、ation测试用例的类)类来运行测试,然而MonkeyRunner并不能对软件内部控件进行控制,只能基于系统角度,对以APK为粒度的程序进行操控。(2)RobotiumRobotium是另一种通过InstrumentationTestRunner来完成Android交互式测试的架构,它横跨多个Activities(活动),支持功能测试,系统测试和验收测试。Robotium支持Activities、Dialogs、Toasts、Menus、ContextMenus(这些都是Android系统中软件的元素,类似于pc软件中的窗口、对话
5、框等等。)甚至Honeyb(种元素。),并且它可以同Maven(基于项目对象模型(POM),它可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。)和Ant(基于Java的打包工具)集成来完成持续集成测试。Robotium被称之为针对Android应用的又一个Selenium(用于,不像模拟器或设备需要dexing(Androiddex编译器将类文件编译成Android设备上的DalvikVM使用的格式),打包,部署和运行的过程,大大减少了测试执行的时间。Pivotal实验室声称使用Robolectric可以在2
6、8秒内运行1047个测试。Robolectric号称是最快的测试平台,然而他的另辟践径给程序员带来压力,由于不能完全覆盖Android类库,测试脚本并不一定能够达到想要的效果。测试开发人员需要再另寻他法解决。因此Robolectric的使用范围甚至还不及Robotium广。第2章相关技术介绍2.1自动化测试原理自动化测试是相对手动测试而存在的概念,由手工逐个运行测试用例的操作过程被测试工具自动执行的过程所代替。手工测试就是指靠测试人员不借助测试工具,靠手工一步一步执行测试用例,并人为地判断测试结果对不对。而自动化测试是靠系统或测试
7、工具自动执行测试的过程,包括输入数据自动生成、结果验证、自动发送测试报告等⑴。自动化测试的本质就是识别软件中的各种对象,并记录下能够使软件发生改变的操作,将这些操作通过转化,变成可以测试工具可以认识的脚本语言。(在本论文中这个转化过程可以忽略,由于公司测试开发人员对于编码的热情,公司内部的测试脚本,都属于自主编写。所以这一转化过程在本系统中不做讨论。)测试工具在回放时、或执行脚本时,根据脚本语言的代码行,转化为对系统的存取或操作,在每个验证点上,将实际结果和期望结果进行比较,识别出差异。如果没有差异,测试通过;如果有差异,测试不通
8、过,并标记为不通过完成log记录,并给出错误报告。上述过程都可用下图所示来理解。2.1.1自动比较技术没有验证点的_动化测试就不能称之为测试,验证某个测试用例的结果,实质上就是将实际结果(输出)与期望结果进行比较,因此在软件测试自动化中自动比较就显
此文档下载收益归作者所有