本主题介绍如何分析和处理 C/C++test 的测试执行结果。

内容包括:

查看报告的任务

执行完测试后,C/C++test 会生成按错误类别和严重性组织的优先任务列表。对于在 GUI 中运行的测试,【质量任务】视图中的任务分为以下类别:

  • 解决单元测试问题:此类包含需要解决的明确的单元测试问题,包括功能测试失败,意外的异常和超时。
  • 审查单元测试结果:此类别包含在自动测试用例生成期间创建的测试用例的未验证结果。当 C/C++test 使用尚未转换为断言的后置条件执行自动生成的或用户定义的测试用例时,将报告未验证的结果。结果可能是预期的行为,或者可能指示问题。需要进一步审查和验证。  如果您确定结果反映了预期的行为,请进行验证。如果不是,则指定正确的结果。

对于从命令行界面运行的测试,在报告的测试生成 测试执行 部分中报告任务。如所述将结果导入用户界面 导入到您的 IDE 的结果也将出现在【质量任务】视图中。

查看触发任务的测试配置

您可以通过右键单击【质量任务】视图中的任务并选择查看测试配置来查看触发任务的【测试配置】。

从【质量任务】视图快速访问测试配置对于正在自定义测试并希望快速禁用不适用设置的组架构师很有用。从基于服务器的运行中导入结果的开发人员可能还需要打开并查看触发任务的测试配置。

查看堆栈跟踪

对于报告的每个单元测试问题,C/C++test 报告导致问题的测试用例的堆栈跟踪。

要查看堆栈跟踪中引用的代码行之一,请双击显示行号的节点,或者右键单击该节点,然后从快捷菜单中选择转到。 然后,编辑器将打开并突出显示指定的代码行。

查看后置条件

后置条件宏的结果(报告的所有断言值)将显示在【质量任务】视图中。些后置条件捕获测试中使用的测试对象或全局变量的状态。

具有报告的后期条件的任何测试用例都可以自动验证是否可用于回归测试。验证会将 *_POST_CONDITION_* 宏更改为断言,如果后续测试未生成预期的(验证的)值,则断言将失败。这对于自动生成遗留代码的回归基础特别有用。有关验证的详细信息,请参见 验证测试用例以进行回归测试

了解和自定义任务严重性分类

在每个类别中,任务均按照严重性进行组织,以帮助您识别和关注最严重的问题。

如果要【质量任务】视图显示每个任务的严重性,请转到【质量任务】视图中的下拉菜单,然后选择配置内容并将其设置为显示严重性

查看测试用例执行详细信息

测试用例浏览器可帮助您托管项目的测试用例,测试套件和相关数据源。它提供了详细的测试统计信息(执行/通过/失败/跳过),并允许您搜索/过滤测试用例树。

默认情况下,【测试用例浏览器】在用户界面的左侧处于打开状态。如果不可用,可以通过选择 Parasoft> Show View> Test Case Explorer打开它。

有关【测试用例浏览器】的详细信息,请参见浏览 C++test 用户界面

查看测试用例详细信息

要查看测试用例的详细信息,请从【测试用例浏览器】菜单中启用显示> 详细信息选项。 

以下信息将显示在【测试用例浏览器】树中:

  • 有关测试函数的信息。此信息是从 CPPTEST_TEST_CASE_CONTEXT 注释中收集的,对于自动生成的测试用例和使用【测试用例向导】创建的测试用例,C/C++test 始终会添加该注释。
  • 有关测试用例说明的信息。此信息是从 CPPTEST_TEST_CASE_DESCRIPTION 注释中收集的,C/C++test 始终为自动生成的测试用例(请参见常规选项卡)和使用“测试用例向导”创建的测试用例 (请参见 测试用例配置提示)添加该注释。
  • 有关测试执行详细信息的信息。根据测试配置(请参见执行选项卡设置-定义测试的执行方式),可以包括:
    • 测试案例报告/报文
    • 有关已报告任务的信息(例如,异常、断言失败、结果未经验证)
    • 有关检查和传递的断言的信息

打开测试或测试套件的源代码

要在【测试用例浏览器】中打开测试套件或测试用例的源代码,请右键单击其【测试用例浏览器】节点,然后选择打开。或者,双击其【测试用例浏览器】节点。


将【测试用例浏览器】节点与【质量任务】视图结果相关联

要在【测试用例浏览器】中打开测试用例的测试结果(如果可用),请右键单击其【测试用例浏览器】节点,然后选择 在质量任务中显示。您还可以执行相反的操作—在【质量任务】视图中查看与结果相关的【测试用例浏览器】节点,请右键单击【质量任务】视图节点,然后选择在测试中显示

审查数据源测试用例的结果

