Azure Test Plansを使用して自動テストを設定する

Azure DevOps サービス |Azure DevOps Server |Azure DevOps Server 2022

Azure Test Plansでの自動テストは、自動化されたテスト コードをテスト ケースの作業項目に接続します。 テスト計画からオンデマンドでテストを実行し、手動テストと共に結果を追跡し、要件レベルの品質を測定できます。 この記事では、テストの記述から結果の分析までの完全なワークフローについて説明します。

エンド ツー エンドの自動テスト ワークフロー

自動テストの設定には、次の手順が含まれます。

  1. 自動テストを作成する - サポートされているフレームワークでテストを記述し、ソース管理にチェックインします。
  2. ビルド パイプラインを設定 する - テスト プロジェクトをコンパイルし、テスト バイナリを生成するパイプラインを作成します。
  3. テストとテスト ケースの関連付け - 追跡可能にするために、自動化された各テスト メソッドをテスト ケースの作業項目にリンクします。
  4. 自動テストの実行 - テスト 計画から、または CI/CD パイプラインの一部として、必要に応じてテストを実行します。
  5. 結果を確認し、品質を追跡 する — 合格/不合格の結果を分析し、要件の範囲を追跡し、傾向を特定します。

前提条件

カテゴリ Requirement
プロジェクトアクセス権 プロジェクト メンバー
アクセス レベル - テスト関連の作業項目を表示したり、テスト ケースを実行したりするには、少なくとも Basic アクセスです。 利害関係者 アクセス権を持つユーザーは、テスト 計画にアクセスできなくなります。
- Basic + Test Plans アクセス レベル、または次のいずれかのVisual Studio サブスクリプションのテスト関連機能を実行するには:
- エンタープライズ
- テストプロフェッショナル
- MSDN プラットフォーム
アクセス許可 領域パスの権限設定:
- テスト 計画、テスト スイート、テスト ケース、またはその他のテスト ベースの作業項目の種類を追加または変更するには: このノードセットの作業項目[許可] に設定して編集します。
- ビルドやテストの設定などのテスト 計画のプロパティを変更するには:[許可] に設定されたテスト 計画を管理します。
- テスト スイートを作成および削除するには、テスト スイートからテスト ケースを追加および削除するか、テスト スイートに関連付けられているテスト構成を変更します。 テスト スイート[許可] に設定して管理します。

プロジェクトレベルの権限:
- テストの実行を表示、作成、または削除するには、テストの実行の表示テスト実行の作成、およびテスト実行の削除を許可に設定します。
- テスト構成またはテスト環境を管理するには: テスト構成を管理 し、 テスト環境[許可] に設定して管理します。
- テスト ベースの作業項目に新しいタグを追加するには:[許可] に設定されたタグ定義を作成します。
- テスト ベースの作業項目を完全に削除するには:[許可] に設定された作業項目を完全に削除します。

詳細については、「手動テストのアクセスおよび許可」を参照してください。

Additionally:

カテゴリ 必要条件
パイプラインのアクセス許可 テスト 計画から自動テストを実行するには、リリースアクセス許可 (リリースの作成デプロイの管理リリース ステージの編集) が必要です。 詳細については、「Release のアクセス許可」を参照>。
ツール Visual Studio 2017 以降 (Enterprise または Professional) を使用して、Visual Studioのテストを関連付けます。 Azure DevOps Web ポータルからテストを関連付ける場合は必須ではありません。

手順 1: 自動テストを作成する

サポートされているフレームワークを使用して、自動テストを記述します。 テスト プロジェクトをAzure Reposまたは接続されたGitHub リポジトリにチェックインします。

サポートされているフレームワーク

フレームワーク Visual Studio での関連付け Azure DevOpsのアソシエイト
MSTest v1/v2 はい はい
NUnit はい はい
xUnit はい はい
セレン はい はい
コード化された UI テスト はい はい
Python (PyTest) いいえ はい
Java (Maven/Gradle) いいえ はい

