HoloLens开发手记 - 测试 Testing

Changwei | 8/29/2016 3:47:00 PM


测试HoloLens应用的做法和测试Windows应用很类似。所有常规的内容都应该被考虑在内(功能、互操作性、性能、安全性、可靠性等等),然而有些特性是HoloLens特有的,在PC或者手机上无法测试的。全息应用需要能够在一系列多样的环境中顺畅地运行,同时也需要时刻保持性能稳定和较好的用户舒适度。本文主要讨论这方面的内容。

 

性能 Performance


 

性能表现对于全息应用来讲至关重要,这直接影响到用户体验,我们会用大幅篇幅来讨论这个主题。更多内容请阅读: performance recommendations.

 

3D环境中测试3D内容 Testing 3D in 3D


  1. 尽可能在不同的环境中测试你的app尝试在大房间、小房间、厨房、客厅、卧室、办公室等等环境中测试。同时也应尝试在非标准特征的房间中测试,这些房间可能会有非垂直的墙壁、弧形的墙壁、倾斜的天花板等等。当我们通过走廊、楼梯在不同房间、楼层切换时,你的应用一切还能正常运行吗?

  2. 在不同光线条件下测试。你的应用能在不同的环境条件下正常运行吗?即使这些环境中存在不同的光线条件、黑色平面、透明或反光表面,例如镜子、玻璃墙等等。
  3. 在不同的运动条件下测试。戴上设备并在不同的运动状态下测试你的应用场景。你的应用能正确地响应不同的运动或稳定状态吗?
  4. 在不同的角度下测试。如果你有一个固定在世界中的全息图像,用户走到它背后会发生什么?如果有动心来到用户和此全息图像之间,这时会发生什么?如果用户从上面或者下面看向此全息图像,这时又会发生什么?
  5. 使用空间和声音提示。确保你的应用使用了它们来避免用户丢失视野。
  6. 在不同等级的环境噪音下测试。如果你集成了语音命令特性,请试着在不同噪音环境下调用此功能。
  7. 在坐下和站立情形下测试。确保在坐下或者站立的位置测试你的应用。
  8. 从不同的距离测试。在远处你的UI元素能被看到并能够进行交互吗?在离全息图像非常近的地方它们还能继续正常工作吗?
  9. 测试应用栏的交互情况。所有的应用磁贴和2D应用都会有一个顶部应用栏,上面的按钮允许你来控制它们在世界中的定位。确保你的应用能够正确响应应用栏的操作,尝试在应用激活或未激活的状态下测试调整模式。

环境测试项目 Environmental Test Matrix

 

舒适性 Comfort


 

  1. 裁剪面(Clip Planes)。我们要关注全息图像被渲染的位置在哪里。关于裁剪面的更多信息,请看:https://developer.microsoft.com/en-us/windows/holographic/Hologram_stability.html#hologram_render_distances
  2. 避免头部移动时可见内容的不连续移动。我们要避免相机不能正确响应用户的真实移动。如果的应用需要用户在场景中移动,那么确保运动可以预测、较小加速并能让用户控制自己的移动。
  3. 遵循全息图像质量指南。实现了全息图像质量指南的高性能应用很少会导致用户不舒适。
  4. 水平分布全息图像而不是在垂直方向上。迫使用户花额外的时间上下观察可能会导致颈部疲劳。

 

输入方式 Input


 

凝视和手势 Gaze and Gestures

Gaze 是HoloLens最基本的输入方式,用于在环境中选中目标全息对象。用户应当可以通过指针的位置确定gaze当前注视的目标对象。Gaze指针很类似与鼠标指针。

手势 则允许你与全息图像交互,就像鼠标点击样。绝大多数时间鼠标点击和Touch(触屏点击)是一样的,但是明白和确定它们之间区别也是很重要的。

确定你的应用能够响应鼠标或触摸的不同行为,这会让用户体验更自然些。例如基于Gaze悬停而触发行为。

 

