本主题说明如何将测试/代码与开发工件相关联。

说明

您可以将您的测试/代码与开发工件(例如任务、功能请求或需求)相关联,以帮助您跟踪被测应用程序的质量。通过向测试代码添加类似 Javadoc 的标记并指定开发工件 ID 来建立关联。C/C++test 包含多个默认标签,但您可以创建自定义标签以满足您的需求。 

@req 和 @test 是 C/C++test 中的特殊标记,用于实现从测试到应用程序生命周期或需求管理系统(ALM/RMS)中工件的可追溯性。另外还需要 Parasoft DTP 和 DTP 的 Traceability Pack 扩展。 

本章介绍了应用关联标签的基本过程。

关于默认标签

默认支持以下标签:

  • @PR
  • @FR
  • @TASK
  • @REQ - 可用于需求可追溯性工作流程
  • @TEST- 可用于需求可追溯性工作流程

有关创建自定义标签的详细信息,请参阅使用自定义缺陷/问题跟踪标签

在代码中创建关联

您可以通过在代码中添加标签并紧跟工件 ID 作为注释,将测试/代码与开发工件关联。

  • 不要在注释行中包含其他代码。
  • 在一行中仅使用一种标记类型。
  • 使用逗号或空格字符来分隔多个工件 ID。

示例:

//@REQ 987 333
//@TASK 543, 123
/**
* @req 2453, 198
* @task 2342 156 444
*/

为测试用例创建关联时,请确保将注释添加在测试用例 CPPTEST_TEST_CASE_BEGIN 和 CPPTEST_TEST_CASE_END 标记之间。

示例:

/* CPPTEST_TEST_CASE_BEGIN test_foo */
// @FR 903, 555
// @TASK 781
void TestSuite::test_foo()
{
	//test case body
}
/* CPPTEST_TEST_CASE_END test_foo */

在检入期间创建关联

在将文件检入源码控制系统时,您可以将测试/代码与开发工件相关联。在提交注释中包含标签和工件 ID 以将文件与工件关联,例如:

git commit -m "@pr ABC-123"

使用测试名称创建关联

另外一种使用标签的方法是通过将工件 ID 作为后缀添加到测试用例的名称中,将测试用例与开发工件关联,格式如下:

<test case name>_<tag><ID>

在以下示例中,已解决测试用例验证错误 3636 :

test_case1_PR3636

使用自定义缺陷/问题跟踪标签

您可以自定义团队使用的标签,以将测试用例与来自 ALM、缺陷或需求跟踪系统(例如 codeBeamer、Jira、VersionOne 等)中的工作项关联。这样即可配置标签以匹配您的团队用于指代缺陷的语言。例如,一些团队使用“PR”来指代缺陷。其他使用“缺陷”的团队则倾向于使用自定义的 @defect 标签而不是默认的 @pr 标签。

指定自定义标签的步骤:

  1. 选择 Parasoft>首选项
  2. 选择 Parasoft> 问题跟踪标签
  3. 使用可用控件在用户问题跟踪标签表格中添加、修改或删除标签。
    • 标签后面跟随一个或多个值,这些值必须由单个字符串或由分隔符分隔的多个字符串表示。
    • 分隔符标记的值可以是逗号分隔的字符串列表和空格分隔的字符串列表的任何排列。

链接到报告中的相关工件

如果您希望将 C/C++test 报告链接到相关工件,您需要指定 URL 模板,说明如何设置这些工件链接的格式。执行以下操作:

  1. 选择 Parasoft>首选项
  2. 选择 Parasoft> 问题跟踪标签
  3. 在面板顶部的表格中,指定如何格式化每种工件类型的链接。示例:

示例

示例1

此示例假设您的团队正在使用自定义问题跟踪标签 @bugzilla 和 @defect。

/**
* @pr 2453, 462345
* @bugzilla 2342
* @defect 87766
*/
void testFoo1() {}

以下 PR 属性将发送到 Parasoft DTP:

2453
462345
2342
87766

示例 2

/**
* @pr 2453, 462345 2342
* 8766 996686776 - these IDs are ignored, because they are not preceded by a tag on the same line
* @pr 87766
*/

以下 PR 属性将发送到 Parasoft DTP:

2453
462345
2342
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
7799

  • No labels