テスト結果を確認する

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

自動テストは、さまざまな言語のビルドまたはリリースの一部として実行するように構成できます。 テスト レポートを使用すると、パイプラインの品質を測定し、トレーサビリティを確認し、エラーをトラブルシューティングし、エラーの所有権を促進するために、さまざまなテスト フレームワークを使用して実行されたテスト結果を効果的かつ一貫した方法で表示できます。 さらに、次のセクションで説明する高度なレポート機能も多数用意されています。

Analytics Service を使用して、テスト結果をより深く分析することもできます。 ビルド パイプラインとデプロイ パイプラインでこれを使用する例については、テスト結果の分析に関するページを参照してください。

テスト レポートの用語については、用語集を参照してください。

公開されたテスト結果は、ビルドまたはリリースの概要の [テスト] タブで表示できます。

[テスト] タブにテスト結果を表示する

テスト結果は、次のいずれかのオプションを使用して、[テスト] タブに表示できます。

  • 自動的に推論されたテスト結果。 既定では、パイプラインではいくつかの一般的なテスト ランナーのテスト出力を自動的に推論できます。 これは、ビルド操作中に生成されたエラー ログを解析し、テスト エラーのシグネチャを確認することによって行われます。 現在、Azure DevOps では、テスト結果を自動的に推論するための次の言語とテスト ランナーがサポートされています。

  • テスト実行タスク。 テスト結果をパイプラインに自動的に公開する Visual Studio Test などの組み込みのテスト実行タスク、またはタスク内のオプションとしてこの機能を提供する AntMavenGulpGruntXcode などの他のタスク。

  • テスト結果の公開タスク。 任意のランナーを使用してテストを実行するときに、Azure Pipelines または TFS にテスト結果を公開するタスク。結果は、サポートされているテスト結果形式のいずれかで使用できます。

  • APITest Management API を使用して直接公開されたテスト結果。

[テスト] タブ以外にテスト情報を表示する

[テスト] タブには、テストの実行の詳細な概要が表示されます。 これは、パイプラインの品質の追跡や、エラーのトラブルシューティングに役立ちます。 Azure DevOps では、他の方法でテスト情報を表示することもできます。

  • ダッシュボードは、チームの進捗状況を可視化します。 テスト関連情報を表示する 1 つ以上のウィジェットを追加します。

  • テスト分析では、一定期間にわたって測定されたテスト結果に関する豊富な分析情報を提供します。 失敗数が上位のテストなどのデータを提供することで、テスト内で問題のある領域を特定するのに役立ちます。

ビルド内のテスト結果を表示する

ビルドの概要には、ビルドで実行される主要ステップのタイムライン ビューが表示されます。 テストが実行され、ビルドの一部として報告された場合、テスト マイルストーンが タイムライン ビューに表示されます。 テスト マイルストーンには、合格率の測定値としてのテスト結果の概要のほか、失敗中止 (存在する場合) のインジケーターも表示されます。

ビルド タイムライン ビューでテスト結果を表示

リリースでテスト結果を表示する

パイプライン ビューでは、すべてのステージと関連するテストを確認できます。 このビューには、合格率の測定値としてのテスト結果の概要のほか、失敗中止 (存在する場合) のインジケーターも表示されます。 これらのインジケーターはビルド タイムライン ビューと同じであり、ビルドとリリースの間で一貫したエクスペリエンスを提供します。

リリース キャンバス ビューでテストを表示

[テスト] タブ

ビルドとリリースの両方の概要で、テスト実行の詳細が提供されます。 [テストの概要] を選択して、[テスト] タブで詳細を確認します。このページには、次のセクションがあります

  • [概要]: テストの実行に関する主要な定量的メトリックス (テストの合計数、失敗したテスト、合格率など) を提供します。 また、前回の実行と比較したときの変更点の差分インジケーターも提供されます。

  • [結果]: 現在のビルドまたはリリースの一部として実行および報告されたすべてのテストが一覧表示されます。 既定のビューには、注意が必要なテストに重点を置くために、失敗したテストと中止されたテストのみが表示されます。 ただし、提供されているフィルターを使用して、他の結果を選ぶこともできます。

  • [詳細]: 必要なテスト結果を見つけるために並べ替え、グループ化、検索、フィルター処理できるテストの一覧。