自定义语音命令 Custom Voice Commands

语音输入是很自然的交互形式,取决于你选择的语音命令和形式,用户可能会感到很棒或者会感到困惑。一条基本原则是,避免使用系统内置的语音命令,例如“Select”或“Hey Cortana”。下面是一些要考虑的地方:

  1. 避免使用听起来相似的语音命令。这会潜在地导致调用错误
  2. 尽量使用表达丰富的关键词。这可以提高识别率,避免错误调用。

 

外设 Peripherals

用户可以通过外设与你的APP交互,我们对此不需要去做特定的处理。然而还是有些事情需要我们检测:

  1. 确定自定义交互可用。例如你的APP可以有些自定义快捷键组合
  2.  确定多种输入形式切换可用。例如在一个场景中用户可能会使用多种输入方式结束一个任务,比如声音、手势、鼠标和键盘等等。

 

系统集成 System Integration


电池 Battery

除去电源线后来测试你的应用,以了解应用耗电情况。可以通过LED等情况来判断当前电池状态,对应情况如下:

 

 

电源状态切换 Power State Transitions

确定应用在不同电源状态切换时,关键场景能否如预期一样正常工作。例如,应用是否停留在它原来的位置上?它是否正确的保持着它的状态?它是否还能如预期一样工作?

  1. 待机/恢复。通过按压一次电源键3分钟后即可让HoloLens自动进入待机状态,再次点击电源按钮即可从待机状态恢复。连接电源线或从电源线断开也可以让设备从待机状态恢复。
  2. 关闭/重启 。长按电源键即可关闭HoloLens,再次按下电源键即可重启设备。

 

多应用场景 Multi-App Scenarios

确定在不同APP间切换时,核心应用功能是否能正常工作,尤其当你设定了后台运行任务时。粘贴/复制操作和Cortana集成也应当检测是否可用。

 

应用遥测 Telemetry


 

使用遥测和分析工具对你会很有用。集成应用分析工具可以从测试用户和终端用户那里收集应用数据。这些数据通常可以在你将 

 应用提交到应用商店前帮助优化应用。有很多可选的分析工具,如果你不确定如何开始,可以阅读: https://www.visualstudio.com/en-us/products/application-insights-vs.aspx

 需要考虑的问题:

  1. 用户如何使用这片空间?
  2. 该应用如何在世界中放置对象?你能检测到问题吗?
  3. 用户在应用不同阶段划花了多少时间?
  4. 用户在该应用上花了多长时间?
  5. 用户正在尝试着最常见的用途是什么?
  6. 用户有触发异常状态或错误吗?

 

模拟器和模拟输入 Emulator and Simulated Input


 

HoloLens模拟器是测试你的全息应用最有效的方式,可以模拟各种用户特征和空间环境。下面是一些使用模拟器测试应用的建议:

  1. 使用模拟器的虚拟房间来扩展你的测试内容。模拟器内置了各种大小的虚拟房间,你可以使用这些环境来测试应用。
  2. 使用模拟器从各种角度观察你的app。使用上下翻页按键来模拟用户的高矮。
  3. 使用真实设备来测试你的应用。HoloLens模拟器是很好的工具,但是在提交到应用商店之前你还是应该使用真是设备来测试应用。这对于确保真实设备上的性能和体验非常重要。

 

带着环境感知模拟的自动测试 Automated testing with Perception Simulation


 

一些开发者可能想要自动测试应用。除了单元测试外,你可以使用HoloLens的环境感知模拟模块来自动进行人类和环境输入模拟。环境感知模拟API可以发送模拟的输入数据到HoloLens模拟器或HoloLens真机。

 

应用认证工具包 Windows App Certification Kit


 

为了帮助你尽可能顺利地发布应用到应用商店,在提交商店认证之前,可以在本地鉴定和测试应用。如果你的应用以 Windows.Holographic为目标平台,Windows App Certification Kit 将仅在你的PC上运行本地静态分析测试,而不会在HoloLens上运行测试。