测试 iOS 应用

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

设置测试环境

一个强大的测试环境对于测试 Home API 应用至关重要。

一个不错的策略是将测试设备隔离在专用 Wi-Fi 网络中。这样可以防止其他设备干扰,并让您能够模拟不同的网络条件(例如带宽受限)。

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

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

准备工具

以下工具可帮助您测试 Home API 应用:

工具 说明
Google Home Playground 虽然不能替代使用实际实体设备进行测试,但对于许多测试场景来说,它非常有价值。
Matter Virtual Device (MVD) 另一个模拟应用,在 Home API 应用中使用 Matter 设备进行测试时非常有用。
网络模拟器 让您可以模拟各种网络条件和 API 响应,如果您使用云后端,此功能会特别有用。
TestFlight 让您能够自动执行界面测试。您需要模拟底层 API 来模拟硬件交互。
XCode 控制台 处理和分析日志数据。
XCUIAutomation 让您能够自动执行界面测试。您需要模拟底层 API 来模拟硬件交互。

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

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

功能测试

根据应用的功能,您可能需要特别注意以下部分领域:

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

性能测试

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

可靠性和稳定性测试

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

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

发布应用之前

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

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