本主题说明如何关联代码和测试关联,以配置基于更改的测试和需求/缺陷的可追溯性。
对于使用的关联,您需要连接到 DTP(请参见连接 DTP)。
各节内容包括:
执行过程中关联代码
Checkin 时的相关性
相关需求或缺陷应在签入时注明。
- 需求:将文件提交到存储库中时,修订注释中包括以下文本(其中“ NNN”是需求 ID:@req NNN)。
- 缺陷:将文件提交到存储库中时,修订注释中包括以下文本(其中“ NNN”缺陷追踪 ID:@PR NNN)。
- 增强功能:将文件提交到存储库中时,修订注释中包括以下文本(其中“ NNN”功能请求 ID:@FR NNN)。
有关如何使用自定义标签标记缺陷的信息,请参见下面的使用自定义缺陷/问题跟踪标签。
关联 C++test 测试
Parasoft DTP 可以将单元测试用例与在错误跟踪系统或需求管理系统中定义的 Pr(问题报告)和 FR(功能请求)相关联。这使 DTP 可以跟踪每个项目是否具有关联的测试,以及该测试是否通过。
Parasoft C++test 测试关联
在 Parasoft C++test 中,您可以在测试名称或注释中指定关联。
使用测试名称
如果您希望 DTP 将测试用例与任务、需求、PR 和 FR 相关联,则在测试用例名称的末尾添加以下内容:
- _PRxxxxx - 将测试用例连接到问题报告 xxxxx。
- _FRxxxxx - 将测试用例连接到功能请求 xxxxx。
- _TASKxxxxx - 将测试用例连接到任务 xxxxx。
- _REQxxxxx - 将测试用例连接到需求 xxxxx。
例如,如果测试用例验证PR# 12345
已解决,则将其命名为 test_case_PR12345
。 如果一个测试用例验证了任务 #1 已正确执行,则您可以将其命名为test_case_TASK1
。
使用注释
要使用注释指示测试关联,请执行以下操作:
- 在 CPPTEST_TEST_CASE_BEGIN 和 CPPTEST_TEST_CASE_END 测试用例标记之间放置适当的注释。
支持以下标记:
- @PR
- @FR
- @TASK
- @REQ
- @ASSET
- @TEST
不要在注释行中包含其他代码,并且每行仅使用一种类型的标记。使用逗号或空格分隔标记。
例如,以下测试将与 PR 关联:123、 456 和 TASK 789.
/* CPPTEST_TEST_CASE_BEGIN test_foo */ // @PR 123, 456 // @TASK 789 void TestSuite::test_foo() { //test case body } /* CPPTEST_TEST_CASE_END test_foo */
有关如何使用自定义标记/标签标记缺陷的信息,请参见Using Custom Defect/Issue Tracking Tags。
注释
您可以使用自己喜欢的任何标记/标签,只要在首选项> 问题跟踪标签下将其指定为自定义标签即可。有关如何使用自定义标签标记缺陷的信息,请参见 Using Custom Defect/Issue Tracking Tags。
请使用自定义缺陷/问题跟踪标签
您可以自定义您的团队可用于将测试用例与问题/功能/缺陷跟踪系统中的问题相关联的标签(例如,Bugzilla)。这使您可以配置标签以匹配您的组织用于指代缺陷的语言。例如,某些组织使用术语"PR"来指代缺陷。 其他人则使用“缺陷”,因此宁愿使用自定义 @defect 标签而不是默认的 @pr 标签。
如果您不想使用默认的缺陷/问题跟踪标签,请为您想要使用的标签指定别名,如下所示:
- 选择 Parasoft> 首选项。
- 选择 Parasoft> 问题跟踪标签。
- 使用可用的控件添加、修改或删除标签。
- 标签后面是一个或多个值,这些值必须由单个字符串或由分隔符分隔的多个字符串表示。
- 分隔符标记值可以是逗号分隔的字符串列表和空格分隔的字符串列表的任何排列。
自定义示例 1
假设您的团队使用问题跟踪标签 @bugzilla 和 @defect(自定义问题跟踪标签)。
另外,假定以下 Javadoc 注释:
/** * @pr 2453, 462345 * @bugzilla 2342 * @defect 87766 */ void testFoo1() {}
以下 PR 属性将作为单独的项目发送到 Parasoft DTP:
2453
462345
2342
742725
87766
以下 FR 属性将作为单独的项目发送到 Parasoft DTP:
8766
996686776
示例 2
假定以下 Javadoc 注释:
/** * @pr 2453, 462345 2342 * 8766 996686776 - these numbers are not be counted as a part of @pr tag * @pr 87766 */ void testFoo1() {}
以下 PR 属性将作为单独的项目发送到 Parasoft DTP:
2453
462345
2342
742725
87766
示例 3
假设您的团队使用问题跟踪标签 @bugzilla 和 @defect(自定义问题跟踪标签)。
假定以下测试用例注释:
/* CPPTEST_TEST_CASE_BEGIN test_foo */ // @pr 123, 456 // @bugzilla 789 // @defect 1357 // @req 7799 void TestSuite::test_foo() { //test case body } /* CPPTEST_TEST_CASE_END test_foo */
以下 PR 属性将作为单独的项目发送到 Parasoft DTP:
123
456
789
1357
以下 REQ 属性将发送到 Parasoft DTP:
7799
链接到报告中的相关工件
如果您想要使报告链接到相关的工件,则您需要指定 URL 模板,这些模板解释如何格式化这些工件的链接。执行以下操作:
- 选择 Parasoft> 首选项。
- 选择 Parasoft> 问题跟踪标签。
- 在面板的顶部表格中,指定如何格式化每种工件类型的链接。示例:
- 映射@pr to http://bugzilla.company.com/show_bug.cgi?id=${id}表示 PR1024 的 URL 是 http://bugzilla.company.com/show_bug.cgi?id=1024
- 映射 @task to http://concerto.company.com:8080/grs/jsf/planning/task/edit_task.jsf?entityId=${id} 表示任务 1215 的 URL 为http://concerto.company.com:8080/grs/jsf/planning/task/edit_task.jsf?entityId=1215