このセクションの内容:
DOORS Next へのテスト データの送信
次の図は、DOORS Next 環境に Parasoft DTP および Parasoft テスト実行ツールを統合するための自動インフラストラクチャの実装方法を示しています。
- IBM DOORS 要件管理システムおよびテスト管理システムで要件またはテスト ケース定義を作成します。アイテムは、Parasoft ツールによって実行されるテストに関連付けられます。
- テスト ファイルで、
@test
または@req
アノテーションを使用して DOORS Next のテスト ケースまたは要件 ID を追加します。アノテーションの追加方法の詳細については、ご使用のツールのドキュメントを参照してください。@test <DOORS Next test ID>
アノテーションを使用して、テストを DOORS Next テスト管理システムに関連付けます。@req <DOORS Next System Requirements Specification ID>
アノテーションを使用して、テストを DOORS Next の要件に関連付けます。Parasoft は、テスト ケースと DOORS Next の要件の間に「検証者」/「検証対象」関係を作成します。- URL などの DOORS Next インターフェイスのさまざまな部分から作業アイテム ID を取得できます。
- CI プロセスの一部としてテストを実行します。IDE からテストを手動で実行することもできます。
- テスト実行の一環として、Parasoft テスト実行ツールはフィルターとビルド ID でテスト結果をタグ付けし、データを DTP に送信します。DTP ダッシュボードに テスト ウィジェット を追加し、フィルターとビルド ID を設定することにより、DTP で結果を確認できます。開発者は、テスト実行データを DTP から IDE にダウンロードして、失敗したテストに対処できます。
Sending Test Data to External System フローをデプロイした場合 (「Sending Test Data to External System フローのデプロイ」を参照)、Data Collector が Parasoft ツールからデータを受信すると、単体テストと機能テストの結果が DOORS Next に自動的に送信されます。デフォルトでは、フローは Data Collector が受信した任意のプロジェクトの単体テストおよび機能テストの結果をフォワードしますが、特定のプロジェクトのデータだけを送信するようフローを設定できます (「特定の DTP プロジェクトの結果を送信する」を参照)。
また、DTP REST API エンドポイントに POST リクエストを手動で送信して、DTP データベースから DOORS Next に結果を送信することもできます。API 呼び出しの DTP フィルターとビルド ID を URL パラメーターとして渡します。curl -X POST -u <username>:<password> "http://<host>:<port>/grs/api/v1.7/linkedApps/configurations/1/syncTestCases?filterId=<filterID>&buildId=<buildID>"
以下の表でエンドポイントのパラメーターについて説明します。
パラメーター 値 説明 必須 filterId
integer テスト データを含むフィルター IDを指定します。フィルター ID は整数値です。フィルター名と混同しないでください。 Required (必須) buildId
string テスト データを含むビルド ID を指定します。 Required (必須) groupResultsBySOAtestTST
boolean
true
に設定すると、SOAtest の結果が .tst ファイルでグループ化されます。その結果、1 つの .tst ファイルが 1 つの DOORS Next テストに関連付けられます。false
に設定すると、SOAtest.tst 内の各テストステップが DOORS Next テストに関連付けられます。デフォルトは
false
です。任意 フィルターおよびビルド ID は、テスト エクスプローラーの URL で利用できます。
DTP は、
filterId
パラメーターとbuildId
パラメーターに一致するテスト結果を見つけ、そのデータを DOORS Next の作業アイテムに送信します。- DTP は、
@test <ID>
で結果を見つけると、IBM Jazz Test Management で一致する ID を持つアイテムを検索し、そのアイテムを更新します。DOORS Next に単体テスト ケース ID が存在しない場合、アクションは実行されません。必要に応じて、アノテーションを使用して、テストを DOORS Next のテスト実行に関連付けます。 - DTP は
@req <ID>
で結果を見つけると、DOORS Next で一致する ID を持つアイテムを検索します。一致が見つかった場合、テスト実行レコードが要件に関連付けられたテスト ケースに追加されます。要件 ID にテスト ケースがない場合、テスト ケースが作成され、テスト実行レコードが追加されます。 - external-app.log ファイルも
<DTP_INSTALL>/logs
ディレクトリに書き込まれます。このログ ファイルには、DTP から DOORS Next へのテスト結果の送信に関する進捗情報が含まれています。
- DTP は、
DTP がレポートを処理し、結果を DOORS Next に送信した後、以下のような応答があります。
{ "createdTestSession": "DTPP-521", "created": [ "DTPP-519, testName = testBagSumAdd" ], "updated": [ "DTPP-519, testName = testBagSumAdd", "DTPP-518, testName = testBagSimpleAdd" ], "ignored": [ "MAGD-567, testName = testBagNegate", "QAP-512, testName = testTryThis3", "QAP-512, testName = testTryThis4", "MAGD-567, testName = testBagMultiply" ] }
特定の DTP プロジェクトの結果を送信する
Sending Test Data to External System フローを使用して単体テストおよび機能テストの結果を送信している場合、デフォルトでは、すべて DTP プロジェクトのデータが DOORS Next に送信されます。結果として、DOORS Next ID に一致するアノテーションを含むすべての DTP プロジェクトで収集されたテストを含むよう、作業アイテムが更新されます。ただし、特定のプロジェクトのデータだけを送信するよう、フローを設定することもできます。
- Extension Designer を開き、Sending Test Data がデプロイされたサービスを開きます。
- Toggle Projects Mode ノードをダブルクリックし、ドロップダウンの値を true に設定します。これにより、特定のプロジェクトにのみデータを送信する機能がオンになります。
- [完了] をクリックします。
Configure Projects ノードをダブルクリックします。このノードのロジックは、同期操作中に DOORS Next にデータを送信する DTP プロジェクトを指定します。これらのプロジェクト構成は、JSON 配列に格納されます。
例として、すでに定義されているプロジェクト構成のサンプルがあります。{ project: 'abc' }
さらにプロジェクト構成を追加するには、最後のプロジェクト構成の末尾にカンマを追加し、その下に新しいエントリを追加します。例:
msg.configuredProjects = [ { project: 'abc' }, { project: 'foobar' } ];
- 目的のプロジェクトを構成したら、[完了] をクリックします。
- [デプロイ] をクリックして、これらの変更を反映してフローを更新します。
フローを実行すると、指定した DTP プロジェクトのテスト結果だけが DOORS Next に送信されます。
DOORS Next での結果の表示
Parasoft DTP からテスト実行データを送信すると、DOORS Next で結果を表示できるようになります。テスト結果は、Jazz Test Management (/qm
) と DOORS Next 要件管理 (/rm
) の両方で表示されます。
下の画像は、Jazz Test Management (/qm
) のテスト計画を示しています。このテスト計画は、Parasoft DTP によって作成され (説明に自動的に記載)、/syncTestCases
API の 1 回の実行を表します。
このテスト計画にはテスト ケースが含まれています。各テスト ケースは、Parasoft DTP のテストに相当します。
テスト ケースをドリルダウンして詳細を表示できます。重要なトレーサビリティ情報は 2 つあります。
- Validates Requirements セクションには、要件へのトレーサビリティが表示されます。
ここでの要件へのリンクは、Parasoft テストで提供される
@req
情報に基づいて、Parasoft DTP/syncTestCases
によって自動的に作成されます。この領域へのリンクは、DOORS Next の要件の Validated By セクションにも作成されます。 - Test Case Execution Records セクションには、テスト ケースのテスト実行が表示されます。
このテスト ケース実行記録は、Parasoft ツールで実行されたこのテスト ケースと同等であることに注意してください。実行ステータス、日付、および実行の詳細を表示するための Parasoft DTP へのリンクが含まれています。