了解结果和日志 - FreeRTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

了解结果和日志

本节介绍如何查看和解释 IDT 结果报告和日志。

查看结果

在运行时,IDT 会将错误写入控制台、日志文件和测试报告中。IDT 在完成资格测试套件后,会将测试运行摘要写入控制台并生成两个测试报告。可在 devicetester-extract-location/results/execution-id/ 中找到这些报告。两个报告都捕获资格测试套件执行的结果。

awsiotdevicetester_report.xml 是您提交给 Amazon 的资格认证测试报告,用于在 Amazon 合作伙伴设备目录中列出您的设备。该报告包含以下元素:

  • 适用于 FreeRTOS 版本的 IDT。

  • 所测试的 FreeRTOS 版本。

  • 设备所支持的 FreeRTOS 功能基于所通过的测试。

  • device.json 文件中指定的 SKU 和设备名称。

  • device.json 文件中指定的设备的功能。

  • 测试用例结果的摘要汇总。

  • 按基于设备功能(例如 FullmQTT 等 FullWiFi)测试的库对测试用例结果进行细分。

  • FreeRTOS 的这种资格认证是否适用于使用 LTS 库的 202012.00 版本。

FRQ_Report.xml 是采用标准 JUnit XML 格式的报告。您可以将它集成到 CI/CD 平台中,例如 JenkinsBamboo 等。该报告包含以下元素:

  • 测试用例结果的摘要汇总。

  • 基于设备功能,按照所测试的库细分的测试用例结果。

解释适用于 FreeRTOS 的 IDT 结果

awsiotdevicetester_report.xmlFRQ_Report.xml 中的报告部分列出了所执行的测试的结果。

第一个 XML 标签 <testsuites> 包含测试执行的整体摘要。例如:

<testsuites name="FRQ results" time="5633" tests="184" failures="0" errors="0" disabled="0">

<testsuites> 标签中使用的属性

name

测试套件的名称。

time

运行资格套件所用的时间(以秒为单位)。

tests

执行的测试用例数量。

failures

已运行但未通过的测试用例数。

errors

适用于 FreeRTOS 的 IDT 无法执行的测试用例数。

disabled

此属性未使用,可以忽略。

如果没有测试用例故障或错误,您的设备满足运行 FreeRTOS 的技术要求并可以与 Amazon IoT 服务互操作。如果选择在 Amazon 合作伙伴设备目录中列出您的设备,则可以使用此报告作为资格证明。

如果出现测试用例失败或错误,可以通过检查 <testsuites> XML 标签来确定失败的测试用例。<testsuites> 标签内部的 <testsuite> XML 标签显示测试组的测试用例结果摘要。

<testsuite name="FullMQTT" package="" tests="16" failures="0" time="76" disabled="0" errors="0" skipped="0">

其格式类似于 <testsuites> 标签,但具有名为 skipped 的属性,此属性未使用,可以忽略。在每个 <testsuite> XML 标签内部,对于一个测试组,所执行的每个测试用例都有 <testcase> 标签。例如:

<testcase classname="mcu.Full_MQTT" name="AFQP_MQTT_Connect_HappyCase" attempts="1"></testcase>

<awsproduct> 标签中使用的属性

name

所测试的产品的名称。

version

所测试的产品的版本。

sdk

如果使用开发工具包运行 IDT,则此数据块包含您的开发工具包的名称和版本。如果您没有使用开发工具包运行 IDT,则此数据块包含:

<sdk> <name>N/A</vame> <version>N/A</version> </sdk>
features

验证的功能。标记为 required 的功能需要提交您的主板信息以供资格审核。以下代码段演示了它在 awsiotdevicetester_report.xml 文件中的显示方式。

<feature name="core-freertos" value="not-supported" type="required"></feature>

标记为 optional 的功能不是资格认证所必需的。以下代码段显示了可选功能。

<feature name="ota-dataplane-mqtt" value="not-supported" type="optional"></feature> <feature name="ota-dataplane-http" value="not-supported" type="optional"></feature>

如果没有针对所需功能的测试失败或错误,则设备满足运行 FreeRTOS 的技术要求并可以与 Amazon IoT 服务互操作。如果您想要在 Amazon 合作伙伴设备目录中列出您的设备,则可以使用此报告作为资格证明。

如果出现测试失败或错误,则可以通过检查 <testsuites> XML 标签来确定失败的测试。<testsuites> 标签内的 <testsuite> XML 标签显示了测试组的测试结果摘要。例如:

<testsuite name="FreeRTOSVersion" package="" tests="1" failures="1" time="2" disabled="0" errors="0" skipped="0">

其格式与 <testsuites> 标签类似,但有一个未使用并可忽略的 skipped 属性。在每个 <testsuite> XML 标签内部,对于一个测试组,所执行的每个测试都有 <testcase> 标签。例如:

<testcase classname="FreeRTOSVersion" name="FreeRTOSVersion"></testcase>
lts

如果您符合使用 LTS 库的 FreeRTOS 版本的资格,则为 true,否则为 false。

<testcase> 标签中使用的属性

name

测试用例的名称。

attempts

适用于 FreeRTOS 的 IDT 执行测试用例的次数。

当测试失败或出现错误时,将会在 <testcase> 标签中添加包含用于故障排除的信息的 <failure><error> 标签。例如:

<testcase classname="mcu.Full_MQTT" name="AFQP_MQTT_Connect_HappyCase"> <failure type="Failure">Reason for the test case failure</failure> <error>Reason for the test case execution error</error> </testcase>

有关更多信息,请参见 故障排除

查看日志

您可以在 devicetester-extract-location/results/execution-id/logs 中找到适用于 FreeRTOS 的 IDT 从测试执行生成的日志。它会生成两组日志:

test_manager.log

包含从适用于 FreeRTOS 的 IDT 生成的日志(例如,与配置和报告生成相关的日志)。

test_group_id__test_case_id.log(例如,FullMQTT__Full_MQTT.log

测试用例的日志文件,包括来自所测设备的输出。日志文件根据运行的测试组和测试用例命名。