本文主要是介绍安卓应用测试指南 pdf_智能高效、跨设备支持,安卓应用自动测试工具SARA现已开源...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
编者按:在安卓软件测试中,现有的录制与回放技术在录制信息完整度、适配不同机型等很多方面还不能很好地满足工程实践的实际需求。为此,微软亚洲研究院最近提出了一种新的录制与回放技术 SARA,在单设备、跨设备中的录制回放成功率均达到86%,代码已在 GitHub 开源。
SARA 是一个面向移动应用开发者的智能化测试工具,旨在提高软件开发人员进行测试和维护的效率,适应移动开发快速迭代的特点,达到解放开发者、提高生产力的目的。
工具代码已开源
https://github.com/microsoft/SARA
应用背景在软件测试中,录制与回放技术(Record and Replay, R&R)并不是一个新生事物,在传统桌面程序和 web 程序测试中已经得到了广泛的使用。具体来说,R&R 工具可录制应用程序界面中的用户操作和事件,并通过对输入事件进行模拟来模拟用户操作,从而可以将录制好的用户对程序界面的操作序列不断重复模拟,达到自动测试应用程序的目的。
录制与回放是自动化 UI 测试的重要技术,可以帮助应用开发团队大大提高测试效率。在移动互联网时代,移动应用无处不在,基于录制与回放的测试技术在移动应用的测试中也至关重要。但是由于安卓设备和 OS 版本的高度碎片化,市场上有大量的安卓设备厂家,每个厂家的不同产品都有不同的硬件配置(例如不同的屏幕尺寸)和定制了的安卓 OS,这给移动应用程序对不同安卓设备的适配提出了前所未有的挑战。开发一种能够适应不同配置安卓设备的 R&R 技术成为一个非常迫切的实际需求。
学术界和工业界已经对 R&R 技术进行了诸多的研究和开发,目前也已经有多种移动应用 R&R 技术,但是现有的 R&R 技术在适配不同配置的机型上做得不尽如人意。在工程实践中,工程师们希望 R&R 技术不仅仅能够录制鼠标或者触摸点的屏幕坐标信息,也能记录用户操作是在哪些组件上发生的,以及操作事件之间的时间间隔,并且希望录制的事件信息应该对移动应用的内部状态不敏感,从而便于模拟时不断重复。同时,工程师们不希望 R&R 工具受到定制操作系统、有无 Root 权限、有无软件源代码等使用条件限制。根据来自 UIUC 和微信团队对现有工具的研究[3]来看,目前市场上的 R&R 技术在很多方面无法满足工程实践的实际需求。
SARA 为了克服目前 R&R 工具的限制,满足工程实践中的真实需求,微软亚洲研究院数据、知识、智能组提出了一种新的 R&R 技术。 图1: SARA 流程图 针对以上挑战,我们设计了相应的解决方案,并实现了高效、智能的 R&R 工具——SARA。关键技术包括: 1. 利用动态插桩记录丰富的输入来源。插桩是一种通过代码插入或替换来对程序进行监控的技术,动态插桩在程序执行过程中进行插入,不影响动态执行,也无需获取软件源代码,符合实际应用限制。 2. 创新的Self-replay 技术,实现准确高效的回放。由于录制组件信息时间开销大,SARA 在录制环节只记录坐标信息,然后自动地在同一设备上进行基于坐标的回放,同时补充记录组件信息,即 Self-replay 环节。这一技术降低了使用者的时间开销,同时完成了组件信息记录。 3. 创新的Adaptive replay 技术,实现跨设备回放。设备屏幕参数的不同往往会导致界面布局的差异,因此,SARA 在跨设备回放时,进行坐标变换和启发式地组件查找。 性能评估我们从 Google Play 的24个应用类型中,选取了下载量最高的50个应用程序,来评估 SARA 在实际使用中的性能,并与当前最新的其它 R&R 技术做了比较。我们选取的这些应用具有很强的代表性,每一个应用的下载量均超过百万次。在每个应用程序中选择5个常用的应用场景作为录制和回放的目标。系统的性能评价分为2个方面:在相同设备上的录制回放、在不同设备上的录制回放的成功率。实验选择的设备如表1所示。
表1:实验设备
1) 同一设备成功率
在录制的265个使用场景中,SARA 能够成功回放228个场景,成功率达到86%,相比于目前其他的工具有较大提升(例如appetizer: 60.7%, RERAN: 10.9%)。
2) 跨设备回放成功率
在随机选择的42个场景进行跨设备的回放评测,共两轮。结果如表2所示。总体成功率也达到86%,远远超过其他工具。
表2:不同设备录制与回放实验结果(共35个场景)
具体的技术细节可以参见我们的论文[1]。这项技术的代码已经开源[2],欢迎大家试用我们的测试工具,并对技术提出宝贵意见和建议。
参考文献
[1] 2019, J. Guo, S. Li, J.-G. Lou, Z. Yang, T. Liu. Sara: self-replay augmented record and replay for Android in industrial cases. ISSTA 2019: 90-100.
https://www.microsoft.com/en-us/research/publication/sara-self-replay-augmented-record-and-replay-for-android-in-industrial-cases/
[2] 2019. SARA. https://github.com/microsoft/SARA
[3] 2017. W. Lam, Z. Wu, D. Li, W. Wang, H. Zheng, H. Luo, P. Yan, Y. Deng, and T. Xie. Record and Replay for Android: Are We There Yet in Industrial Cases?. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering. ACM, New York, NY, USA, 854–859.
你也许还想看:
这篇关于安卓应用测试指南 pdf_智能高效、跨设备支持,安卓应用自动测试工具SARA现已开源...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!