Google增强现实测试自动化工具介绍

字数 964阅读 742

移动设备中最有趣的领域之一是增强现实(AR)平台和应用程序的快速发展,利用移动设备的摄像头实时覆盖实时视频流上的UI元素。这些应用程序和游戏创建了非常吸引人的用户体验,但由于以下原因很难测试:

  • 应用程序的输入来自设备摄像头生成的实时视频源,以及内置加速度计生成的信息。不需要在屏幕上产生点击,而是需要移动设备以向被测应用程序提供输入。

  • 用户体验对输入中的任何延迟,失真和噪声非常敏感,因此,除了更传统的定量失败/通过测试结果之外,测试还涉及重要的定性成分。

  • 在视频流之上实时处理移动视频和覆盖3D对象是非常耗费资源的,并且大部分处理是在设备的专用硬件加速芯片上完成的。因此,必须使用真实设备,并且测试结果从一个设备(或硬件平台)到另一个设备(或硬件平台)不同。

当Google向Bitbar提出自动化AR应用程序测试流程的要求时,从一开始就很清楚,这不是一个标准的测试自动化项目,因此解决方案必须是一个高度定制的私有设备云,将这些需求纳入其中帐户。同样清楚的是,所有这一切都不能通过定制软件单独实现,但还需要创新的硬件安排来完成这项工作。

第一个任务是创建一个物理布置,其中所有设备都位于一个平面上,距离设备大约2英尺(60厘米)的三维“桌子”的距离相同。此外,该表需要具有不同的纹理,以便增强现实平台能够将叠加的3D对象对齐在桌面上方。最后,我们需要确保桌子上和周围的均匀照明条件,以便阴影或暗区不会对测试过程造成干扰。这是通过连接从四个方向指向桌子的广角LED灯来实现的,从而形成均匀的光毯。

图片.png

第二个要求更具挑战性:为了能够校准AR应用,自动化必须将设备移动一段时间以一起校准视频和加速度计输入。每次重新安装应用程序时(每次都是这种情况)都必须这样做。为了使设置更复杂,在执行实际测试时,设备必须是静止的。为了解决这个问题,我们将设备安装在振荡平面上,并使用定制的控制器通过API调用来振荡平面。通过这种方式,客户可以直接从测试脚本启动和停止振荡,并完全控制整个自动化测试流程。

测试本身是在所有(Android和iOS)设备上同时执行的标准服务器端Appium测试,以确保可比较的测试结果。测试的输出是传统的通过/失败信息,执行的详细视频以及关键硬件指标(CPU,GPU,内存)的使用情况的详细指标。

演示视频

参考资料