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