与其他类型的 Android 应用相比,Home API 应用有其独特的考量因素和挑战,包括对实体智能家居设备的依赖、网络可靠性、安全和隐私,以及设备和协议互操作性。这些差异会对测试产生影响。
设置测试环境
一个强大的测试环境对于测试 Home API 应用至关重要。
最好将 Home API 测试设备隔离在专用 Wi-Fi 网络中。这样可以防止其他设备干扰,并让您能够模拟不同的网络条件(例如带宽受限)。
您需要使用各种制造商生产的各种智能家居设备类型进行测试。请务必使用真实的实体设备进行测试。虚拟设备和模拟器有其用武之地,但不应完全依赖它们。
同样,使用来自多个制造商、具有不同屏幕尺寸且运行不同 Android 版本的各种 Android 设备测试应用,有助于验证更广泛的兼容性。
准备工具
以下工具可帮助您测试 Home API 应用:
| 工具 | 说明 |
|---|---|
| Google Home Plugin for Android Studio | 提供对 Google Assistant Simulator、Home Graph Viewer、Google Cloud Logging 和 Android 调试桥 (adb) 日志查看器的访问权限。 |
| Google Home Playground | 虽然不能替代使用实际实体设备进行测试,但对于许多测试场景来说,它非常有价值。 |
| Matter Virtual Device (MVD) | 另一个模拟应用,在 Home API 应用中使用 Matter 设备进行测试时非常有用。 |
| Espresso | 让您能够自动执行界面测试。您需要模拟底层 API 来模拟硬件交互。 |
| 网络模拟器 | 让您能够模拟各种网络条件和 API 响应,如果您的 Home API 使用云后端,此功能会特别有用。 |
| Android Studio Logcat | 处理和分析日志数据。 |
应用不同的测试方法和策略
您应该对 Home APIs 应用采用各种测试方法。如需了解不同方法的一般信息,请参阅在 Android 平台上测试应用。除了所有 Android 应用都应进行的用户体验和安全测试之外,某些测试领域对 Home API 应用尤为重要,以下部分将更详细地重点介绍这些领域。
功能测试
根据应用的功能,您可能需要特别注意以下部分领域:
- 设备发现和配对,包括初始设置和与新设备配对、应用重启后重新发现现有设备、设备重启或网络更改。此外,还要检查设备无响应或用户输入错误凭据等情况。
- 状态同步,确保应用及时更新以准确反映当前状态。
- 如何管理和强制执行权限,尤其是当您的应用支持多用户或共享住宅访问权限时。这包括验证您的应用是否能妥善处理撤消的权限。
- 如果您的应用支持场景(例如关闭所有灯光的“晚安”场景),请测试场景创建、修改和执行。测试自动化操作,包括启动方式和操作。
性能测试
验证您的应用是否响应迅速,并且不会引入任何不必要的延迟。如果可能,请使用大量设备进行测试,以评估可伸缩性以及应用在负载下的性能。此外,还要查看应用的 CPU、内存和电池消耗情况,尤其是在设备通信活跃期间,以了解其资源使用是否合理。
可靠性和稳定性测试
由于 Home API 应用依赖于网络连接,因此应针对以下场景进行测试:
- 网络波动
- 模拟 Wi-Fi 信号中断、信号微弱和网络切换。
- 验证您的应用是否能妥善处理断开连接和重新连接的情况。
- 验证命令是否会在连接恢复后排队并执行,或者是否会提供适当的错误消息。
- 从远程网络(而不仅仅是家庭网络)测试应用。
- 设备断开连接
- 拔掉设备的电源线。
- 重启设备。
- 并发操作
- 快速发送一系列命令。
- 让多位用户尝试同时控制同一设备。
- 测试重叠的场景和自动化操作。
- 错误处理
- 强制引发 API 错误,例如通过模拟 Cloud API 服务器响应。
- 测试用户输入的无效内容。
- 验证优雅降级和信息性出错提示。
- 可靠性 - 长时间运行应用和已连接的设备,以发现可能的内存泄漏或稳定性问题。
发布应用之前
建议您在发布前全面测试使用 Home API 的应用,以验证其是否满足所有功能和质量要求。使用 Google Home API 应用测试报告作为指南,测试应用的功能。
如果系统要求您提交 Google Home APIs 应用测试报告,请将报告发送给您的 Google Technical Account Manager (TAM),以便他们查看报告并在测试您的应用时将其用作参考。