智能高效跨设备支持,安卓应用自动测试工具SARA现已开源
Posted 微软研究院AI头条
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智能高效跨设备支持,安卓应用自动测试工具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 技术在很多方面无法满足工程实践的实际需求。
我们从 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.
你也许还想看:
以上是关于智能高效跨设备支持,安卓应用自动测试工具SARA现已开源的主要内容,如果未能解决你的问题,请参考以下文章
如何用几行Python代码在物联网设备上实现语音AI自动识别?
爱思助手 ---- 一款集“高效管理 iOS 设备数据”,“智能刷机”和“免费下载海量应用游戏铃声壁纸”等为一体的 iOS 设备管理工具