このセクションでは、テスト/コードと開発成果物を関連付ける方法について説明します。
はじめに
タスク、機能リクエスト、要件などの開発成果物とテスト/コードを関連付け、テスト対象アプリケーションの品質の追跡を容易にできます。関連付けは、テスト コードに Javadoc に似たタグを追加し、開発成果物 ID を指定することで行います。C/C++test にはいくつかデフォルトのタグが含まれていますが、ニーズに合わせてカスタム タグを作成することもできます。
@req および @test タグは、アプリケーション ライフサイクルまたは要件管理システム (ALM/RMS) 内でテストから成果物へのトレーサビリティを可能にするための特別なタグです。Parasoft DTP および Traceability Pack extension for DTP も必要です。 Parasoft でのトレーサビリティの利用に関する詳細は、「要求ビューの操作」を参照してください。
このセクションでは、関連付けタグを適用するための基本的なプロセスを説明します。
デフォルト タグについて
以下のタグはデフォルトでサポートされます。
- @PR
- @FR
- @TASK
- @REQ - 要求トレーサビリティ ワークフローで利用できます
- @TEST - 要求トレーサビリティ ワークフローで利用できます
独自のタグの作成については「欠陥/課題のカスタム タグの使用」を参照してください。
コードでの関連付け
開発成果物とテスト/コードを関連付けるには、コードのコメントとしてタグを追加し、その後に成果物 ID を続けます。
- コメント行にはその他のコードを入れないでください。
- 1 行に 1 つのタグ タイプだけを使用します。
- 複数の成果物 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" という用語を使用し、別の組織は "欠陥" という用語を使用しているものとします。この場合、用語として "欠陥" を使用する組織は、デフォルトの @pr タグではなく カスタム タグの @defect を使用したいでしょう。
カスタム タグを指定するには、次の操作を行います。
- [Parasoft] メニューの [設定] をクリックします。
- [Parasoft] > [課題トラッキング タグ] を選択します。
- コントロールを使用して [User Issue Tracking Tags] テーブルのタグを追加、変更、削除します。
- タグの後には 1 つ以上の値が必要です。カンマまたは空白で区切られた 1 つ以上の文字列を指定してください。
- 個別のトークン値は、カンマ区切りの文字列のリストおよび空白区切りの文字列のリストの任意の組み合わせを使用できます。
関連付けられた成果物へのリンク
関連付けられた成果物に C/C++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://host.company.com:8080/grs/jsf/planning/task/edit_task.jsf?entityId=${id} にマッピングすることは、タスク 1215 の URL が http://host.company.com:8080/grs/jsf/planning/task/edit_task.jsf?entityId=1215であることを意味します。
例:
例 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