论文部分内容阅读
安卓系统自进入人们视野以来,因其开放性和稳定性备受手机厂商和智能硬件公司追捧,基于安卓系统的各种终端设备不断涌现。由于待测应用程序的复杂性和移动设备资源的有限性,以及各大安卓设备厂商对安卓系统进行了深度定制,使得安卓系统测试难度不断加大。安卓系统测试往往包含很多的重复性劳动,传统的人工测试方式需要大量的测试人员才能满足软件测试的需求。针对以上问题,Google公司开源了 Uiautomator框架,以期通过自动化程序解决安卓软件重复性测试问题,以节省测试人力。虽然安卓自动化测试框架在一定程度上提高了安卓软件的测试效率,但它并没有解决测试用例的筛选、潜在失败测试用例智能调度和大规模测试需求等问题。本文基于以上问题,提出了一种新的安卓手机性能自动化测试智能系统。本文的主要工作包括:(1)通过分析传统测试技术的不足,提出一种新的安卓手机性能自动化测试智能系统;(2)通过网络爬虫获取垂直应用市场上的软件信息,根据软件评分、下载数、浏览数对流行应用排序,从流行应用中提取测试用例;(3)引入协同过滤推荐算法推荐潜在失败测试用例,通过调度器达到测试用例的智能化调度,提升漏洞的挖掘效率;(4)优化Hadoop下小文件存储和作业调度问题,提升测试日志的解析效率;(5)系统的验证与测试。为了评估系统的可行性,本文搭建了测试平台,对市场上主流机型进行功能验证。实验结果表明,安卓手机性能自动化测试智能系统能够有效的挖掘安卓系统下的潜在漏洞,同时有效避免重复性的人工劳动;基于网络爬虫提取测试用例,保证了测试用例的科学性和优质性;通过引入协同过滤算法推荐潜在失败用例优先执行,提高了失败测试用例的挖掘效率;并提出一种适用测试场景的日志存储和解析引擎,大幅度提升了测试日志解析效率。实验表明,本系统有效地提升了漏洞挖掘的准确性和效率,使单人多机大规模手机测试成为了可能,为后续手机测试研究提供了重要的参考价值。