摘要
随着Android设备的流行和普及,Android生态系统的碎片化问题越发严重.为了确保应用质量,Android应用需要在多种设备上进行测试.为了应对大量重复机械的测试工作,学术界和工业界提出了众多跨设备的测试方法,但目前的方法还有较多的局限性:(1)手工编写设备无关的测试脚本耗时且容易出错;(2)现有录制/重放方法生成的测试脚本在跨设备重放时会出现各种问题,导致重放失败;(3)由于缺少足够的Android设备,应用难以在大量不同类型的设备上进行测试;(4)现有的测试方法由于缺少应用特定的领域知识,无法生成有效的用户输入,导致测试覆盖率不高.基于以上原因,大量的应用在没有经过充分测试后发布,兼容性问题频发.针对以上问题,提出一种基于录制/重放的Android应用众包测试方法,并实现了原型工具AppCheck.AppCheck收集众包用户和设备交互时所产生的事件序列后,将其转换为平台无关的测试脚本,可直接在众包用户的设备上进行重放.在重放期间,AppCheck收集各种测试相关数据(例如截图和布局信息)以检测兼容性问题.实验结果表明,App Check能够有效地完成跨设备录制/重放以及兼容性问题的检测,弥补了当前方法的不足.
-
单位北京城市学院; 中国科学院大学; 计算机科学国家重点实验室; 中国科学院软件研究所