摘要:
随着移动互联网技术的快速发展,Android应用程序的开发数量也越来越多.为保证Android应用程序的可靠性和安全性,应用程序在正式发布到应用市场之前,需要对它进行测试.但是开发者只提供了APK应用包给应用市场,只能进行黑盒测试.同时,自动化黑盒测试也非常符合最近比较流行的移动云测试服务的要求.开发者只需上传APK应用包,就可利用云服务平台的资源进行测试.因此,实现在无源码的情况下对Android应用程序进行自动化测试是非常有意义的.近年来,业界已经研究出很多专门针对Android应用程序的测试方法,主要包括测试脚本录制工具,Android自动化测试框架和Android应用程序GUI遍历等方法.然而,这些方法都存在一定的缺陷和局限性,并不能充分满足在重用性,覆盖率和自动化等方面的要求.针对这些问题,本文提出了一种在不需要程序源码的情况下对Android应用程序进行自动化黑盒测试的方法.本文的主要工作如下:(1)提出了一种针对Android应用程序的自动化黑盒测试方法.首先通过ADB命令对Ui Automator Viewer工具进行改进,运用改进后的工具识别目标窗口中的所有控件信息和目标窗口信息;然后运用深度优先遍历的思想,提出了一个Android应用窗口测试用例自动生成算法,通过这个算法在构建基于Android应用窗口遍历模型的过程中自动生成测试用例;最后运用数据驱动和关键字驱动的思想,对Robotium框架中方法进行封装,实现对Robotium测试框架的改进,运用改进后的框架生成测试脚本.(2)基于上述方法,实现了一个自动化测试工具Droid Auto Test.通过这个工具可以自动安装并启动被测Android应用程序,自动识别被测应用的窗口信息和控件信息,自动生成测试用例和测试脚本,最终通过运行测试脚本自动生成测试报告.(3)为验证方法的可行性和有效性,本文通过Droid Auto Test工具对搜狐新闻客户端进行测试.测试结果表明本文方法在提高Android应用程序测试自动化程度和界面覆盖率方面具有可行性和有效性,并且在提升测试成本效益方面有很大的优越性.
展开