论文部分内容阅读
随着智能手机的迅速普及,智能手机应用也如同雨后春笋一般迅速在各个行业中落地生根。为了抓住市场机遇,企业已把各自产品的手机APP(Application)开发工作列为所有系统开发之中的重中之中。在这大好的市场环境下,企业开始针对不同群体推出多款手机APP。APP大量生产和频繁迭代的行情下,APP的测试工作给测试人员带来了巨大的挑战。当前,手工测试在移动端APP上的应用仍受到很多企业的欢迎,但是传统手工测试方法存在着诸多的不便,解决不了版本迭代时大规模回归测试的问题。为了减轻测试工作量和提高测试效率,引入自动化测试是势在必行。本系统通过深入分析当前某公司的测试需求和结合市面上现有开源的UI(User Interface)自动化测试框架搭建的思路,在满足软件设计思想和系统架构特性的前提下,开发了一套兼容Android与iOS平台的UI层自动化测试框架。利用分层的架构思想把系统分为四层,各层之间通过WebDriver协议来进行通信。为了不重复造轮子,底层我们整合了开源自动化测试框架Appium来完成Android与iOS不同平台自动化测试的兼容性处理。在业务层,根据iOS(Android)的GUI测试特点设计了可重用的页面元素控件定位库,使测试用例与元素控件分离,方便了框架的后续维护[1]。在案例层,我们设计了一套案例模板,该案例只涉及业务流程操作,普通测试人员根据模板也可以进行测试案例脚本的编写。同时,在本系统中,笔者把基于单元测试的测试技术移植到了移动APP的测试中,使框架具备了测试管理的功能,包括对测试数据、测试用例、测试执行、测试报告等测试工作进行管理。另外,我们还设计优化并实现了测试报告的自动生成,通过浏览测试报告能一目了然的知悉测试结果。综上,本文是在整合优秀测试框架的基础之上,深入研究和设计并最终实现了移动自动化测试框架的建设工作,现已投入到项目实践中。一款好的功能自动化测试框架首先必须满足在功能测试中对产品测试的实用性需求[2],本框架的完全满足该实用性需求。另外,本论文中的手机APP自动化测试框架不仅适应于某公司的手机APP产品测试,同时也适应于其他APP产品的自动化测试工作。因此这也解决了某公司多款APP产品的回归测试、兼容性测试覆盖面广和测试工作量大的难题,提高了测试效率,加快了某公司产品发布的进度,提升了企业竞争力。