テスト タブを表示

テストの実行または結果を選ぶと、エラー メッセージ、スタック トレース、添付ファイル、作業項目、履歴傾向など、トラブルシューティングに必要な追加情報を表示する詳細ペインが開きます。

詳細タブを表示

ヒント

Visual Studio Test タスクを使用してテストを実行すると、(Console.WriteLine、Trace.WriteLine、TestContext.WriteLine のいずれかのメソッドを使用して) テストからログに記録された診断出力が、失敗したテストの添付ファイルとして表示されます。

[テスト] タブの次の機能は、生産性とトラブルシューティング エクスペリエンスの向上に役立ちます。

大量のテスト結果を絞り込む

テスト アセットは時間と共に蓄積し、大規模なアプリケーションではテスト数が短期間で数万単位に増加します。 膨大な数のテストを含むこれらのアプリケーションでは、結果を閲覧しながら、テストの欠陥、関連付けられる根本原因、問題の所有を特定するのが困難な場合があります。 フィルターを使用すれば、目的のテスト結果を容易に見つけることができます。 [テスト名][結果] (失敗、合格など)、[テスト ファイル] (テストを格納しているファイル) と [所有者] (テスト ファイルの場合) で絞り込むことが可能です。 本質的に、すべてのフィルター条件は蓄積されていきます。

大量のテスト結果を絞り込む

さらに、[テスト実行][テスト ファイル][優先度][要件] などの複数の [グループ化] オプションを使用すると、必要に応じて [結果] ビューを整理できます。

バグを使用して負債管理をテストする

欠陥があるテストや、実行時間の長いテストのテスト負債を管理するには、バグを作成するか、既存のバグにデータを追加し、関連するすべての作業項目を作業項目タブに表示します。

イマーシブなトラブルシューティング エクスペリエンス

エラー メッセージとスタック トレースは本質的に長く、トラブルシューティング中に詳細を表示するには十分なスペースが必要です。 イマーシブなトラブルシューティング エクスペリエンスを提供するために、[詳細] ビューをフル ページ ビューに展開しながら、選択したテスト結果のバグ作成や要件の関連付けなど、コンテキストで必要な操作を実行できます。

フル ページ パネル ビュー

テスト エラーのデータのトラブルシューティング

テスト エラーの場合は、エラー メッセージとスタック トレースをトラブルシューティングに使用できます。 [添付ファイル] タブで、テスト エラーに関連付けられているすべての添付ファイルを表示することもできます。

負債管理のテスト

既存のバグを作成または追加して、障害や実行時間の長いテストのテスト負債を管理できます。 [作業項目] タブには、テストに関連するすべてのバグと要件が詳しく表示され、要件の影響を分析したり、バグの状態や対応しているユーザーを把握することができます。

テスト実行の履歴は、テストの信頼性やパフォーマンスに関するわかりやすい分析情報を提供できます。 障害のトラブルシューティングを行う場合は、過去にテストがどのように実行されたかを知ることが重要です。 [テスト] タブには、テスト結果と関連するテスト履歴が表示されます。 テスト履歴情報は、現在のビルド パイプラインから他のブランチへ (ビルドの場合)、または現在のステージから他のステージへ (リリースの場合)、段階的に公開されます。

履歴的な傾向を表示

進行中のテストの実行を表示する

統合テストや機能テストなどのテストは、長時間にわたって実行されることがあります。 したがって、任意の時点で、テスト実行の現在の状態や、ほぼリアルタイムの状態を確認することが重要です。 テストが迅速に実行される場合でも、関連するテスト結果の状態をできるだけ早く把握できれば、特に障害が発生した場合には便利です。 進行中ビューでは、テストの実行が完了するまで待機する必要がなくなります。 実行の進行状況に応じてほぼリアルタイムで結果を得ることができるため、より迅速に対応できます。 エラーのデバッグ、バグの提出、またはパイプラインの中止を行うことができます。

進行中のリリース ビュー

注意

