このセクションの内容:
Table of Contents | ||
---|---|---|
|
はじめに
Azure DevOps は、Microsoft の SaaS (Software as a service) プラットフォームであり、ソフトウェアの開発・デプロイのためのエンドツーエンドの DevOps プログラミング ツールを提供します。DTP を Azure DevOps Server Express および Azure DevOps Server に接続することで、以下の機能が提供されます。
- 違反エクスプローラーとテスト エクスプローラーから Azure DevOps で手動で欠陥を作成する機能。
- Azure DevOps のシステム要件で Parasoft のテスト結果を送信、表示、および更新する機能 (「Sending Test Data to Azure DevOps」を参照)。
- Azure DevOps のトレーサビリティ レポートを使用してトレーサビリティを追跡することを計画しているユーザー向け。これを行うには、最初に Parasoft DTP から Azure DevOps にテスト結果を送信する必要があります。
- テスト、静的解析結果、コード レビューを Azure DevOps の要件から追跡する機能 (「Viewing Results in Azure DevOps」を参照)。
- Parasoft DTP のトレーサビリティ レポートを使用してトレーサビリティを追跡することを計画しているユーザー向け。これを行うには、@req を使用して、Parasoft の自動テストを Azure DevOps 要件に関連付けます。
設定
この設定は、Parasoft 管理者が一度だけ行う必要があります。
...
- 設定ドロップダウン メニュー (歯車のアイコン) から [Report Center 設定] を選択します。
- [External System] を選択して [設定の編集] をクリックし、[システム タイプ] ドロップダウンメニューから Azure DevOps を選択します。
- [Enabled] オプションを有効化します。
- [名前] フィールドにサーバー名を入力します。名前は必須ですが、接続設定に影響したり、他のインターフェイスで表示されたりすることはありません。
- [アプリケーション URL] フィールドに Azure DevOps システムの URL を入力します。Azure DevOps のコレクション名を含める必要があります。
- [表示 URL] フィールドは、Azure DevOps システムへのリンクが Web ブラウザーに表示されるときに Parasoft DTP ページに表示される URL を定義します。通常、これは上記のアプリケーション URL フィールドと同じである必要があります。ただし、たとえば、リバース プロキシ環境で作業していて、Parasoft DTP を使用するユーザーのローカル Web ブラウザーから Azure DevOps へのリンクが Parasoft DTP サーバーとは異なる場合は、違うことがあります。(例: https://dev.azure.com/{yourorganization})
- ユーザー名と Azure DevOps APIトークンを適切なフィールドに入力します。(以下の「Azure DevOpsトークンの生成」を参照してください。)ログインには、[プロジェクトの関連付け] セクションで指定されたプロジェクトで Azure DevOps の課題を作成するのに十分な権限が必要です。
- [接続のテスト] をクリックして設定を確認し、[確認] をクリックします。
Azure DevOps トークンを生成する
Azure DevOps (
https://dev.azure.com/{yourorganization}
) で自分の組織にサインインします。ホームページからユーザー設定を開き、[Personal Access Tokens] を選択します。
- [+New Token] を選択します。
- トークンに名前を付け、トークンを使用する組織を選択してから、トークンの有効期間を選択します。
このトークンのスコープを選択して、特定のタスクを承認します。
- [Scopes] で [Custom defined] を選択します。
- [Show all scopes] をクリックします。
- [Test Management] を選択し、[Read & write] を有効にします。
- [Tokens] を選択し、[Read & manage] を有効にします。
- [Work items] を選択し、[Read, write, & manage] を有効にします。
- [保存] をクリックします。
- 完了したら、必ずトークンをコピーしてください。セキュリティ上の理由から、再度表示されることはありません。このトークンをパスワードとして使用します。
個人用アクセス トークンが作成されると、Azure DevOps での認証にユーザー資格情報が必要な場所ならどこでも使用できます。
...
Azure DevOps に保存された要件と、Parasoft ツール (C/C++test、dotTEST、Jtest) から DTP に送信されたテスト データ、静的解析データ、ビルド レビュー データとの間のトレーサビリティを実証するのに役立つウィジェットとレポートを生成するように、DTP を構成できます。
Traceability Report にコード レビューと静的解析情報を含める場合は、ソース コード ファイルを Azure DevOps の要件に関連付ける必要があります。このオプション機能を有効にする手順については 「要件とファイルの関連付け」を参照してください。
Traceability Pack に同梱されている External System Traceability Report アーティファクトをデプロイすることで、トレーサビリティを表示および追跡する DTP インターフェイスが有効になります。Traceability Pack には、トレーサビリティ ワークフローの一部を自動化する Sending Test Data to External System フローも含まれています。
DTP Extension Designer を使用して、External System Traceability Report および Sending Test Data to External System フローを環境にデプロイします。アーティファクトをデプロイする前に、「DTP を Azrue DevOps に接続する」で説明されているように、DTP が Azure DevOps に接続されていることを確認します。
Traceability Pack をインストールする
最初のステップは、 Traceability Pack アーティファクトをインストールすることです。このアーティファクトは、トレーサビリティを可能にする構成ファイルとアセットの集合です。
- 設定メニュー (歯車のアイコン) から [Extension Designer] を選択します。
- [構成] タブをクリックしてアーティファクト マネージャーを開きます。
- [アーティファクトの追加] をクリックし、traceability-pack-<version>.zip アーカイブを参照します (「アーティファクトのダウンロードとインストール」も参照)。
- [インストール] をクリックすると、トレーサビリティを有効にするためのアセットと構成ファイルの集合がインストールされます。
詳細設定
<DTP_DATA_DIR>/conf ディレクトリにある ExternalSystemSettings.properties 構成ファイルを変更して、統合のデフォルトの動作を変更できます。すぐに利用できる DTP と Azure DevOps の統合は、デフォルトまたは一般的に使用されるフィールドと作業アイテム タイプを使用するように構成されています。ただし、Azure DevOps システムをカスタマイズしている場合は、次の設定を行って、DTP のデータをカスタム構成に合わせることができます。
...
AzureDevOps の特定の項目への URL テンプレートを指定します。
デフォルト:
azuredevops.workItem.url=<AZUREDEVOPS_URL>/<PROJECT>/_workitems/edit/<ID>
...
azuredevops.workItemType.requirements
...
DTP トレーサビリティ レポート、Parasoft C/C++ および SOAtest の [要件] ビュー、およびテストケースの同期処理で要件として扱われる Azure DevOps の作業項目タイプのリストを指定します。名前はセミコロン (;) で区切ります。
デフォルト:
azuredevops.workItemType.requirements=Product Backlog Item;User Story;Requirement
...
syncTestCases 操作中に Azure DevOps サーバーを呼び出すときに、リクエストの URL で使用する作業項目の最大数を設定します。すべての結果が同期されますが、URL の長さ制限などの API 制限を処理するために、サーバーへの各リクエストのサイズが制限されます。デフォルト値は 200 です。
デフォルト:
azuredevops.syncTestCases.chunkSize=200
Note |
---|
2021.2 以前のバージョンから Parasoft DTP をアップグレードした場合、これらの Azure DevOps パラメーターが ExternalSystemSettings.properties ファイルにない可能性があります。その場合、上記の表にあるデフォルト値が使用されます。これらのパラメーターを変更するには、必ずパラメーターを ExternalSystemSettings.properties ファイルに追加してください。 |
要件
次の要件は、テスト結果を Azure DevOps に送信する場合にのみ適用されます。
- 次の Parasoft ツールが実行するテストがサポートされていること:
- C/C++test Professional、dotTEST、Jtest 10.4.3 以降
- Selenic 2020.1 以降
- SOAtest 9.10.8 以降
- Azure DevOps で要件を作成済みである必要があります。
使用方法
Azure DevOps との統合を設定した後、開発者、テスター、およびその他のユーザーは、統合によって実現される機能を活用できます。
Azure DevOps で作業項目を手動で作成する
テスト エクスプローラー ビューと違反エクスプローラー ビューを使用すると、ステータスに関係なく、テストと違反に対してそれぞれ課題と欠陥を作成できます。テスト エクスプローラーまたは違反エクスプローラーで Azure DevOps アセットを作成する方法については、以下のセクションを参照してください。
- 違反エクスプローラーから Azure DevOps の作業項目を手動で作成する方法については、違反エクスプローラーのページの「サードパーティ システムでの課題の作成」を参照してください。
- テスト エクスプローラーから Azure DevOps の作業項目を手動で作成する方法については、テスト エクスプローラーのページの「サードパーティ システムでの課題の作成」を参照してください。
...
次の図は、Azure DevOps 環境に Parasoft DTP および Parasoft テスト実行ツールを統合するための自動インフラストラクチャの実装方法を示しています。
...
title | テスト計画を立てる |
---|
Azure ユーザー設定要件:Parasoft DTP がテスト結果を Azure DevOps に送信できるようにするには、ユーザー アクセス レベルに Azure DevOps の「テスト計画」を含める必要があります。この設定は、Parasoft DTP がテスト結果を Azure DevOps に送信する際にテスト計画を作成するために必要です。
...
ローカル版の Azure DevOps でテスト計画を設定するには、次のことを行う必要があります。
- Azure DevOps サイトで [Access levels] をクリックします。
- Basic + Test Plans を選択します。
- [+ Add] をクリックします。
- [User or Group] フィールドにユーザー名を入力し、返されたリストからその名前を選択します。
- [Save changes] をクリックします。Basic + Test Plan のアクセス権限を持つユーザーが [Display name] 列に追加されます。
Azure DevOps でクラウド用のテスト計画を設定するには、次のことを行う必要があります。
- Azure DevOps サイトで [Organization settings] をクリックします。
- [Billing] を選択します。
- Basic + Test Plans を選択します。
- [Users] を選択します。
- ユーザーのアクセス レベルを変更します。
- アクセス レベルとして [Basic + Test Plans] を選択します。
テスト データを Azure DevOps に送信するには:
...
テストファイルで、以下のアノテーション形式を使用して、Azure DevOps システムの要件 ID をテストにマッピングします。
Azure DevOps でトレーサビリティ結果を見るために独自のテストケース定義を作成していないユーザーの場合は、@req を使用します。
...
* 次のアノテーションは、テストを要件にマッピングします。
*
@req
<<Azure DevOps ID> >
@TEST
...
Parasoft で @req を使用し、Parasoft DTP から Azure DevOps への結果の送信をトリガーします。
Azure DevOps で独自のテストケース定義を作成したユーザーには、@test を使用します。
...
@test <Azure DevOps Test ID> アノテーションを使用して、テストを Azure DevOps のテスト実行に関連付けます。@test を使用する場合は、Parasoft DTP から Azure DevOps に送信する予定の実行ステータスのテストに、テストケースのステップが定義されていないことを確認してください。Parasoft DTP は、ステップが定義されているテストケースのテストケース実行を更新できません。
...
Sending Test Data to External System フローをデプロイした場合 (「Sending Test Data to External System フローのデプロイ」を参照)、Data Collector が Parasoft ツールからデータを受信すると、単体テストと機能テストの結果が Azure DevOps Connect に自動的に送信されます。デフォルトでは、フローは Data Collector が受信した任意のプロジェクトの単体テストおよび機能テストの結果をフォワードしますが、特定のプロジェクトのデータだけを送信するようフローを設定できます (「特定の DTP プロジェクトの結果を送信する」を参照)。
また、DTP REST API エンドポイントに POST リクエストを手動で送信して、DTP データベースから Azure DevOps Connect に結果を送信することもできます。API 呼び出しの URL パラメーターとして、DTP フィルターとビルドの ID、および一連の Azure DevOps テスト ケースの ID を渡します。
No Format |
---|
curl -X POST -u <username>:<password> "http://<host>:<port>/grs/api/v1.7/linkedApps/configurations/1/syncTestCases?filterId=<filterID>&buildId=<buildID> |
フィルター ID とビルド ID は、テスト エクスプローラーの URL で確認できます。
次の表で、エンドポイント パラメーターについて説明します。
...
groupResultsBySOAtestTST
...
true
に設定すると、SOAtest の結果が .tst ファイルでグループ化されます。その結果、1 つの .tst ファイルが 1 つの Azure DevOps テストに関連付けられます。
false
に設定すると、SOAtest.tst 内の各テストステップが Azure DevOps テストに関連付けられます。
デフォルトは false
です。
...
Info | ||||
---|---|---|---|---|
| ||||
DTP と Azure DevOps 間でテストケースを同期するために /syncTestCases REST API エンドポイントを使用している場合、DTP を構成してテストデータを異なる Azure DevOps 実装にデプロイすることができます。この機能は、API 呼び出しを使用した場合にのみ使用できます。
この構成 (config1) により、DTP プロジェクト bank のデータは、サーバー http://azure.test1:8888/organization1 上の Bank という外部プロジェクトに送られます。サーバーには API トークン abcdef を使用してアクセスします。DTP プロジェクトと外部プロジェクトは、どちらも project1 に属しているという理由でリンクされています。そして適切なサーバーとログイン認証情報は、すべて config1 に属しているため、既知のものです。 これを理解すると、上記の例をテンプレートとして、他の Azure DevOps 実装のために追加構成を定義することができます。各構成には、一意の azuredevops.config# 値が必要です。たとえば、上記の構成をベースとして使用すると、2 番目の構成は次のようになります。
必要な数だけ構成をセットアップできます。いくつか注意点があります。
API 呼び出しは、渡された |
...
- DTPは @req <ID> で結果を検索すると、Azure DevOps で一致するアイテムを検索します。一致が見つかった場合、アイテムに関連付けられたテスト ケースにテスト実行が追加されます。要件 ID に一致するテスト ケースがない場合は、テスト ケースが作成されてテスト実行が追加されます。
external-app-sync.log ファイルも <DTP_INSTALL>/logs ディレクトリに書き込まれます。このログ ファイルには、DTP から Azure DevOps へのテスト結果の送信に関する進捗情報が含まれています。
DTP がレポートを処理し、結果を Azure DevOps に送信した後、以下のような応答があります。
Code Block | ||
---|---|---|
| ||
{ "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 プロジェクトのデータが Azure DevOps に送信されます。結果として、Azure DevOps ID に一致するアノテーションを持つすべての DTP プロジェクトで収集されたテストを含むよう、作業アイテムが更新されます。ただし、特定のプロジェクトのデータだけを送信するよう、フローを設定することもできます。
...
一方、Parasoft テスト ツールと DTP は、ソフトウェア プロジェクトで品質上の問題を検出したりテストを実行したりする包括的な自動テスト ツールを提供します。Azure DevOps を Parasoft DTP と統合することで、2 つの重要なシステム要素間のトレーサビリティを強化し、プロジェクトのワークフローを強化できます。
- Azure DevOps は、要件、欠陥、テストの定義を担当します。
- Parasoft テストツールは、自動テストを実行し、ソフトウェアの欠陥や違反を検出します。Parasoft DTP は、レポートと解析のダッシュボードです。
DTP を Azure DevOps Server Express および Azure DevOps Server に接続することで、以下の機能が提供されます。
Parasoft DTP の違反エクスプローラーおよびテスト エクスプローラーからの Azure DevOps での欠陥の作成
Parasoft テスト ツールが静的解析違反を検出した場合、または自動テストの失敗が DTP でレポートされた場合、Parasoft DTP インターフェイスから直接、統合された Azure DevOps で欠陥レポートを簡単に作成できます。「Manually Creating Issues and Defects in Azure DevOps」を参照してください。
Parasoft テスト結果の Azure DevOps 要件およびテスト定義への送信
ソフトウェア要件は Azure DevOps で定義され、Parasoft ツールと DTP はこれらの要件の実装をテストするために使用されます。Parasoft DTP から Azure DevOps にテスト結果を送信することで、Azure DevOps のトレーサビリティ レポートを使用して、Azure DevOps のこれらの要件と Parasoft DTP のテスト結果の間のトレーサビリティを追跡できます。「Sending Test Data to Azure DevOps and Viewing Results」を参照してください。
Anchor Monitoring Monitoring
Parasoft DTP レポートのテスト結果に対する Azure DevOps 要件のトレーサビリティの監視
Monitoring | |
Monitoring |
このユースケースは前述の機能と似ています。Azure DevOps 要件から Parasoft テスト結果までのトレーサビリティを監視することを目的とします。しかし、違いはレポートのソースにあります。前述の機能では Azure DevOps でのレポートが容易になりましたが、この機能では Parasoft DTP のレポートを利用します。「Parasoft to Azure DevOps Traceability Reports」を参照してください。
設定
これらの機能を利用するには、事前にいくつかの設定が必要です。「Configuring Integration with Azure DevOps」を参照してください。
さらに、前述の「Parasoft DTP レポートのテスト結果に対する Azure DevOps 要件のトレーサビリティの監視」機能を使用する場合は、いくつかの追加構成が必要です。「Configuring Parasoft to Azure DevOps Traceability」を参照してください。
...
ノードをダブルクリックし、Property フィールドに次の文字列を指定します。
No Format |
---|
event.message.resultsSession.project |
...
フローを実行すると、指定した DTP プロジェクトのテスト結果だけが Azure DevOps に送信されます。
Azure DevOps での結果の表示
テスト データを送信した後、Azure DevOps で結果を表示できます。次の画像は、Azure DevOps の System Requirement Specifications 要件を示しています。要件にいくつかのテスト ケースがあります。
個々のテスト ケースについて、テスト実行などの詳細情報をさらに確認できます。
...
ご使用のシステムに External System Traceability Report がデプロイされている場合 (「Enabling the Requirements Traceability Report」を参照)、ウィジェットをダッシュボードに追加して、Azure DevOps 要件から Parasoft DTP のテスト、静的解析、コードレビューまでのトレーサビリティをモニタリングできます。ウィジェットから、さらに詳細な情報を含むレポートを表示できます。
ウィジェットの追加と構成
DTP ダッシュボード追加されたウィジェットは、個別のトレーサビリティ カテゴリに表示されます。ウィジェットを追加する方法については「ウィジェットの追加」を参照してください。
以下の設定を行うことができます。
...
Requirements Widget
このウィジェットには、指定された Azure DevOps プロジェクトの要件の数が表示されます。
ウィジェットをクリックすると、Requirement Traceability レポートが表示されます。
Test Coverage Widget
このウィジェットは、プロジェクトのすべての要件に対する、テストでカバーされた要件の割合を示します。
ウィジェットの中央をクリックすると、Requirement Traceability レポートが表示されます。
色付きのセグメントは、テストの対象となる要件を表しています。ウィジェットをクリックすると、With Tests カテゴリにフィルタリングされた Requirement Traceability レポート が表示されます。
Pie Widget
単体テスト、機能テスト、静的解析、およびピア レビューは、要件が適切かつ徹底的に実装されているかを検証するための一般的なアクティビティです。このウィジェットは、それらのソフトウェア品質アクティビティのコンテキストにおけるプロジェクト要件の全般的なステータスを表示します。品質アクティビティの種類 (テスト、静的解析違反、レビュー) ごとにウィジェットを追加して、プロジェクトの要件実装の進捗をモニタリングすることができます。
グラフ上のセクションにマウス ポインタを置くと、品質アクティビティ タイプのステータスについて詳細情報が表示されます。ウィジェットをクリックすると、選択したタイプでフィルタリングされた Requirement Traceability レポートが表示されます。
...
Requirements Implementation Status by Violations
Requirements Implementation by Reviews
Requirements Traceability Report とは
このレポートは、Azure DevOps 要件とそれに関連する Parasoft DTP テストを表示します。
以下の操作を行うことができます。
- レポートの [Files] 列と [Reviews] 列を非表示にする場合は、[Show files/reviews] オプションを無効にします。[Files] 列と [Reviews] 列にデータがあるのは、要件がソース ファイルにマッピングされている場合だけです (「Requirements Traceability レポート」を参照)。この画面で [Files] 列および [Reviews] 列を無効にすると、関連するタブが Requirement Details レポート で非表示になります。
- Azure DevOps で要件を確認するには、[Key] 列のリンクをクリックします。
- [Summary] 列または [Test] 列のリンクをクリックして、Azure DevOps Requirement Details Report の要件に関係するテスト関連情報を表示します。
- [Files] 列のリンクをクリックして、Azure DevOps Requirement Details Report の要件に関係する静的解析関連の情報を表示します。
- Understanding the Requirement Details[Reviews] 列のリンクをクリックして、Azure DevOps Requirement Details Report の要件に関係する変更レビュー関連の情報を表示します。
...
Azure DevOps Requirements - Pie ウィジェットのセクションをクリックすると、ウィジェットで選択した品質アクティビティ タイプだけを含むレポートが表示されます。ドロップダウン メニューを使ってタイプとステータスを切り替えることができます。[Show files/reviews] オプションを無効にして、レポートの [Files] 列と [Reviews] 列を非表示にすることもできます。[Files] 列と [Reviews] 列にデータがあるのは、要件がソース ファイルにマッピングされている場合だけです (「Requirements Traceability レポート」を参照)。この画面で [Files] 列および [Reviews] 列を無効にすると、関連するタブが Requirement Details レポート で非表示になります。
...
Azure DevOps Requirement Details レポートは、特定の Azure DevOps 要件に関連したファイル、静的解析の指摘事項、およびテストについての情報を表示します。このレポートは、Azure DevOps Requirement Traceability レポートで要件をクリックすることで表示されます。
最初のタブには、作業アイテムを検証するために実行されたテストの結果が表示されます。
[View results in Test Explorer] リンクをクリックすると、要件に関連付けられたすべてのテストをテスト エクスプローラーで参照できます。
テーブルの個々のテスト名をクリックし、テスト エクスプローラーで個々のテストを参照することもできます。
2 番目のタブには、要件に関連付けられたファイルと、ファイルで検出された静的解析違反が表示されます。[違反] 列のリンクをクリックして、 違反エクスプローラーで違反を確認できます。違反に関する詳細が表示されます。
このタブにデータがあるのは、要件がソース ファイルにマッピングされている場合だけです (「Enabling the Requirements Traceability Report」を参照)。要件をソース ファイルにマッピングしなかった場合は、メインの Traceability レポート ページで [ファイル/レビューを表示] オプションを無効にし、詳細レポートを再読み込みすることで、このタブを非表示にできます。
ファイルに変更レビューまたはレビュー指摘事項が含まれる場合、それらは 3 番目のタブに表示されます。リンクをクリックすると、変更エクスプローラーで確認できます。
このタブにデータがあるのは、要件がソース ファイルにマッピングされている場合だけです (「Enabling the Requirements Traceability Report」を参照)。要件をソース ファイルにマッピングしなかった場合は、メインの Traceability レポート ページで [ファイル/レビューを表示] オプションを無効にし、詳細レポートを再読み込みすることで、このタブを非表示にできます。