Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
ビルドとテストの統合をサポートする作業項目フィールドを使用して、トレーサビリティの向上、品質傾向の分析、テスト関連のワークフローの自動化を行います。 一般的なシナリオは次のとおりです。
- バグを、検出または解決された特定のビルドに関連付けます。
- バグをビルドで照会して傾向を特定し、修正に優先順位を付けます。
- テスト ケースを手動または自動としてマークし、自動化メタデータを追跡します。
- チームがテストを確実に実行して検証できるように、テスト ケースと共有ステップのアクションと検証の手順を定義します。
この記事では、これらのフィールドを使用する方法について説明し、サンプル クエリとヒントを提供します。
[前提条件]
| Area | アクセス許可/役割 | それが可能にする内容 |
|---|---|---|
| Project-level | 貢献者達 | クエリを作成および編集します。 |
| Project-level | Readers | クエリを表示します (作成または編集できません)。 |
| Project-level | プロジェクト管理者 | クエリを含むプロジェクト設定を完全に制御できます。 |
| アーティファクトをテストする | テスト 計画の管理 | テスト 計画を作成、編集、および削除します。 |
| アーティファクトをテストする | テストセットの管理 | テスト スイートを作成、編集、削除します。 |
| アーティファクトをテストする | このノードの作業項目を編集する | テスト ケースやテスト スイートなどのテスト固有の作業項目を追加または編集します。 |
注
- 一部のテストアクセス許可は、テスト計画またはエリアノードでスコープが設定されます。プロジェクト管理者は、これらのアクセス許可を割り当てることができます。
- プロジェクト間でクエリを実行または自動化するには、プロジェクト間で必要なアクセス許可を持っているか、適切なアクセス権を持つサービス アカウントを使用してください。
サポートされている演算子とマクロ
ほとんどのビルドおよびテスト統合フィールドでは、String、PlainText、または HTML データ型が使用されます。 テキスト フィールドまたはリッチ テキスト フィールドにクエリ句を指定する場合は、次の演算子とマクロを使用します。
データ型
サポートされている演算子とマクロ
リッチ テキスト (HTML) と
複数行テキスト (PlainText)
Contains Words、Does Not Contain Words、Is Empty、Is Not Empty。
1 行テキスト (文字列)
= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field]、 Contains、 Does Not Contain、 In、 Not In、 In Group、 Not In Group、 Was Ever。
マクロ: [Any] ( 作業項目の種類で有効)、 @Project ( チーム プロジェクトで有効)。 必要に応じて、システムは既定で現在のプロジェクトに設定されます。 プロジェクト 間のクエリ の例については、「プロジェクト間のクエリ」を参照してください。
便利なフィルター
フィルターの対象
これらのクエリ句を含める
自動テスト ケース
Work Item Type = Test Case そして Automation Status = Automated
クエリを基にしたテスト スイート
Work Item Type = Test Suite そして Test Suite Type = Query Based
要件ベースのテストスイート
Work Item Type = Test Suite そして Test Suite Type = Requirement Based
バグとそのテスト ケースを一覧表示する
新しいクエリを作成し、クエリの種類を作業項目と直接リンクに設定します。 最上位レベルでバグをフィルター処理し、テスト ケースのリンクされた作業項目フィルターを追加します。
注
テスト プラン、テスト スイート、およびテスト ケースの階層ビューを表示するクエリは作成できません。これらの成果物は親子リンクの種類によって接続されていないためです。 その階層を表示するには、[ テスト > テスト プラン ] ページを開きます (「 テスト 計画の作成」を参照)。
データ フィールドのビルドとテスト
次の表では、1 つ以上のテスト関連の作業項目の種類に表示されるフィールドについて説明します。 データ型とフィールド属性の詳細については、「 作業項目のフィールドと属性」を参照してください。
フィールドまたは選択リストをカスタマイズするには、「 クエリ、レポート、ワークフローをサポートするようにフィールドを追加または変更する」を参照してください。
フィールド名
説明
作業項目の種類
自動化状態1
テスト ケースの状態。 値: 自動、 自動化されていない、 計画済み。 自動テストを実行するには、「テスト 計画から自動テストを実行する」を参照してください。
Reference name=Microsoft.VSTS.TCM.AutomationStatus, Data type=String
テスト事例
2 に見つかりました
バグが見つかった製品ビルド番号 (リビジョン)。 参照名=Microsoft.VSTS.Build.FoundIn、データ型=文字列。
注
[ビルドで見つかりました] リンクの種類を使用して、作業項目をビルドにリンクします。 このリンクの種類は、現在のビルド プロセス (Azure Pipelines とクラシック ビルド定義) で動作します。従来の XAML ビルドには適用されません。
バグ
統合ビルド2
修正プログラムを組み込んだ製品ビルド番号。 参照名=Microsoft.VSTS.Build.IntegrationBuild、データ型=文字列。
注
[ビルドに統合] リンクの種類を使用して、作業項目をビルドにリンクします。 このリンクの種類は、現在のビルド プロセス (Azure Pipelines とクラシック ビルド定義) で動作します。従来の XAML ビルドには適用されません。
全て
問題点
共有ステップが予想される結果に関連付けられているかどうかを示します。 使用できる値: はい、 いいえ。 参照名=Microsoft.VSTS.Common.Issue、データ型=文字列。
共有ステップ
パラメーター
手動テストの実行時に使用されるパラメーターが含まれます。 参照名 = Microsoft.VSTS.TCM.Parameters、データ型 = HTML。
共有パラメーター、共有ステップ、テスト ケース
ステップス
テストを実行するために必要なアクションと検証の手順。 参照名 = Microsoft.VSTS.TCM.Steps、データ型 = HTML。
共有ステップ、テストケース
システム情報
テストに関連するシステムと環境の情報。 参照名 = Microsoft.VSTS.TCM.SystemInfo、データ型 = HTML。
バグ、フィードバックの応答
再現手順 (再現する手順)
予期しない動作を再現するために必要な手順。 他のユーザーが修正プログラムを再現して検証するのに十分な情報をキャプチャします。 参照名 = Microsoft.VSTS.TCM.ReproSteps、データ型 = HTML。
バグ
テストスイートタイプ1
テスト スイートのカテゴリ。 使用できる値: クエリ ベース、 要件ベース、 静的。 詳細については、「 テスト計画の作成」を参照してください。 参照名=Microsoft.VSTS.TCM.TestSuiteType、データ型=文字列。
テスト スイート
注
- これらのフィールドの選択リストはカスタマイズしないでください。システムと統合では、一覧に示されている値が想定されます。
-
GLOBALLIST定義にFIELD要素を追加することで、ビルドのドロップダウン メニューを提供できます。 ビルドとグローバル リストの自動生成を参照してください。
その他のフィールド
次のフィールドは作業項目フォームには表示されませんが、テスト ケースまたはテスト スイートについて追跡されます。 一部のクエリを使用してクエリをフィルター処理し、レポートを作成できます。 (これらのフィールドはデータ ウェアハウスに追加されず、インデックスも付けられません)。
フィールド名
説明
作業項目の種類
自動テスト ストレージ
テスト ケースを自動化するテストを含むアセンブリ。 参照名=Microsoft.VSTS.TCM.AutomatedTestStorage、データ型=文字列。
テスト事例
自動テストの種類
テスト ケースを自動化するテストの種類。 参照名=Microsoft.VSTS.TCM.AutomatedTestType、データ型=文字列。
テスト事例
自動テストID
自動テストの ID。 参照名=Microsoft.VSTS.TCM.AutomatedTestId、データ型=文字列。
テスト事例
AutomatedTestName
自動テストの名前。 参照名=Microsoft.VSTS.TCM.AutomatedTestName、データ型=文字列。
テスト事例
LocalDataSource
テストで使用されるローカル データ ソース。 参照名 = Microsoft.VSTS.TCM.LocalDataSource、データ型 = HTML。
テスト事例
クエリ テキスト
クエリ ベースのスイート型に対して定義されたクエリをキャプチャするために使用されるフィールド。 参照名=Microsoft.VSTS.TCM.QueryText、データ型=PlainText。
テスト スイート
Test Suite Audit
テスト スイートを変更するときの操作を追跡します (テストの追加や構成の変更など)。 [履歴] タブまたはクエリを使用して表示できます。 参照名=Microsoft.VSTS.TCM.TestSuiteAudit、データ型=PlainText。
テスト スイート
Test Suite Type ID 1
テスト スイート カテゴリに対応するシステム割り当て値: 1 (静的)、 2 (クエリベース)、 3 (要件ベース)。 参照名=Microsoft.VSTS.TCM.TestSuiteTypeId、データ型=整数。
テスト スイート
注
- これらのフィールドの選択リストはカスタマイズしないでください。システムと統合では、一覧に示されている値が想定されます。
Team Foundation Build および Azure Pipelines と統合されるフィールド
Team Foundation Build は、以前の Azure DevOps Server リリースで使用されるオンプレミスのビルド システムです。 Azure Pipelines には、Azure DevOps Services でクラウドでホストされるビルドとパイプラインの機能が用意されています。 どちらのシステムも、ビルドの実行時とビルドで作業項目が解決されるときに、ビルド メタデータを作業項目と統合します。
ビルド統合に一般的に使用される 2 つのフィールドは 、Found In と Integration Build です。 WIT 定義に存在する場合、ビルド システムは作業項目を関連するビルド番号に関連付けることができます。
WIT 定義には、次のフィールドを追加できます。
<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
<HELPTEXT>Product build number (revision) in which this item was found</HELPTEXT>
<SUGGESTEDVALUES>
<LISTITEM value="<None>" />
</SUGGESTEDVALUES>
</FIELD>
<FIELD name="Integration Build" refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension">
<HELPTEXT>Product build number this bug was fixed in</HELPTEXT>
<SUGGESTEDVALUES>
<LISTITEM value="<None>" />
</SUGGESTEDVALUES>
</FIELD>
WIT 定義に [Found In ] フィールドが存在する場合、互換性のあるビルド プロセスでは、ビルドが失敗したときに作業項目を作成し、 Found In をビルド番号に設定できます。 統合ビルドが存在する場合、互換性のあるビルド プロセスは、ビルドによって解決された作業項目を対応するビルド番号で更新できます。
ビルドとグローバルリストの自動入力機能
Team Foundation Build または Azure Pipelines を使用してプロジェクトのビルドを初めてキューに登録すると、 Build - <ProjectName>という名前のグローバル リストが作成されます。 ビルドの実行ごとに、そのビルドの LISTITEM エントリが追加されます。 グローバルリストはプロジェクトの表示名を用いており、FIELD定義のGLOBALLIST要素内で参照されることでビルドのドロップダウンメニューを提供できます。
<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
<HELPTEXT>Product build number (revision) in which this item was found</HELPTEXT>
<SUGGESTEDVALUES>
<LISTITEM value="<None>" />
</SUGGESTEDVALUES>
<SUGGESTEDVALUES expanditems="true" filteritems="excludegroups">
<GLOBALLIST name="Builds - TeamProjectName" />
</SUGGESTEDVALUES>
</FIELD>
テスト 計画と統合されるフィールド
テスト計画では、テストが失敗したときにバグまたは別の作業項目を作成できます。 この方法で作業項目を追加すると、テスト システムは、[ システム情報] フィールドと [再現ステップ] フィールドで環境の詳細と再現 手順を キャプチャします。
<FIELD name="System Info" refname="Microsoft.VSTS.TCM.SystemInfo" type="HTML" />
<FIELD name="Repro Steps" refname="Microsoft.VSTS.TCM.ReproSteps" type="HTML" />
Team Foundation バージョン管理 (TFVC) と統合されるフィールド
TFVC では、チェックイン時の作業項目の関連付けまたは解決がサポートされます。 チェックイン ウィンドウから作業項目をリンクし、アクションがサポートされている場合、TFVC は構成済みの状態遷移を作業項目に適用します。
注
Checkin アクションを使用する場合は、期待する遷移に対して、適切な開始状態と終了状態を設定します。
詳細については、「状態、 遷移、または理由に基づいてフィールドの割り当てを自動化する」を参照してください。
制限事項
テスト ケースでクエリを実行するときの主な制限事項:
- 階層ビュー: テスト プラン、テスト スイート、およびテスト ケースの階層ビューを示すクエリを作成することはできません。これらの成果物は親子リンクの種類によって接続されていないためです。
- クエリベースのテスト スイート: クエリベースのスイートには、クエリによって返されるすべてのテスト ケースが含まれます。意図しない包含を回避するために、クエリが正確であることを確認します。
- フィールドの制限事項: 一部の詳細な実行結果は標準フィールドとして使用できないため、カスタム レポートまたは API の使用が必要になる場合があります。
- パフォーマンスとレートの制限: Azure DevOps では要求とリソースの制限が適用されます。最適化されていないクエリや過剰な API 呼び出しは、遅延や調整を引き起こす可能性があります。
- テストケースのリンク: テストケースは、複雑な階層クエリをサポートする形で他の作業項目に自動的にリンクされることはありません。