与其他类型的 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 应用尤其重要,以下部分将更详细地介绍这些领域。
功能测试
根据应用的功能,您可能需要特别注意以下某些方面:
- 设备发现和配对,包括初始设置和与新设备配对,在应用重启、设备重启或网络更改后重新发现现有设备。还要检查无响应的设备或用户输入不正确的凭据等场景。
- 状态同步,确保应用及时更新以准确反映当前状态。
- 权限的管理和强制执行方式,尤其是在应用支持多用户或共享家庭访问权限的情况下。这包括验证应用是否能妥善处理被撤消的权限。
- 如果应用支持场景(例如关闭所有灯光的“晚安”场景),请测试场景创建、修改和执行。测试自动化操作,包括启动方式和操作。
性能测试
验证应用是否响应迅速,并且不会引入任何不必要的延迟。如果可能,请使用大量设备进行测试,以评估可伸缩性以及应用在负载下的表现。还要查看应用的 CPU、内存和电池消耗情况,尤其是在设备通信活跃期间,以了解其资源使用情况是否合理。
可靠性和稳定性测试
由于依赖于网络连接,因此应针对以下场景测试 Home API 应用:
- 网络波动
- 模拟 Wi-Fi 掉线、信号弱和网络切换。
- 验证应用是否能妥善处理断开连接和重新连接。
- 验证命令在连接恢复时是否会排队并执行,或者提供适当的出错提示。
- 从远程网络(而不仅仅是家庭网络)测试应用。
- 设备断开连接
- 实际拔下设备。
- 重启设备。
- 并发操作
- 发送一系列快速命令。
- 让多个用户尝试同时控制同一设备。
- 测试重叠的场景和自动化操作。
- 错误处理
- 强制 API 错误,例如通过模拟云端 API 服务器响应。
- 测试用户输入无效的情况。
- 验证优雅降级和信息丰富的错误消息。
- 可靠性 - 让应用和连接的设备 长时间运行,以发现可能的内存泄漏或稳定性问题。
发布应用之前
建议您在发布使用 Home API 的应用之前,对其进行全面测试,以验证其是否满足所有功能和质量要求。使用 Google Home API 应用测试报告作为测试应用 功能的指南。
如果您需要提交 Google Home API 应用测试报告,请将该 报告发送给您的 Google Technical Account Manager (TAM),以便他们查看该报告 并在测试您的应用时将其作为参考。