论文部分内容阅读
随着Android系统的不断优化升级以及硬件技术的发展,移动应用的界面和功能越来越复杂,然而为移动应用进行界面测试非常困难。目前主流的安卓图形界面测试技术包括人工编写脚本、录制回放技术以及其它一些自动化的技术。人工编写脚本不光枯燥,效率低下并且容易出错;录制回放技术每次只能记录一条测试事件,因此需要大量重复的劳动;而现有的一些自动化技术更多地关注于图形用户界面事件之间的组合,由于组合出的事件数过于庞大,会导致出现大量冗余的测试事件,降低测试效率。本文首先调研了安卓测试技术的研究现状,阐述了 Android图形用户界面系统,常用的图形界面测试模型和Android自动化测试框架,在这些技术的基础上本文设计了一个基于手绘的安卓图形界面测试新技术,并依此实现了一个测试生成系统。测试人员只需要在应用截图上绘制简单的草图,然后系统就会自动识别草图内容并根据草图生成测试模型,最后依据测试模型批量生成测试脚本。与录制回放技术相比,使用本文介绍的技术能够在一次绘制过程中生成批量的脚本,测试效率大大提升;与现有的自动化测试技术相比,测试人员可以简单明了地表达自己的测试意图,通过加入人的指导从而减少冗余测试事件的数量。为了验证这项技术的有效性,本文实现了一个测试生成系统,该系统分为三个部分:Android端的手绘系统、电脑端的建模系统和脚本生成系统。在手绘系统开发了一个APP为测试人员提供选择截图和手绘的功能,并利用机器学习的算法识别测试人员的手绘信息,最后将手绘信息以XML的格式保存;在建模系统中,设计了基于事件流模型的测试模型,并依据手绘信息生成这个模型;在脚本生成系统,系统会利用模型自动生成基于Robotium测试框架的测试脚本。本文选取了一些Android应用进行试验,选取了一些主流的自动化测试技术作为对比。在实验中发现相比于现有的测试技术,使用本文提出的技术能够比现有的测试技术在较短的时间内获得更高的测试覆盖率,能够提高测试人员的测试效率。