Polarion へのテスト データの送信
次の図は、Polarion ALM 環境に Parasoft DTP および Parasoft テスト実行ツールを統合するための自動インフラストラクチャの実装方法を示しています。
- Parasoft C/C++test、dotTEST、Jtest によって実行されるテストに関連付けられる作業アイテムを Polarion ALM で作成します。
- テスト ファイルで、
@test
または@req
アノテーションを使用して Polarion のテスト ケースまたは要件 ID を追加します。アノテーションの追加の詳細については、C/C++test、dotTEST、または Jtest のドキュメントを参照してください。@test <Polarion unit test case ID>
アノテーションを使用して、テストを Polarion の単体テスト ケースと関連付けます。@req <Polarion software/system requirement ID>
アノテーションを使用して、テストを Polarion のソフトウェア要件またはシステム要件と関連付けます。- Polarion の単体テスト ケースまたは 要件 ID は、URL などのいくつかの Polarion インターフェイスで利用できます。
- CI プロセスの一部としてテストを実行します。C/C++test デスクトップからテストを手動で実行することもできます。
- テスト実行の一環として、C/C++test はフィルターとビルド ID でテスト結果をタグ付けし、データを DTP に送信します。DTP ダッシュボードに テスト ウィジェット を追加し、フィルターとビルド ID を設定することにより、DTP で結果を確認できます。C/C++test 開発者は、テスト実行データを DTP から IDE にダウンロードして、失敗したテストに対処できます。
Sending Test Data to External System フローをデプロイした場合 (「Sending Test Data to External System フローのデプロイ」を参照)、Data Collector が Parasoft ツールからデータを受信すると、単体テストと機能テストの結果が Polarion に自動的に送信されます。デフォルトでは、フローは Data Collector が受信した任意のプロジェクトの単体テストおよび機能テストの結果をフォワードしますが、特定のプロジェクトのデータだけを送信するようフローを設定できます (「Sending Results from a Specific DTP Project」を参照)。
また、DTP REST API エンドポイントに POST リクエストを手動で送信して、DTP データベースから Polarion に結果を送信することもできます。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>"
フィルターおよびビルド ID は、テスト エクスプローラーの URL で利用できます。
- DTP は、
filterId
パラメーターとbuildId
パラメーターに一致するテスト結果を見つけ、そのデータを Polarion の単体テスト ケースまたは要件に送信します。次の応答を受け取るはずです。DTP は、
@test <ID>
で結果を見つけると、Polarion で一致する ID を持つ単体テスト ケースを検索し、アイテムを更新します。Polarion に単体テスト ケース ID が存在しない場合、アクションは実行されません。DTP は、
@req <ID>
で結果を見つけると、Polarionで一致する ID を持つ要件を検索し、関連する子単体テスト ケースを更新します。要件 ID に一致する単体テスト ケースが存在しない場合、単体テスト ケースが作成されます。要件 ID が見つからない場合も、単体テスト ケースが作成されます。- external-app-sync.log ファイルも
<DTP_INSTALL>/logs
ディレクトリに書き込まれます。このログ ファイルには、DTP から Polarion へのテスト結果の送信に関する進捗情報が含まれています。
DTP がレポートを処理し、結果を Polarion に送信した後、以下のような応答があります。
{ "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 プロジェクトのデータが Polarion に送信されます。結果として、Polarion ID に一致するアノテーションを含むすべての DTP プロジェクトで収集されたテストを含むよう、作業アイテムが更新されます。ただし、特定のプロジェクトのデータだけを送信するよう、フローを設定することもできます。
- Extension Designer を開き、Sending Test Data がデプロイされたサービスを開きます。
- Toggle Projects Mode ノードをダブルクリックし、メニューの値を true に設定します。これにより、特定のプロジェクトにのみデータを送信する機能がオンになります。
- [完了] をクリックします。
Configure Projects ノードをダブルクリックします。このノードのロジックは、同期操作中に Azure DevOps にデータを送信する DTP プロジェクトを指定します。これらのプロジェクト構成は、JSON 配列に格納されます。
例として、すでに定義されているプロジェクト構成のサンプルがあります。{ project: 'abc' }
さらにプロジェクト構成を追加するには、最後のプロジェクト構成の末尾にカンマを追加し、その下に新しいエントリを追加します。例:
msg.configuredProjects = [ { project: 'abc' }, { project: 'foobar' } ];
- 目的のプロジェクトを構成したら、[完了] をクリックします。
- [デプロイ] をクリックして、これらの変更を反映してフローを更新します。
フローを実行すると、指定した DTP プロジェクトのテスト結果だけが Polarion に送信されます。
Polarion での結果の表示
テスト データが Polarion に正常に送信されると、Polarion で結果を表示できるようになります。
Polarion レポートをさらに展開して、作成者、場所、実行時間など、テストに関する詳細情報を表示できます。Polarion レポートの詳細については、Polarion のドキュメント を参照してください。