テスト結果を確認する
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
自動テストは、さまざまな言語のビルドまたはリリースの一部として実行するように構成できます。 テスト レポートは、パイプラインの品質を測定し、トレーサビリティをレビューし、障害のトラブルシューティングを行い、障害の所有権を促進するために、さまざまなテストフレームワークを使用して実行されたテスト結果を表示するための効果的で一貫した方法を提供します。 さらに、次のセクションで説明する高度なレポート機能も多数用意されています。
Analytics Service を使用して、テスト結果をより深く分析することもできます。 ビルド パイプラインとデプロイ パイプラインでこれを使用する例については、テスト結果の分析に関するページを参照してください。
テスト レポートの用語については、用語集を参照してください。
公開されたテスト結果は、ビルドまたはリリースの概要の [テスト] タブで表示できます。
[テスト] タブにテスト結果を表示する
テスト結果は、次のいずれかのオプションを使用して、[テスト] タブに表示できます。
自動的に推論されたテスト結果。 既定では、パイプラインではいくつかの一般的なテスト ランナーのテスト出力を自動的に推論できます。 ビルド操作中に生成されたエラー ログを解析し、テスト エラーの署名を確認します。 現在、Azure DevOps では、テスト結果を自動的に推論するための次の言語とテスト ランナーがサポートされています。
JavaScript - Mocha、Jest、Jasmine
Python - Unittest
注意
この推論されたテスト レポートは、限定的なエクスペリエンスです。 完全な形式のテスト レポートで使用できる一部の機能は、ここにはありません (詳細)。 Azure Pipelines で完全なテストと分析情報のエクスペリエンスを得るには、完全な形式のテスト レポートを公開することをお勧めします。 こちらもご覧ください。
テスト実行タスク。 パイプラインにテスト結果を自動ッ公開する Visual Studio Test、またはタスク内線のオプションとしてこの機能を提供する Ant、Maven、Gulp、Grunt、Xcode などの組み込みテスト実行タスク。
テスト結果の公開タスク。 任意のランナーを使用してテストを実行するときに、Azure Pipelines または TFS にテスト結果を公開するタスク。結果は、サポートされているテスト結果形式のいずれかで使用できます。
API。 Test 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 ではテスト結果を推論できません。 既定のレポーターからの結果のみを推論できます。
関連記事
ヘルプとサポート
- トラブルシューティング ページを参照してください。
- Stack Overflow に関するアドバイスを受け取り、Developer Community を介してサポートを受ける