このセクションでは、Project Center を介して変更ベースのテストと要求/欠陥のトレーサビリティを設定するために、コードとテストを関連付ける方法について説明します。
Project Center で関連付けを利用するために、「Project Center との接続」で説明されているように Parasoft Test を Parasoft Concerto に接続する必要があります。
このセクションの内容:
実装中のコードの関連付け
チェックイン時の関連付け
関連する要求、欠陥、または改善によってコードが Project Center タスクに関連付けられていない場合は、チェックイン時に関連付けるべきです。リポジトリにファイルをコミットするときに、リビジョン コメントに次のテキストを入力します。
- 要求の場合: @req NNN (NNN は要求 ID)
- 欠陥の場合: @PR NNN (NNN は欠陥トラッキング ID)
- 改善の場合: @FR NNN (NNN はフィーチャー リクエスト ID)
欠陥をマークするためにカスタム タグを使用する方法については 「欠陥/課題のカスタム タグの使用」を参照してください。
C++test テストとの関連付け
Parasoft DTP は、バグ トラッキング システムや要求管理システムで定義された PR (問題レポート) と FR (フィーチャー リクエスト) に単体テスト ケースを関連付けることができます。そのため、ユーザーは Project Center を使って、各アイテムに関連するテストがあるか、テストが成功しているか失敗しているかを追跡することができます。
Parasoft DTP では、変更ベースのテストも実行できます。つまり、コードが変更された後に、このコードを検証するために再実行が必要なテストを Parasoft DTP は特定できます。Parasoft DTP は、マークされたテスト ケースの実行時にアクセスされるコードを特定し、このコードを指定のタスク、欠陥、要求と関連付けます。
Parasoft C++test テストとの関連付け
C++test ではテスト名またはコメントで関連付けを指定することができます。
テスト名の使用
Parasoft Report Center でテスト ケースとタスク、要求、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
コメントの行に他のコードを含めてはいけません。また、マーカーは 1 行につき 1 種類だけ使用してください。マーカーを区切るにはカンマまたは空白を使用します。
たとえば、次のテストは PR: 123, 456 および タスク 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 */
カスタム タグを使って欠陥をマークする方法については、「欠陥/課題のカスタム タグの使用」 を参照してください。
注意
[設定] > [課題トラッキング タグ] で指定されているタグであれば、ユーザーはどのタグでも使用することができます。詳細については 「欠陥/課題のカスタム タグの使用」 を参照してください。
欠陥/課題のカスタム タグの使用
Parasoft Test では、Bugzilla などの課題/フィーチャー/欠陥 トラッキング システムの課題とテスト ケースを関連付けるために使用するタグをカスタマイズすることができます。この機能を利用すると、欠陥を表す言語に合わせてタグを設定できます。たとえば、ある組織は欠陥を表すために "PR" という用語を使用し、別の組織は "欠陥" という用語を使用しているものとします。この場合、用語として "欠陥" を使用する組織は、デフォルトの @pr タグではなく カスタム タグの @defect を使用したいでしょう。
デフォルトのタグは @pr と @bugzilla です。
デフォルトの欠陥/課題トラッキング タグ (@pr および @bugzilla) を使用したくない場合、タグの別名、つまりカスタム タグを指定できます。次の操作を行います。
- [Parasoft] メニューの [設定] をクリックします。
- [Parasoft] > [課題トラッキング タグ] を選択します。
- タグを追加、変更、削除します。
- タグの後には 1 つ以上の値が必要です。カンマまたは空白で区切られた 1 つ以上の文字列を指定してください。
- セパレーター トークンの値は、カンマ区切りの文字列のリストおよび空白区切りの文字列のリストを任意に組み合わせることができます。
例 1
課題トラッキング タグ @bugzilla および @defect を使用しているものとします ( @defect は Parasoft Test で設定されているカスタム課題トラッキング タグです)。
次の Javadoc コメントがあるものとします。
/** * @pr 2453, 462345 * @bugzilla 2342 * @defect 87766 */ void testFoo1() {}
次の PR プロパティが (別の項目として) Parasoft Concerto に送られます。
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 を使用しているものとします ( @defect は Parasoft Test で設定されているカスタム課題トラッキング タグです)。
以下のテスト ケース コメントがあるものとします。
/* 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 Concerto に送られます。
123
456
789
1357
次の REQ プロパティが Parasoft DTPに送られます。
7799
関連付けられた成果物へのリンク
関連付けられた成果物に Parasoft Test レポートをリンクするには、成果物へのリンクの書式を表す URL テンプレートを指定する必要があります。
- [Parasoft] メニューの [設定] をクリックします。
- [Parasoft] > [課題トラッキング タグ] をクリックします。
- 上側の表で個々の成果物タイプについてリンクの書式を指定します。
例: - @pr を http://bugzilla.company.com/show_bug.cgi?id=${id} にマッピングすることは、PR1024 の URL が http://bugzilla.company.com/show_bug.cgi?id=1024 であることを意味します。
- @task を 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 であることを意味します。