この機能は現在、複数エージェント ジョブの Visual Studio Test タスクを使用して、ビルドとリリースの両方で使用できます。 今後のリリースで、単一エージェント ジョブでも使用できるようになる予定です。

次の図では、リリースの進行中のテストの概要を示し、任意の時点でのテストの合計数とテスト エラーの数を報告しています。 テスト エラーは、トラブルシューティング、バグの作成、またはその他の適切なアクションの実行に使用できます。

進行中の概要ビュー

要約されたテスト結果を表示する

テスト実行中に、全体的な結果を左右する複数のインスタンスまたはテストが生成されることがあります。 たとえば、再実行されるテスト、他のテストの順序付き組み合わせで構成されるテスト (順序指定テスト)、入力パラメーターに基づいて異なるインスタンスを持つテスト (データ ドリブン テスト) などがあります。

これらのテストは関連しているため、個々のインスタンスまたはテストから派生した全体的な結果と共に報告する必要があります。 これらのテスト結果は、[テスト] タブに要約されたテスト結果として報告されます。

  • 失敗したテストの再実行: 失敗したテストを再実行する機能は、Visual Studio Test タスクの最新バージョンで使用できます。 再実行中に、失敗したテストを複数回試行できます。テストの動作は非確定的であるため、それぞれの失敗の根本原因が異なる可能性があります。 テスト レポートでは、再実行のすべての試行を含むビューと、全体的なテスト結果が要約ユニットとして表示されます。 さらに、Test Management API では、要約されたテスト結果を公開してクエリを実行する機能がサポートされるようになりました。

    失敗したテストの再実行

  • データ ドリブン テスト: 失敗したテストの再実行と同様に、データ ドリブン テストのすべてのイテレーションが、そのテストの下の概要ビューで報告されます。 概要ビューは、順序指定テスト (Visual Studio の .orderedtest) でも使用できます。

    データ ドリブン テスト

注意

テストの概要セクションのメトリックス (テストの合計数、成功したテスト、失敗テスト、その他) は、要約されたテスト結果のルート レベルを使用して計算されます。

中止されたテストを表示する

テストの実行は、不適切なテスト コード、テスト対象ソースのエラー、環境の問題など、いくつかの理由により中止されることがあります。 中止の理由に関係なく、動作を診断し、根本原因を特定できることが重要です。 中止されたテストとテスト実行は、完了した実行と共に [テスト] タブで確認できます。

中止したテストの表示

注意

この機能は現在、複数エージェント ジョブの Visual Studio Test タスクを使用するか、Test Management API を使用してテスト結果を公開することで、ビルドとリリースの両方で使用できます。 今後のリリースで、単一エージェント ジョブでも使用できるようになる予定です。

自動的に推論されたテスト結果

Azure DevOps では、サポートされているいくつかのテスト フレームワークについて、パイプラインで実行されているテストの出力を自動的に推論できます。 自動的に推論されるテスト レポートには、パイプラインに対する特定の構成は必要ありません。そのため、テスト レポートを労力なしに使用することができます。

自動的に推論されるテスト レポートの例

テスト結果が自動的に推論されるランナーの一覧を参照してください。

このような推論されたレポートには制限付きのテスト メタデータしか存在しないため、機能や能力は制限されます。 次の機能は、推論されたテスト レポートでは使用できません。

  • テスト結果をテスト ファイル、所有者、優先度、およびその他のフィールド別にグループ化する
  • テスト結果を検索およびフィルター処理する
  • 合格したテストの詳細を確認する
  • テスト中に生成されたすべての添付ファイルを Web UI 自体の中でプレビューする
  • テスト エラーを新しいバグに関連付けるか、このエラーに関連する作業項目の一覧を参照する
  • ビルドオンビルドの Pipelines でのテストの分析を参照する

注意

Mocha などの一部のランナーには、ドット マトリックス進行状況バーなどの複数のコンソール レポーターが組み込まれています。 テスト ランナーに対して既定以外のコンソール出力を構成している場合、またはカスタム レポーターを使用している場合は、Azure DevOps ではテスト結果を推論できません。 既定のレポーターからの結果のみを推論できます。

ヘルプとサポート