Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space DTPDEVEL and version 2023.1

...

  • 違反エクスプローラーテスト エクスプローラーから 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 要件に関連付けます。

この機能は、Azure DevOps Server Express 2020 Update 1 および Azure DevOps Services (試用版) でテストされています。この機能は、Azure DevOps の他のバージョンでは期待どおりに機能しない可能性があります。

設定

この設定は、Parasoft 管理者が一度だけ行う必要があります。 

...

azuredevops.workItem.url

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

azuredevops.syncTestCases.chunkSize

syncTestCases 操作中に Azure DevOps サーバーを呼び出すときに、リクエストの URL で使用する作業項目の最大数を設定します。すべての結果が同期されますが、URL の長さ制限などの API 制限を処理するために、サーバーへの各リクエストのサイズが制限されます。デフォルト値は 200 です。

デフォルト:

azuredevops.syncTestCases.chunkSize=200 

Note

2021.2 以前のバージョンから Parasoft DTP をアップグレードした場合、これらの Azure DevOps パラメーターが ExternalSystemSettings.properties ファイルにない可能性があります。その場合、上記の表にあるデフォルト値が使用されます。これらのパラメーターを変更するには、必ずパラメーターを ExternalSystemSettings.properties ファイルに追加してください。

...

  1. Azure DevOps で、Parasoft ツールで実行されるテストと関連付けることができる要件を作成します。 
  2. テストファイルで、以下のアノテーション形式を使用して、Azure DevOps システムの要件 ID をテストにマッピングします。
    Azure DevOps でトレーサビリティ結果を見るために独自のテストケース定義を作成していないユーザーの場合は、@req を使用します。

    * 次のアノテーションは、テストを要件にマッピングします。
    *@req <<Azure DevOps ID>
    @TEST
    ...

    Parasoft で @req を使用し、Parasoft DTP から Azure DevOps への結果の送信をトリガーします。

    Azure DevOps で独自のテストケース定義を作成したユーザーには、@test を使用します。

    * 次のアノテーションは、テストを要件にマッピングします。
    *@test <<Azure DevOps ID>
    @TEST
    ...

    各テストケース定義を、Azure DevOps でテストした要件に関連付けます。

    • @test <Azure DevOps Test ID> アノテーションを使用して、テストを Azure DevOps のテスト実行に関連付けます。@test を使用する場合は、Parasoft DTP から Azure DevOps に送信する予定の実行ステータスのテストに、テストケースのステップが定義されていないことを確認してください。Parasoft DTP は、ステップが定義されているテストケースのテストケース実行を更新できません。

    • @req <Azure DevOps ID> アノテーションを使用して、テストを Azure DevOps のストーリーに関連付けます。@req を使用するときは、結果を送信する予定の Azure DevOps プロジェクトで次の関係タイプが定義されていることを確認してください。"verified by"。このような関係は、Parasoft DTP が Azure DevOps でテストケースを作成し、Azure DevOps 要件に関連付けるときに必要になります。

      テストにアノテーションを付けると、テストが Azure DevOps のエンティティにリンクされ、DTP レポートで可視化できるようになります。アノテーションは、Parasoft 言語ツール (C/C++test、dotTEST、Jtest) の単体テスト ファイルに追加されます。SOAtest で実行される機能テストの場合、アノテーションは .tst ファイルに追加されます。アノテーションの追加方法の詳細については、ご使用のツールのドキュメントを参照してください。UI で生成された ID ではなく、Azure DevOps URL からの ID を使用する必要があります。




  3. CI プロセスの一部としてテストを実行します。IDE からテストを手動で実行することもできます。
  4. テスト実行の一環として、Parasoft テスト実行ツールはフィルターとビルド ID でテスト結果をタグ付けし、データを DTP に送信します。DTP ダッシュボードに テスト ウィジェット を追加し、フィルターとビルド ID を設定することにより、DTP で結果を確認できます。開発者は、テスト実行データを DTP から IDE にダウンロードして、失敗したテストに対処できます。
  5. 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>&testCaseSetId=<Azure DevOps_TEST_CASE_SET_ID>"

    フィルター ID とビルド ID は、テスト エクスプローラーの URL で確認できます。

    次の表で、エンドポイント パラメーターについて説明します。

    Azure DevOps にテストケース定義がない場合、Parasoft DTP が新しいテストケース定義を作成する Azure DevOps のテストケース セットの ID を指定します。テストケース定義が Azure DevOps で見つかった場合、この testCaseSetId であろうとなかろうと、テストケース定義は単に更新されるだけで、この特定のテストケース セットに移動されるわけではありません。 

    testCaseSetId パラメーターの値は、Azure DevOps の "Set of Test Cases" アイテム タイプの ID でなければなりません (「要件」を参照)。UI で生成された ID ではなく、Azure DevOps URL からの ID を使用する必要があります。プロジェクト ツリーのテスト ケース ノードをクリックした後、URL から ID を取得できます。

    パラメーター説明必須
    filterId integerテスト データを含むフィルター IDを指定します。フィルター ID は整数値です。フィルター名と混同しないでください。Required (必須)
    buildId stringテスト データを含むビルド ID を指定します。Required (必須)
    groupResultsBySOAtestTST 
     
    boolean

    true に設定すると、SOAtest の結果が .tst ファイルでグループ化されます。その結果、1 つの .tst ファイルが 1 つの Azure DevOps テストに関連付けられます。

    false に設定すると、SOAtest.tst 内の各テストステップが Azure DevOps テストに関連付けられます。

    デフォルトは false です。 

    任意
    testCaseSetId
    テストケース セットの ID任意
    テスト ケース セットは、DTP が必要に応じて新しいテスト ケースを作成できるアイテムです。次のステップで説明するように、同等のテスト ケースが存在しない場合、DTP は Azure DevOps に結果を送信するときに新しいテスト ケースを作成します。 
    Info
    title複数の Azure DevOps 実装のサポート

    DTP と Azure DevOps 間でテストケースを同期するために /syncTestCases REST API エンドポイントを使用している場合、DTP を構成してテストデータを異なる Azure DevOps 実装にデプロイすることができます。この機能は、API 呼び出しを使用した場合にのみ使用できます。

    <DTP_DATA_DIR>/conf ディレクトリにある ExternalSystemSettings.properties ファイルの末尾に追加することで、必要な数の Azure DevOps 実装を認識するように DTP を構成できます。API が Azure DevOps に DTP データを送信し、ExternalSystemSettings.properties で一致が見つからない場合は、代わりに「Connecting DTP to Azure DevOps」で UI から設定した Azure DevOps 構成にデータが送信されます。以下の例のような形式で、ExternalSystemSettings.properties ファイルに Azure DevOps 構成を追加します。

    No Format
    azuredevops.config1.appUrl=http://azure.test1:8888/organization1 azuredevops.config1.displayUrl=http://azure.test1:8888/organization1 azuredevops.config1.username=john azuredevops.config1.apiToken=encrypted_token azuredevops.config1.project1.dtpProject=bank azuredevops.config1.project1.externalProject=Bank azuredevops.config1.project2.dtpProject=atm-core azuredevops.config1.project2.externalProject=Atm 

    この構成 (config1) により、DTP プロジェクト bank のデータは、サーバー http://azure.test1:8888/organization1 上の Bank という外部プロジェクトに送られます。サーバーには API トークン abcdef を使用してアクセスします。DTP プロジェクトと外部プロジェクトは、どちらも project1 に属しているという理由でリンクされています。そして適切なサーバーとログイン認証情報は、すべて config1 に属しているため、既知のものです。

    これを理解すると、上記の例をテンプレートとして、他の Azure DevOps 実装のために追加構成を定義することができます。各構成には、一意の azuredevops.config# 値が必要です。たとえば、上記の構成をベースとして使用すると、2 番目の構成は次のようになります。

    No Format
    azuredevops.config2.appUrl=http://azure.test2:8888/organization1 azuredevops.config2.displayUrl=http://azure.test2:8888/organization1 azuredevops.config2.username=jane azuredevops.config2.apiToken=encrypted_token azuredevops.config2.project1.dtpProject=foo azuredevops.config2.project1.externalProject=bar

    必要な数だけ構成をセットアップできます。いくつか注意点があります。

    • これらの例の project#.dtpProject= と project#.externalProject= のペアは、DTP プロジェクトを外部プロジェクトに関連付ける方法を示しています。複数の関連付けが可能ですが、dtpProject はすべての構成で一意である必要があります。
    • Report Center の設定 UI で構成されている現在の外部システム構成は、Azure DevOps に構成する必要があります。
    • ExternalSystemSettings.properties 構成ファイル内の追加の Azure DevOps 構成はすべて有効である必要があります。
    • 各構成の apiToken プロパティは暗号化する必要があります。暗号化しない場合、構成は無効と見なされます。この値を暗号化するには、任意の Parasoft ツールに付属する -encodepass CLI オプションを使用します (例: soatestcli.exe -encodepass <API TOKEN>)。
    • トレーサビリティ ウィジェットとレポートには、プライマリ ADO (つまり、UI で定義されたもの) のみが表示されます。
    • 複数の ADO からの要件を SOAtest にインポートすることはできません。

    API 呼び出しは、渡された filterId に基づいて、使用する構成を決定します (エンドポイント パラメーターについて説明した上記の表を参照してください)。DTP はそのフィルターに関連付けられたプロジェクトを検索し、その DTP プロジェクトを指定する構成を見つけます。最初に一致したものが使用されます。一致するものがない場合、デフォルトの構成が使用されます。


  6. DTP は、filterId パラメーターと buildId パラメーターに一致するテスト結果を見つけ、そのデータを Azure DevOps Connect のシステム要件に送信します。
    • DTPは @req <ID> で結果を検索すると、Azure DevOps で一致するアイテムを検索します。一致が見つかった場合、アイテムに関連付けられたテスト ケースにテスト実行が追加されます。要件 ID に一致するテスト ケースがない場合は、テスト ケースが作成されてテスト実行が追加されます。
    • external-app-sync.log ファイルも <DTP_INSTALL>/logs ディレクトリに書き込まれます。このログ ファイルには、DTP から Azure DevOps へのテスト結果の送信に関する進捗情報が含まれています。 

...