要查看有关已执行的数据源测试用例的详细信息,请从【测试用例浏览器】菜单中启用 显示 > 数据源 测试。这将使 C/C++test 显示有关数据源测试用例的每个已执行迭代的信息。

树的数据源测试用例元素提供有关已执行迭代的统计信息(例如,已通过和失败的迭代数)。为数据源测试用例的所有父节点显示的统计信息还包括有关特定数据源测试用例迭代的信息。

获取可追溯性详细信息

有几种方法可以创建包含最大数量的单元测试执行和可追溯性信息的报告:

从这里...执行以下步骤...
自动生成测试用例
  1. 测试配置> 生成> 常规> 测试用例说明字段中提供测试用例说明。
  2. 启用 测试配置>生成>测试用例>插入代码以报告测试用例的输入和输出
使用【测试用例向导】创建测试用例
  1. 提供测试用例说明。
  2. 启用 插入代码以报告测试用例的输入和输出
执行测试
  1. 启用 测试配置 > 执行 > 运行时 > 报告单元测试执行详细信息
  2. 启用 测试配置 > 执行 > 运行时 > 包括任务详细信息
  3. 启用 测试配置 > 执行 > 运行时 > 包括传递的断言详细信息
生成报告
  1. 启用 Parasoft > 首选项 > 报告 > 已检查文件和已执行测试的概述
  2. 选择 HTML(C++ test 的单元测试详细信息) 作为报告格式。
从命令行生成报告
  1. 在localsettings文件中设置report.contexts_details=true选项以启用“执行的测试用例”部分。
  2. 在 localsettings 文件中设置report.format=html_ut_details 选项以设置报告格式。

可追溯性报告提示

  • 要报告来自测试用例的其他报文,请使用测试用例报告宏(请参见测试用例报告宏)。
  • 对于数据源测试用例,可能会从数据源读取报告的报文。例如,
    CPPTEST_REPORT_CSTR("Requirement number", CPPTEST_DS_GET_CSTR("req_no"))
  • 如果测试用例说明或测试用例报文包含有效的 URL(例如http:// 或 ftp://),它们将作为链接添加到生成的 HTML 报告中。



响应报告的任务

不同类型的发现需要不同的应对策略。下表列出了用于对 C/C++test 的测试执行结果进行分类的类别,并链接到有助于您理解和响应它们的部分。

类别子类别说明和建议的回应
解决单元测试问题断言失败参见 断言失败超时
运行时异常参见 运行时异常
审查单元测试结果未验证的结果参见 未验证的结果

使用快速修复(R)响应测试执行结果

快速修复(R)功能可用于自动执行通常在检查和响应单元测试结果时执行的操作。

要使用【快速修复】来响应测试执行结果:

  1. 在【质量任务】视图中找到详细的任务消息(带有行号的消息)。
    • 如果在任务消息旁边看到以下图标,则表明您可以使用快速修复来解决此任务:
  2. 右键单击该任务消息,然后从快捷菜单中选择适当的【快速修复】选项。然后 C/C++test 将执行指定的操作。
    • 可用的快速修复选项如下所述。
  3. 保存修改后的文件。

了解可用的快速修复选项

以下部分说明了可用的快速修复。请注意,可用于特定任务的快速修复取决于任务的性质。

断言失败快速修复

  • 验证断言:表示当前值正确(发现不表示函数问题)。
  • 忽略断言:防止在后续测试中检查此断言。相关的测试用例仍将运行。如果断言正在检查您不想检查的内容或随时间变化的内容(例如,检查一个月中某天的结果),则建议采取此操作。
  • 移除测试用例: 删除产生给定结果的测试用例,例如,如果您正在查看测试结果并看到测试用例无效,则将其删除。

未验证的结果快速修复

  • 验证结果:表示测试用例的结果是正确的(并且发现并不表示函数问题)。
  • 忽略结果:防止在后续测试中检查此结果。相关的测试用例仍将运行。如果断言正在检查您不想检查的内容或随时间变化的内容(例如,检查一个月中某天的结果),则建议采取此操作。
  • 移除测试用例: 删除产生给定结果的测试用例,例如,如果您正在查看测试结果并看到测试用例无效,则将其删除。

处理大量报告的任务(例如,在测试旧版代码之后)

如果要对多个报告的问题应用相同的操作:

  1. 选择您要应用该操作的问题。
  2. 右键单击所选内容,然后选择所需响应的命令(例如,验证所有结果)。

生成测试执行详细信息报告

【测试执行详细信息】报告是可以从常规报告中生成的其他报告。它包含有关以下信息的详细信息:

  • 关于测试文件
  • 用于构建测试工具的工具链
  • 其他配置文件
  • 测试套件
  • 测试用例(包括【测试用例定义】和【测试用例执行日志】部分)

 有关详细信息,请参见生成测试执行详细信息报告

  • No labels