图 1 系统架构图1. 项目意义随着移动互联网工业的繁荣,基于安卓的移动应用已经渗透至社会服务的方方面面,改变了公共的生活方式。与此同时,人们对于安卓移动应用的软件质量和用户体验也提出了更高的要求。近年来,海内外的安卓设备厂商数量不停增长,安卓应用的版本也在不停地更新迭代,传统的手工测试已经尴尬重负。
在此配景下,自动化测试和众包测试成为了破解移动应用测试逆境的两种有效手段。借助自动化测试技术,可以在差别设备下自动执行测试逻辑,发现应用法式的运行时缺陷;通过众包测试,可以获得大量用户的真实使用反馈,以较低的成本完成测试任务。
自动化测试与众包测试的联合,是当前安卓移动应用测试的主流方案。通常来说,众包任务提倡者需要手动分析自动化测试的原始数据,凭据移动应用运行历程中的缺陷与异常,提取出众包需求。不仅如此,他们还需要连续收集由众包工人提交的测试陈诉以及汇总最终的测试数据,这些重复和繁琐的操作都带来了较大的人力和时间开销。针对上述问题,我们设计并实现了安卓自动化测试驱动的众包需求生成系统。
用户只需上传待测应用的APK文件,即可生成众包需求,并能够直接推送至MoocTest众包审核平台投入使用。系统对众包审核的数据举行收集和汇总,实时反馈任务希望。系统优化了众包审核的题目设计与反馈收集等流程,提高了众包任务提倡者的事情效率。2. 项目内容系统首先提取自动化测试历程中触发的异常场景,并基于测试操作序列和屏幕快照,提供复现步骤,引导众包工人在差别设备与情况下验证异常。
使用反编译和静态分析技术,提取出源码中涉及条件判断的控件类型与自动化测试中未笼罩的窗口,引导众包工人探索新异常。系统从应用窗口深度、需求详情、机型设备、运行日志、引导信息等多维度展示了众包服务的概况。
经本系统生成的众包需求可以直接公布到MoocTest众包审核平台投入使用,组织和开展众包测试。系统凭据众包工人历史信息,对其举行类 Top N 形式的众包需求推荐。此外,系统对众包审核的数据举行收集和汇总,实时反馈测试希望,使众包服务成为一个闭环。
安卓自动化测试驱动的众包需求生成系统主要包罗以下四个模块。自动化测试数据处置惩罚模块。本模块首先挪用MoocTest的自动化测试服务对目的应用法式举行开端笼罩,并根据一定的时间距离举行屏幕截图。
在此基础上,本模块首先从日志与客栈文件中提取出所有的自动化测试操作、屏幕截图以及触发异常的场景信息。接着,把详细的测试操作封装成独立的工具实例,提供通俗易懂的语义化形貌,并补全测试操作的各项基础信息,如操作类型、所在窗口和是否触发窗口跳转等。
基于时间优先的匹配规则,为每个测试操作以及异常场景匹配上对应的屏幕截图,使用文本和截图相联合的方式,提供引导信息。然后,凭据发生窗口跳转的事件序列,结构应用窗口跳转模型,盘算从源窗口到达各个目的窗口的最短路径,进而获取从应用入口到达异常场景的所需的复现步骤。最后,基于上述信息举行后续处置惩罚,生成引导众包工人复现异常场景的众包需求。
安卓静态分析模块。为了提高安卓移动应用测试的笼罩率,还需要从应用的源码入手进一步掘客众包审核的需求。该模块首先通过逆向工具Jdax 反编译安卓移动应用的APK文件,获取其对应的源码数据。接着,使用正则表达式对源码中的窗口跳转信息以及条件分支语句举行捕捉。
详细来说,系统在源码中对各个 Activity 文件举行遍历,匹配包罗Intent 类型的相关代码,提取触发的窗口跳转信息的语句。通过与自动化测试中的已笼罩窗口举行比对,可以获得未笼罩窗口的荟萃。然后,凭据上文的最短路径信息,引导众包工人到达未笼罩窗口的前置窗口,自行探索新异常。此外,本文提及的条件分支语句,即是代码中常见的 if、while 以及 for 循环等代码块。
对于每个窗口中涉及条件判断的相关控件类型,要求众包工人使用等价类或界限值等方式对其举行深入的测试。众包需求推荐模块。本模块首先凭据众包需求的严重水平、窗口深度和需求类型来确定优先级。
对于普通用户,优先展示简朴的众包需求,引发他们的测试热情;对于具有相关测试知识的用户,优先展示难题水平较大,对系统造成较大影响的众包需求,充实发挥他们的配景知识与解决问题的能力。在众包审核前,本模块使用基于物品的协同过滤算法,凭据用户群体对众包需求的选择情况,盘算众包需求之间的相似度。然后,根据用户对众包需求的偏好预测值举行降序排序,筛选出最切合用户兴趣习惯的选项举行推荐。
可视化模块。该模块接纳前后端分散的架构举行实现,不仅提供了任务治理的功效,还可以从多方面富厚详细地展示众包服务的完成情况。
用户只需在系统上传待测应用的APK文件,即可生成最终的众包需求。系统使用图表工具ECharts,基于各项数据生成了直观的展示陈诉。众包概况陈诉包罗应用窗口层级模型与众包需求列表,用户能对众包服务有开端的相识;需求详情陈诉包罗设备信息、需求内容以及引导信息,用户可以在差别设备差别情况下对其举行验证或探索;设备详情陈诉包罗设备性能信息、屏幕快照与测试日志,用户可以对自动化测试在该设备上的运行情况举行深入相识;众测希望陈诉包罗测试场次信息与需求评审信息,用户可以相识众包测试的开展进度以及需求的评审情况。
图 2 系统焦点界面图3. 项目效益众包任务提倡者只需上传待测应用的APK文件,即可生成最终的众包需求,而且能够直接公布至MoocTest众包审核平台开展任务。系统还提供了详细的数据陈诉,可以对此次众包审核的详细情况举行直观地反馈。
不仅如此,系统生成的众包需求携带了截图和本文相联合的引导信息,便于众包工人举行探索。为了验证系统的有效性,我们举行了面向众包任务提倡者的实验。实验工具选定为MoocTest众审平台的16位运营人员,在已往他们主要通过手动的方式来设计和公布众包需求,并收集和汇总最终的审核数据。在本实验中,运营人员不再使用传统的众审出题流程,而是使用本系统来生成众包需求,并公布至众审平台,进而组织和开展众包审核任务,最后凭据系统提供的陈诉相识众包审核的详细情况。
从实验数据分析可得,与传统的流程相比,系统降低了设计题目和验收数据的所用时间和庞大水平,同时也在一定水平上提高了众包需求的质量。此外,我们还通过问卷观察的形式收集了运营人员对本系统的使用反馈与评价。
问卷观察的数据显示,68.75%的运营人员表现本系统显着提升了他们的事情效率,81.25%的运营人员表现希望继续使用本系统来优化众审事情流程。由此可见,系统确实在一定水平上替代了非须要的人工操作,因此大部门的众包任务提倡者都对本系统表现了肯定的态度。图 3 实验数据展示图现在,安卓自动化测试驱动的众包需求生成系统已正式投入使用。
系统替代了以往只能依靠人工完成的繁杂和重复的步骤,如处置惩罚自动化测试数据、设计众包需求、公布审核任务以及收集众包评审数据等。在此基础上,系统对原有众审平台的事情流程举行了优化,为生成众包需求和验收众审数据提供了一站式的服务,有效地提高了众包任务提倡者的事情效率。
致谢本文由南京大学软件学院 2018 级硕士生韦志宾撰写。谢谢国家自然科学基金项目:基于可明白信息融合的人机协同移动应用测试研究(61802171)支持!。
本文来源:安博appapp下载-www.ec-js.com
多建在城郊或风景区,中国古代称别业、别馆,3 世纪,意大利山坡地带出现台阶式别墅。中国西晋出现别墅,如洛阳石崇的金谷别墅。此外,历代著名的...
多建在城郊或风景区,中国古代称别业、别馆,3 世纪,意大利山坡地带出现台阶式别墅。中国西晋出现别墅,如洛阳石崇的金谷别墅。此外,历代著名的...
多建在城郊或风景区,中国古代称别业、别馆,3 世纪,意大利山坡地带出现台阶式别墅。中国西晋出现别墅,如洛阳石崇的金谷别墅。此外,历代著名的...
多建在城郊或风景区,中国古代称别业、别馆,3 世纪,意大利山坡地带出现台阶式别墅。中国西晋出现别墅,如洛阳石崇的金谷别墅。此外,历代著名的...
Copyright © 2002-2023 www.ec-js.com. 安博appapp下载科技 版权所有 地址:四川省成都市黄陂区计奥大楼181号 ICP备36416840号-4