测试

项目测试

Google 发布的 OpenThread 已通过多种工具进行测试。

持续集成

OpenThread 使用 GitHub 操作进行持续集成 (CI),使用 Codecov 进行代码覆盖率。

CI 会针对使用 GNU Arm 嵌入式工具链的所有示例平台以及使用 GCC、Clang 和 Android 的模拟示例执行构建检查。它还针对 x86、平台架构和 Thread 设备配置进行构建和测试。如需详细了解特定测试和检查,请参阅工作流

此外,CI 还可执行以下操作:

  1. 使用 clang-format 进行代码样式检查
  2. 单元测试
  3. 针对 CLI、wpantund(使用 toranj)和 Pyspinel 的功能测试

OSS 模糊测试

OpenThread 使用 OSS-Fuzz 进行模糊测试。 在这种测试方法中,系统会向软件以高频率提交大量无效和随机输入,以便找出内存泄漏或崩溃等问题。

如需了解当前的模糊 build 目标,请参阅 OpenThread 代码库。

产品测试

使用以下工具测试您自己的 OpenThread 产品。

鲨鱼

Wireshark 是一款开源网络协议分析器,适用于在物理和虚拟网络接口上运行的流量。Wireshark 2.4.0 及更高版本支持 Thread 协议。此工具的文档和下载内容可在 wireshark.org 上找到。

如需详细了解 Wireshark 中如何支持 Thread,请参阅使用 Pyspinel 进行数据包嗅探

Pyspinel

Pyspinel 是适用于 Spinel 协议的 Python CLI,用于配置和管理 OpenThread NCP 或 RCP。此 CLI 主要针对 CI 测试,但可用于手动试验和测试 OpenThread 协处理器实例。

Pyspinel 用于:

  • 为持续集成添加了模拟协处理器测试。
  • 自动测试在硬件上运行协处理器固件的测试平台。
  • 调试 OpenThread 的协处理器 build。
  • 将 OpenThread 协处理器转换为数据包嗅探器。

如需了解详情,请参阅 Pyspinel 代码库中的 README