测试应用

与其他类型的 Android 应用相比,Home API 应用有其独特的考虑因素和挑战,包括对实体智能家居设备的依赖、网络可靠性、安全性和隐私权,以及设备和协议互操作性。这些差异会对测试产生影响。

设置测试环境

可靠的测试环境对于测试 Home API 应用至关重要。

最好将 Home API 测试设备隔离在专用 Wi-Fi 网络上。这样可以防止其他设备造成干扰,并让您模拟不同的网络条件,例如带宽受限。

您需要使用各种智能家居设备类型(来自不同制造商)进行测试。请务必使用真实的实体设备进行测试。虚拟设备和模拟器有其用武之地,但不应完全依赖它们。

同样,使用来自多个制造商的各种 Android 设备(屏幕尺寸各不相同,运行的 Android 版本也不同)测试应用有助于验证更广泛的兼容性。

准备好所需工具

以下工具对于测试 Home API 应用很有用:

工具 说明
Google Home Plugin for Android Studio 提供对 Google Assistant Simulator、Home Graph 查看器、Google Cloud Logging 和 Android 调试桥 (adb) 日志 查看器的访问权限。
Google Home Playground 不能替代使用实际实体设备进行测试,但在 非常有用。
Matter Virtual Device (MVD) 另一个模拟应用,在 Home API 应用中使用 Matter 设备进行测试时可能会很有用。
Espresso 可让您自动执行界面测试。您需要模拟底层 API 来模拟硬件交互。
网络模拟器 可让您模拟各种网络条件和 API 响应, 如果您的 Home API 使用云端后端,这将特别有用。
Android Studio Logcat 处理和分析日志数据。

应用不同的测试方法和策略

您应该对 Home API 应用应用各种测试方法。如需了解不同方法的一般信息,请参阅 在 Android 上测试应用。 除了所有 Android 应用都应接受的用户体验和安全测试之外,某些测试领域对于 Home API 应用尤其重要,以下部分将更详细地介绍这些领域。

功能测试

根据应用的功能,您可能需要特别注意以下某些方面:

  1. 设备发现和配对,包括初始设置和与新设备配对,在应用重启、设备重启或网络更改后重新发现现有设备。还要检查无响应的设备或用户输入不正确的凭据等场景。
  2. 状态同步,确保应用及时更新以准确反映当前状态。
  3. 权限的管理和强制执行方式,尤其是在应用支持多用户或共享家庭访问权限的情况下。这包括验证应用是否能妥善处理被撤消的权限。
  4. 如果应用支持场景(例如关闭所有灯光的“晚安”场景),请测试场景创建、修改和执行。测试自动化操作,包括启动方式和操作。

性能测试

验证应用是否响应迅速,并且不会引入任何不必要的延迟。如果可能,请使用大量设备进行测试,以评估可伸缩性以及应用在负载下的表现。还要查看应用的 CPU、内存和电池消耗情况,尤其是在设备通信活跃期间,以了解其资源使用情况是否合理。

可靠性和稳定性测试

由于依赖于网络连接,因此应针对以下场景测试 Home API 应用:

  1. 网络波动
    • 模拟 Wi-Fi 掉线、信号弱和网络切换。
    • 验证应用是否能妥善处理断开连接和重新连接。
    • 验证命令在连接恢复时是否会排队并执行,或者提供适当的出错提示。
    • 从远程网络(而不仅仅是家庭网络)测试应用。
  2. 设备断开连接
    • 实际拔下设备。
    • 重启设备。
  3. 并发操作
    • 发送一系列快速命令。
    • 让多个用户尝试同时控制同一设备。
    • 测试重叠的场景和自动化操作。
  4. 错误处理
    • 强制 API 错误,例如通过模拟云端 API 服务器响应。
    • 测试用户输入无效的情况。
    • 验证优雅降级和信息丰富的错误消息。
  5. 可靠性 - 让应用和连接的设备 长时间运行,以发现可能的内存泄漏或稳定性问题。

发布应用之前

建议您在发布使用 Home API 的应用之前,对其进行全面测试,以验证其是否满足所有功能和质量要求。使用 Google Home API 应用测试报告作为测试应用 功能的指南。

如果您需要提交 Google Home API 应用测试报告,请将该 报告发送给您的 Google Technical Account Manager (TAM),以便他们查看该报告 并在测试您的应用时将其作为参考。