本主题介绍如何分析和处理 C/C++test 的测试执行结果。
章节目录:
查看报告的任务
测试执行后,C/C++test 会生成一个按错误类别和严重度整理的优先级任务列表。对于在 GUI 中运行的测试,在质量任务视图中按以下分类显示任务:
- 修复单元测试问题:此分类包含需要解决的明确单元测试问题,包括功能测试失败、意外异常和超时。
- 查看单元测试结果:此分类包含在自动测试用例生成期间创建的测试用例的未验证结果。当 C/C++test 使用尚未转换为断言的后置条件执行自动生成或用户定义的测试用例时,会报告未经验证的结果。结果可能是期望的行为,也可能表明存在问题。需要进一步审查和验证。 您可以验证结果反映了期望的行为,或者指定正确的结果。
对于在命令行界面运行的测试,在报告的测试生成和测试执行部分提供任务信息。根据将结果导入 UI 中所述导入到 IDE 中的结果也将出现在质量任务视图中。
查看触发任务报告的测试配置
您可以通过在质量任务视图中右键点击任务并选择查看测试配置来查看触发任务报告的测试配置。
在质量任务视图中快速访问测试配置,对于自定义测试并希望快速禁用不适用设置的团队架构师而言十分有用。从基于服务器的运行导入结果的开发人员可能还需要打开并审查触发任务报告的测试配置。
查看栈追踪
对于报告的每个单元测试问题,C/C++test·报告都会导致问题的测试用例的栈追踪信息。
若要查看栈追踪中引用的代码行,可双击显示行号的节点,或右键点击节点并从快捷菜单选择转到资源。编辑器将打开并突出显示指定的代码行。
查看后置条件
后置条件宏的结果(报告的所有断言值)在质量任务视图中显示。这些后置条件捕获测试中使用的测试对象或全局变量的状态。
任何具有报告的后置条件的测试用例都可以自动验证并用于回归测试。验证会将 *_POST_CONDITION_* 宏更改为断言,如果后续测试没有产生期望的(验证的)值,则断言失败。这对于自动生成遗留代码的回归基础特别有用。有关验证的详细信息,请参阅验证测试用例以进行回归测试。
了解和自定义任务严重度分类
在每个分类中,任务根据严重度列出,帮助您识别和关注最严重的问题。
如果想让质量任务视图显示每个任务的严重度,可前往质量任务视图中的下拉菜单,然后选择配置内容并设置为显示严重度
查看测试用例执行详情
测试用例浏览器能够帮助您管理项目的测试用例、测试套件和相关数据源。它提供了详细的测试统计数据(执行/通过/失败/跳过),并且可以用来搜索/过滤测试用例树结构。
默认情况下,测试用例浏览器在 UI 的左侧打开。如果 UI 中没有,可以选择 Parasoft> 显示视图> 测试用例浏览器打开。
有关测试用例浏览器的详细信息,请参阅浏览 C++test 用户界面。
查看测试用例详情
要查看测试用例详情,可启用测试用例浏览器菜单中的显示> 详情选项。
以下信息将显示在测试用例浏览器的树结构中:
- 关于被测函数的信息。该信息从 CPPTEST_TEST_CASE_CONTEXT 注释中收集,C/C++test 始终为自动生成的测试用例和通过测试用例向导创建的测试用例添加这些注释。
- 关于测试用例描述的信息。该信息从 CPPTEST_TEST_CASE_DESCRIPTION 注释中收集,C/C++test 始终为自动生成的测试用例(请参阅常规选项卡)和通过测试用例向导创建的测试用例(请参阅测试用例配置提示)添加这些注释。
- 关于测试执行详情的信息。根据具体的测试配置(请参阅执行选项卡设置 - 定义测试的执行方式),可能包括:
- 测试用例报告/消息
- 关于报告任务的信息(例如,异常、失败的断言、未验证的结果)
- 关于已检查和已传递断言的信息
打开测试或测试套件的源代码
要在测试用例浏览器中打开测试套件或测试用例的源代码,可以右键点击测试用例浏览器中的节点并选择打开。或者,也双击测试用例浏览器中的节点。
将测试用例浏览器节点与质量任务视图结果关联
要在测试用例浏览器中打开测试用例的测试结果(如果有),可右键点击测试用例浏览器中的节点并选择显示在任务中。您还可以执行反向操作——要查看与质量任务视图中的结果关联的测试用例浏览器节点,右键点击质量任务视图节点并选择显示在测试中。
查看数据源测试用例的结果
要查看关于执行的数据源测试用例的详细信息,可从测试用例浏览器菜单启用显示 > 数据源测试。C/C++test 将会显示数据源测试用例的每个执行迭代的信息。
树结构的数据源测试用例元素呈现关于执行的迭代的统计信息(例如,通过和失败的迭代数量)。针对数据源测试用例的所有父节点显示的统计信息还包括关于特定数据源测试用例迭代的信息。
获取可追溯性详细信息
有几种方法可以创建包含最大数量的单元测试执行和可追溯性信息的报告:
执行位置... | 执行步骤... |
---|---|
自动生成测试用例 |
|
使用测试用例向导创建测试用例 |
|
执行测试 |
|
生成报告 |
|
通过命令行生成报告 |
|
可追溯性报告提示
- 要报告来自测试用例的其他消息,可使用测试用例报告宏(请参阅测试用例报告宏)。
- 对于数据源测试用例,可以从数据源读取报告的消息。例如,
CPPTEST_REPORT_CSTR("Requirement number", CPPTEST_DS_GET_CSTR("req_no")) - 如果测试用例描述或测试用例消息包含有效的 URL(例如 http:// 或 ftp://),它们将作为链接添加到生成的 HTML 报告中。
应对报告的任务
不同类型的任务需要不同的应对策略。下表列出了 C/C++test 测试执行任务的分类以及有助于您理解和应对这些任务的章节链接。
利用快速修正 (R) 应对测试执行任务
快速修正 (R) 功能可用于自动执行在查看和响应单元测试任务时通常执行的操作。
使用快速修正应对执行测试结果的步骤:
- 在质量任务视图中找到详细的任务消息(带有行号的消息)。
- 如果在任务消息旁看到以下图标,表示可以使用快速修正来解决此任务:
- 如果在任务消息旁看到以下图标,表示可以使用快速修正来解决此任务:
- 右键点击任务消息,然后从快捷菜单中选择相应的快速修正选项。C/C++test 将执行指定的操作。
- 可用的快速修正选项在下文说明。
- 保存修改后的文件。
了解可用的快速修正选项
以下部分说明可用的快速修复方法。需注意,特定任务可用的快速修复取决于任务的性质。
断言失败快速修复
- 验证断言:表示当前值正确(并且该任务并不涉及功能问题)。
- 忽略断言:避免在后续测试中检查此断言。相关测试用例仍将运行。如果断言正在检查您不想检查的内容或随时间变化的内容(例如,检查某月中某一天的结果),则建议执行此操作。
- 移除测试用例:删除产生指定结果的测试用例——例如,如果您在查看测试结果时发现的无效测试用例。
未验证结果快速修复
- 验证结果:表示测试用例结果正确(并且该任务并不涉及功能问题)。
- 忽略结果:避免在后续测试中检查此结果。相关测试用例仍将运行。如果断言正在检查您不想检查的内容或随时间变化的内容(例如,检查某月中某一天的结果),则建议执行此操作。
- 移除测试用例:删除产生指定结果的测试用例——例如,如果您在查看测试结果时发现的无效测试用例。
处理报告的大量任务(例如,在测试遗留代码后)
如果要对报告的多个问题应用相同的操作:
- 选择要应用相应操作的问题。
- 右键点击所选问题,然后选择所需应对方式的命令(例如,验证所有的结果)。
生成测试执行细节报告
测试执行细节报告是可以从常规报告中生成的附加报告。该报告包含以下内容的详细信息:
- 被测文件
- 用于构建自动化测试框架的工具链
- 其他配置文件
- 测试套件
- 测试用例(包括测试用例定义和测试用例执行日志部分)
详细信息请参阅生成测试执行细节报告。