ビルドとテストの統合フィールドに基づくクエリの作成
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
ビルドとテストの統合をサポートする作業項目フィールドでは、次のアクションがサポートされます。
- バグを、そのバグが発見または修正されたビルドに関連付ける
- ビルドに関連付けられているバグを照会する
- テスト ケースに手動または自動としてマークを付け、自動テスト ケースをサポートする情報を格納する
- テスト ケースと共有ステップに対して、操作手順と検証手順、およびテストの実行に使用するデータを定義する。
サポートされている演算子とマクロ
ほとんどのビルドおよびテスト統合フィールドには、String、PlainText、または HTML のデータ型があります。 テキスト フィールドまたはリッチ テキスト フィールドを指定するクエリ句では、次の表で示す演算子とマクロを使用できます。
データの種類
サポートされている演算子とマクロ
リッチ テキスト (HTML) および
複数行テキスト文字列 (PlainText)
Is Empty
と Is Not Empty
演算子は、Azure DevOps Server 2019 RC2 以降のバージョンでサポートされています。
単一テキスト (文字列)
マクロ: [Any]
([作業項目の種類] フィールドで有効)、@Project
([チーム プロジェクト] フィールドで有効)。 既定では、現在のプロジェクトに基づいて自動的にフィルター処理されます。 詳細については、プロジェクト間でクエリを実行に関するページをご覧ください。
便利なフィルター
フィルターの対象
含めるクエリ句
自動テスト ケース
Work Item Type = Test Case
And Automation Status = Automated
クエリ ベースのテスト スイート
Work Item Type = Test Suite
And Test Suite Type = Query Based
要件ベースのテスト スイート
Work Item Type = Test Suite
And Test Suite Type = Requirement Based
バグとそのテスト ケースを一覧表示する
新しいクエリを開き、クエリの種類を [作業項目とダイレクト リンク] に設定します。 最上位レベルのバグをフィルター処理し、リンクされた作業項目フィルターにテスト ケースのフィルターを追加します。
注意
Test Plans、テスト スイート、テスト ケースの階層ビューを表示するクエリを構築することはできません。 これらの項目は、親子リンクの種類を使って一緒にリンクされません。 [テスト] > [Test Plans] ページを使用して階層を表示することはできます。
ビルドとテストのデータ フィールド
次の表では、1 つ以上のテスト WIT で定義されるフィールドを説明しています。 データ型とフィールド属性の詳細については、作業項目フィールドと属性に関するページを参照してください。
フィールドまたは選択リストをカスタマイズするには、「クエリ、レポート、およびワークフローをサポートするためのフィールドの追加または変更」を参照してください。
フィールド名
説明
作業項目の種類
Automation の状態 1
テスト ケースの状態。 次の値を指定できます。
- 自動
- 自動化なし
- 対応予定
自動テストを実行するには、「テスト計画から自動テストを実行する」を参照してください。
参照名=Microsoft.VSTS.TCM.AutomationStatus、データ型=String
テスト ケース
発見されたビルド 2
リビジョンとも呼ばれる、バグが発見された製品ビルド番号。
参照名=Microsoft.VSTS.Build.FoundIn、データ型=String
注意
[発見されたビルド] リンクの種類を使用して、作業項目をビルドにリンクすることもできます。 このリンクの種類は、Azure DevOps から利用でき、(XAML ビルドではなく) 現在のビルド プロセスでのみ機能します。
Bug
統合ビルド 2
コードが組み込まれた、または、バグが修正された製品ビルド番号。
参照名=Microsoft.VSTS.Build.IntegrationBuild、データ型=String
注意
[ビルドに統合] リンクの種類を使用して、作業項目をビルドにリンクすることもできます。 このリンクの種類は、Azure DevOps から利用でき、(XAML ビルドではなく) 現在のビルド プロセスでのみ機能します。
すべて
問題
共有ステップが予想結果に関連付けられていることを示します。 許容値は Yes と No です。 参照名=Microsoft.VSTS.Common.Issue、データ型=String
共有ステップ
パラメーター
手動テストを実行する際に使用するパラメーターを含みます。
Microsoft.VSTS.TCM.Parameters、データ型=HTML
共有パラメーター、共有ステップ、テスト ケース
手順
テストの実行に必要な操作手順と検証手順。 Microsoft.VSTS.TCM.Steps、データ型=HTML
共有ステップ、テスト ケース
システム情報
テストに関連するソフトウェア構成とシステム構成に関する情報。
Microsoft.VSTS.TCM.SystemInfo、データ型=HTML
バグ、フィードバック応答
再現ステップ (または再現手順)
予測できない動作の再現に必要な手順。 他のチーム メンバーが問題の影響を正確に理解し、バグが修正済みかどうかを判断するために十分な情報を提供します。 これには、バグの検出や再現に必要な操作と、予想される動作が含まれます。 参照名=Microsoft.VSTS.TCM.ReproSteps、データ型=HTML
Bug
テスト スイートの種類 1
テスト スイートのカテゴリ。 使用できる値は、以下のとおりです。
- [クエリ ベース]: 特定の特性を持つテスト ケース (たとえば、Priorty=1 のすべてのテストなど) をグループ化するために使用します。 定義したクエリによって返されるすべてのテスト ケースがスイートに自動的に含まれるようになります。
- [要件ベース]: バックログ項目のテスト状態を追跡するために設計されたテスト ケースをグループ化するために使用します。 要件ベースのテスト スイートに追加した各テスト ケースは、バックログ項目に自動的にリンクされます。
- [静的]: 特性を持つテスト ケースまたはテスト スイートをグループ化するために使用します。
詳細については、「テスト計画の作成」を参照してください。
参照名=Microsoft.VSTS.TCM.TestSuiteType、データ型=String
テスト スイート
注意
- これらのフィールドの選択リストをカスタマイズしないでください。 システムは一覧表示されている値のみを受け入れます。
GLOBALLIST
要素をFIELD
定義に追加することによって、ユーザーが選択可能なビルドのドロップダウン メニューを提供できます。 方法については、この記事で後述する「ビルドとグローバル リストの自動設定」を参照してください。
その他のフィールド
次のフィールドは、作業項目フォームには表示されませんが、テスト ケースまたはテスト スイートごとに追跡されます。 クエリのフィルター処理およびレポートの作成に、これらのフィールドのいくつかを使用できます。 (これらのフィールドはいずれも、データ ウェアハウスに追加されたり、インデックスが作成されたりすることはありません。)
フィールド名
説明
作業項目の種類
自動テスト ストレージ
テスト ケースを自動化するテストを含むアセンブリ。
参照名=Microsoft.VSTS.TCM.AutomatedTestStorage、データ型=String
テスト ケース
自動テストの種類
テスト ケースを自動化するテストの種類。
参照名=Microsoft.VSTS.TCM.AutomatedTestType、データ型=String
テスト ケース
AutomatedTestId
テスト ケースを自動化するテストの ID
参照名=Microsoft.VSTS.TCM.AutomatedTestId、データ型=String
テスト ケース
AutomatedTestName
テスト ケースの自動化に使用するテストの名前
参照名=Microsoft.VSTS.TCM.AutomatedTestName、データ型=String
テスト ケース
LocalDataSource
テストをサポートするローカル データ ソース
参照名=Microsoft.VSTS.TCM.LocalDataSource、データ型=HTML
テスト ケース
クエリ テキスト
クエリ ベースのスイートの種類に対して定義されるクエリをキャプチャするために使用されるフィールド。
参照名=Microsoft.VSTS.TCM.QueryText、データ型=PlainText
テスト スイート
テスト スイートの監査
テスト スイートの変更時に実行される他の操作 (たとえば、テスト スイートへのテストの追加または構成の変更) を追跡します。 このフィールドは [履歴] タブまたは個別のクエリから表示できます。 作業項目フィールドに対して行われた変更と、テスト ポイントおよび構成などの関連成果物による変更とを含む、結合された履歴が表示されます。
参照名=Microsoft.VSTS.TCM.TestSuiteAudit、データ型=PlainText
テスト スイート
テスト スイートの種類 ID 1
テスト スイート カテゴリに対応し、テスト スイートのみに適用可能なシステム割り当て値。 割り当て値は次のとおりです。
1 (静的)
2 (クエリベース)
3 (要件ベース)
参照名=Microsoft.VSTS.TCM.TestSuiteTypeId、データ型=Integer
テスト スイート
注意
- これらのフィールドの選択リストをカスタマイズしないでください。 システムは一覧表示されている値のみを受け入れます。
Team Foundation ビルドと統合するフィールド
Team Foundation Build は、Azure DevOps Server および TFS で使用できるオンプレミスのビルド システムです。 ユーザーは Team Foundation Build を使用してビルド プロセスを構成でき、ビルドが失敗した際には Team Foundation Build で作業項目を生成できます。 また、特定のビルドで解決された作業項目にビルド情報を追加できます。 Team Foundation Build でこの処理を実行するには、[発見されたビルド] と [統合ビルド] の 2 つのフィールドを作業項目の種類の定義に追加する必要があります。
[発見されたビルド] フィールドと [ビルドに統合] フィールドは、既定のプロセスではバグに対して定義されています。 これらのフィールドは、バグをそのバグが発見されたビルドや修正されたビルドと関連付けます。
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 定義内に存在する場合、Team Foundation Build はビルドに失敗すると作業項目を作成し、[発見されたビルド] フィールドを失敗したビルドのビルド番号に設定します。 [発見されたビルド] フィールドが存在しない場合、Team Foundation Build はビルドが失敗したときに作業項目を作成しません。その他の処理は予定どおりに実行されます。
[統合ビルド] フィールドが WIT 定義内に存在する場合、Team Foundation Build は各ビルドで解決された作業項目を識別し、それらの作業項目を更新して、[統合ビルド] フィールドに作業項目が解決されたビルド番号を設定します。 [統合ビルド] フィールドが存在しない場合、Team Foundation Build は作業項目にビルド番号を格納しません。その他の処理は予定どおりに実行されます。
ビルドとグローバル リストの自動設定
初めて Team Foundation ビルドを使用してプロジェクトのビルドをキューに入れた場合は、TFS が自動的に "Build - ProjectName" というラベルのグローバル リストを追加します。 ビルドを実行するたびに、LISTITEM がビルドの名前でこのグローバル リストに追加されます。
GLOBALLIST 要素を FIELD 定義に追加することによって、ユーザーが選択可能なビルドのドロップダウン メニューを提供できます。 次に例を示します。
<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 バージョン管理と統合するフィールド
Team Foundation バージョン管理 (TFVC) で使用できるいずれかの機能によって、コードのチェックイン時に作業項目の関連付けまたは解決ができます。 コードの変更時に特定の作業項目を操作していた場合、コードの作業が終了するときに、ソース管理のチェックイン ウィンドウから、その関連付けを設定できます。
Team Foundation バージョン管理が作業項目を解決するには、その作業項目に特定のアクションが含まれている必要があります。 ソース管理システムは、作業項目トラッキングに問い合わせて、作業項目がそのアクションをサポートするかどうかを判断し、そのアクションがサポートされる場合は、遷移の最初と最後の状態についても問い合わせます。 アクションが見つかった場合、ソース管理システムは、コードにチェックインするときに設定されている遷移に従って作業項目を遷移します。
注意
[チェックイン] アクションを使用する場合は、適切な "from" 状態と "to" 状態を設定して、目的の状態遷移を反映させる必要があります。
アクションの詳細については、「状態、遷移、または理由に基づいたフィールド割り当ての自動化」を参照してください。