论文部分内容阅读
随着移动互联网的迅速发展,移动应用开发成为当前十分热门的一个产业,与之相关的自动化测试技术成为当前研究的热点。由于软件测试有着重复性强、程式化高的特点,为软件测试的自动化提供了很大的可能性。目前手机应用测试有许多可以使用的优秀框架,它们可以模拟用户行为,完成界面截图,但是无法自动化实现基准图像与待测图像的对比。本文以此为背景提出了一种基于图像匹配和手机界面截屏的自动化界面测试方法。首先,本文通过对目前几种基于特征点的图像对比方法的进行了研究和比较,结合手机界面分辨率和显示细节有限的特点,确定了自动化手机界面测试的基本流程。最终选择SURF算子而非Harris或是SIFT是由于该算法有着较高的效率和较好的匹配效果,而且非常适合于手机界面这种较少涉及到旋转,较多涉及到尺度变化的情形。通过SURF算法的粗匹配后,再对匹配结果进行随机抽样一致算法的约束,估计出待测图像与基准图像之间的8参数投影矩阵,通过投影矩阵补偿后,计算两图之间的峰值信噪比,通过随机抽样内点率和峰值信噪比来估计待测图像和基准图像之间的匹配程度。然后,本文又结合手机应用在移动终端界面中的图像、文字、列表、网格等各种区域显示的特点,通过横纵像素累加的方法对屏幕进行区域划分,并结合不同类型区域横纵累加特征,对不同区域进行有针对性的对比和匹配。一般方法计算的峰值信噪比是通过图像全局进行计算的,经过分析,手机界面可能出现边缘遮挡这样的情况,通过分区块计算峰值信噪比,可以检测出这样的遮挡问题。对于不同分辨率的适应问题,主要考虑了图像区域和文字区域,图像区域要注意不同分辨率下的拉伸问题,文字区域则要注意分辨率不同带来的文字换行差异。实验证明本文方法能够实现手机应用界面测试的自动化,效率上是手动测试效率的近两倍,效果上能够自动检测出人工发现的绝大部分界面问题。