Skip to main content

测试工具

测试工具

测试是开发 mbed 设备的重要组成部分,我们已将这一过程变得简单、快捷。我们创建了 ARM® mbed™ Greentea(实现测试自动化的通用回归环境),以实现 mbed Enabled 设备独立于板的自动化测试。Greentea 可自动完成测试固件闪存、mbed 设备重置、测试执行、测试结果收集,并以人工可读的形式进行结果演示以进行审阅与签核。

Greentea 可在主机(您的计算机)和 mbed 设备间进行双工串行端口连接。测试在设备上运行,过程由 Greentea 提供的主机测试脚本进行监管,不与任何用户进行交互。脚本生成一系列输出内容和 sscanf 调用(以人工可读的形式显示这些内容)。测试结果简单易懂,并最终评估为通过或失败。测试人员只需启动进程并查看结果即可。

Greentea 使用以下两种作为 Python 脚本分发的工具:

  • mbed-htrun:Greentea 背后的引擎,用于监控测试的执行并控制测试工作流。
  • mbed-ls:检测并列出支持 mbed 的设备和它们的配置参数(如端口)。

Greentea、mbed-htrun 和 mbed-ls 均可免费使用,并且受 Windows 操作系统(7 及以上版本)的支持。请参阅 GitHub 存储库:Greenteahtrunmbed-ls

请注意,Greentea 需要使用 yotta。有关详细信息,请参阅 yotta 文档

为什么需要 Greentea 测试框架?

自动测试能够实现工作原型的快速开发。当在多个 mbed 设备上执行多个固件更新时,手动测试非常耗时,而且效率低下、容易出错。Greentea 可自动创建适合支持 mbed 的设备的测试。它使您能够专注于测试开发,而不是构建测试框架。它还使您能够重复使用现有的主机测试,或针对新的功能域和互操作性域创建新的主机测试。

Greentea 框架的工作原理是什么?

Greentea 是一款测试协调程序,它按照您的配置参数,依次调用不同的工具,运行测试,然后显示结果。这些工具包括 yotta(以二进制的形式生成测试)、mbed-ls(标识所有已连接的板)和 mbed-htrun(运行和监管测试,然后将结果返回至 Greentea)。您需要做的就是编写测试,并向 Greentea 指出您的测试目标。

以下步骤介绍了如何使用 Greentea 框架:

  1. 用 C 或 C++ 语言编写测试。这些测试应该包括测试过程和测试结果定义
  2. 如果需要,可以用 Python 语言编写主机测试。
  3. 与 Greentea 联系,并向其指出测试的位置(有关目录结构的信息,请查看关于 Greentea 存储库 的完整文档)。
  4. Greentea 为 yotta 提供生成指令:您在先前测试中指定的目录和目标。yotta 会为每次测试生成一个二进制文件。
  5. Greentea 使用 mbed-ls 来发现连接到主机(您的服务器或 PC)的板。
  6. 对于上一步骤中确定的每个目标,mbed-htrun 脚本每次对一个测试二进制文件进行闪存,然后重置设备。
  7. 设备重置后,测试会自动运行。mbed-htrun 脚本生成测试报告(以文本或 JSON 文件形式)。
  8. Greentea 以人工可读的形式显示结果。结果也可以显示为与其他测试运行结果的对比图。

 

注释

  1. 测试框架仅支持 mbed Enabled 设备。
  2. Greentea 目前不提供分布式资源分配 (DRA)。请使用 Jenkins 等独立工具。今后我们将添加 DRA 支持。
  3. 测试框架仅适用于 yotta 自带的软件。yotta 必须在 Greentea 指定的位置执行测试。有关指令,请参阅 此处

第三方测试工具支持

您可以使用第三方测试工具,如 CppUTest。这些工具将在用于 yotta 生成过程的附属内容目录中列出。有关第三方测试工具的详细信息,可以在 快速启动指南 中找到。

运行二进制文件

您还可以使用 Greentea 在目标板上运行示例应用程序。Greentea 可以在主机控制台中显示设备输出,以便您可以监控应用程序。

mbed-htrun

mbed-htrun 是在主机上运行的脚本。它在板上闪存测试二进制文件,然后对其进行重置(当板重置时测试会自动运行),从而在板上运行测试。随后,它监控板上的测试结果,并将结果发送至 Greentea。您还可以使用 mbed-htrun 来评估测试结果或模拟不同的方案。

您可以使用 mbed-htrun 来进行以下操作:

  • 检查从传感器返回的值的有效性。
  • 确定示例 API 调用是成功还是失败。
  • 充当 TCP 服务器,以响应板的查询并评判数据包丢失。

当您运行 Greentea 时,它会自动调用 mbed-htrun。然后 mbed-htrun 运行其在 PC 的 yotta 测试目录中找到的 Python 脚本,同时测试二进制文件在板上运行。

mbed-ls

Greentea 利用 mbed-ls 来发现运行测试的目标。它将已连接设备与您所提供的目标列表进行对比,并确定需要测试的目标。它使您不需要每次运行测试时都手动输入一份安装点列表,也不需要拔出不兼容的板。

mbed-ls 可在 Windows 7、Ubuntu 和 Max OS X (Darwin) 上运行。

后续步骤

有关 Greentea 的安装说明,可以在 mbed-greenteambed-htrun 和 mbed-ls 中找到。  

Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.