CI/CD パイプラインで確実に実行される UI テストの記述に関するガイダンスについては、 UI テストの考慮事項を参照してください。 詳細な Selenium の例については、「Selenium で UI テストを実行する」を参照してください。

手順 2: ビルド パイプラインを設定する

テスト プロジェクトをコンパイルし、テスト バイナリを含む成果物を生成するビルド パイプラインを作成します。 クラシック パイプラインと YAML パイプラインの両方がサポートされています。

  1. 最初のパイプライン がない場合は作成します。
  2. パイプラインでテスト プロジェクトがビルドされ、テスト バイナリがビルド 成果物として発行されていることを確認します。
  3. Visual Studioテスト タスクまたは Azure Test Plan タスクを使用して、パイプラインでテストを実行してレポートします。
  4. パイプラインでテストを実行すると、パイプライン実行の [ テスト ] タブに結果が自動的に表示されます。

Microsoft以外のテスト ランナーからテスト結果を発行するには、Publish テスト結果タスクを使用します。

手順 3: 自動テストをテスト ケースに関連付ける

テスト メソッドをテスト ケースの作業項目に関連付けると、次の利点があります。

  • テスト プランからのオンデマンド実行
  • 要件の追跡可能性 — テスト ケースがユーザー ストーリーにリンクされている場合、自動化された結果は要件レベルの品質を示します
  • 統合レポート - テスト実行ハブに自動テスト結果と手動テスト結果が一緒に表示される

テストは、Visual Studio または Azure DevOps Web ポータル

  • Visual Studio - Test Explorer を開き、テスト 方法を選択して、テスト ケースに関連付けるを選択します。 .NET フレームワーク (MSTest、NUnit、xUnit、Selenium、コード化された UI) をサポートします。
  • Azure DevOps portal — パイプライン のテスト結果から、またはテスト ケースの作業項目から直接関連付けます。 PythonやJavaを含むすべてのフレームワークをサポートします。

完全な手順については、「 自動テストとテスト ケースの関連付け」を参照してください。

Important

1 つのテスト メソッドを複数のテスト ケースに関連付けることができますが、各テスト ケースに関連付けられるテスト メソッドは 1 つだけです。

手順 4: 自動テストを実行する

テスト計画からオンデマンドで実行

スケジュールされたビルドを設定せずに、Azure Test Plans から直接自動テストをトリガーします。 特定のテスト ケースを選択し、テスト 計画設定で構成されたビルドおよびリリース パイプラインに対して実行します。

詳細な手順については、「 テスト 計画から自動テストを実行する」を参照してください。

パイプラインからの実行 (CI/CD)

ビルドまたはリリース パイプラインの一部として自動テストを実行します。 すべてのコミットまたはデプロイでテストが自動的に実行され、結果がパイプラインの [ テスト ] タブに表示されます。

手順 5: テスト結果を確認し、品質を追跡する

テスト結果

  • テスト計画 - テスト実行ハブで自動テストと手動テストの合格と不合格の結果を一緒に 表示します。 テストの実行を選択して、詳細な結果、エラー メッセージ、スタック トレースを表示します。
  • パイプラインの場合、パイプライン実行の際に [テスト] タブでテスト結果を表示します。 テスト結果の確認を参照してください。
  • Test Analytics - 失敗した上位のテストを特定し、合格率の傾向を追跡し、ビルド全体の失敗パターンを分析します。 「テスト分析」を参照してください。
  • コード カバレッジ — テストによって実行されるコードの部分を測定します。 コードカバレッジの結果を確認してください。
  • 不安定なテスト管理 — 非確定的な結果を含むテストを検出して管理し、誤ったビルドエラーを防ぎます。 「 不安定なテストの管理」を参照してください。

要件の追跡可能性

テスト ケースを要件 (ユーザー ストーリー、PBI) にリンクすると、自動化されたテスト結果に要件レベルの品質が表示されます。 要件の合格、不合格、不十分なテスト範囲を追跡します。 要件の追跡可能性を参照してください。