アプリケーションのライフサイクルでの仮想ラボの使用

Visual Studio Lab Management は、Microsoft Hyper-V 技術の使用を最適化して、Visual Studio 2010 によるアプリケーションのテスト、ビルドおよび開発で仮想マシンを管理および使用する場合に役立つ Microsoft テスト マネージャーの拡張機能です。 Visual Studio Lab Management は、System Center Virtual Machine Manager (SCVMM) と統合されており、仮想マシンをホストする複数の物理コンピューターを管理したり、SCVMM ライブラリ サーバー内の仮想マシンのストレージ、仮想マシン テンプレート、他の構成ファイルを管理することができます。

仮想環境は、Lab Management によって管理される仮想マシンのグループです。 仮想環境を使用すると、次のことが可能になります。

  • バグまたはその他の開発に関する問題の状況を正確に再現します。

    Lab Management のスナップショットは、特定の時点における環境内のすべてのコンピューターの状態を取得します。 環境のスナップショットは、プロジェクト チームのメンバーと共有できます。 格納されたスナップショットへの参照を Visual Studio Team Foundation Server 作業項目に含めることができるため、数回クリックするだけで環境のコピーを作成できます。 Microsoft IntelliTrace データが作業項目に含まれている場合、バグが発生するまでのアプリケーションの実行パスを、バグが発生した正確な構成で完全に再生できます。

  • 問題のない環境でアプリケーションを自動的にビルド、配置、およびテストします。

    Visual Studio Team Foundation Server のビルド、環境、スナップショット、および Microsoft テスト マネージャー自動テストの Lab Management ワークフローを使用すると、アプリケーションの日常的なビルドを問題のない環境にステージングできます。 テストの実行が完了したら、スナップショットに環境を格納し、環境を元の状態に戻して、もう一度使用できます。

  • アプリケーションのテスト用のコンピューターを作成および構成するために必要な時間を削減します。

    Lab Management の格納済み仮想マシンとテンプレートを使用すると、カスタマイズした環境をすばやく配置して顧客の稼動環境の構成を再作成できます。

  • テストまたは開発の複数のコピーを同時に実行します。

    Lab Management の格納済み仮想環境を使用すると、コンピューター名の競合によってドメイン内で管理されていない仮想マシンの使用が制限されることなく、仮想環境の複数のコピーを同時に配置できます。

  • システム管理者の特権がなくても、チームのメンバーは仮想環境を作成および管理できます。

    Lab Management アクセス許可を使用すると、システム管理者の特権がない場合でも、仮想環境を配置、作成、および管理できるチーム メンバーのロール ベースのセルフサービス グループを作成できます。 また、Lab Management のアクセス許可を Visual Studio Team Foundation Server および SCVMM のアクセス許可と組み合わせて、組織の特定の要件を満たすこともできます。

Microsoft テスト マネージャーを使用して環境を作成し、開発、テスト、または実行するアプリケーションに必要な各ロールに、仮想マシンを割り当てます。 たとえば、3 つのロール (デスクトップ クライアント、Web サーバー、およびデータベース サーバー) が必要な、多階層アプリケーションを開発できます。 Lab Management を使用して仮想環境を作成できます。この仮想環境では、各ロールに仮想マシンを割り当て、Team Foundation ビルドを使用してアプリケーションの各部分を関連の仮想マシンに配置し、3 つの仮想マシンをテスト用のアプリケーションの単一のインスタンスとして実行します。 次の図に、デスクトップ クライアント、Web サーバー、およびデータベース サーバーの 3 つのロールを使用する仮想環境を示します。

多階層アプリケーション用の環境

アプリケーションが複雑な場合は、複数の仮想マシンを仮想環境内の同じロールに割り当てることができます。 同様に、2 つの異なるトポロジに 2 つ同一のロールを配置する必要のあるアプリケーションを開発できます。 たとえば、データ層とアプリケーション層が 1 つのトポロジ内の同じマシンに配置できるのに対し、この 2 つの層を他のトポロジの異なるマシンにも配置できます。 最初のトポロジは 1 つの仮想環境で表され、2 つ目のトポロジは別の仮想環境で表されます。 これで、テストに必要な 2 つの環境が仮想ラボに含まれます。

また、アプリケーションの一部のコンポーネントのみを配置し、他のコンポーネントは環境間で共有する仮想環境を使用することもできます。 たとえば、アプリケーションに大規模なデータベースが必要な場合、物理マシン上で共有データベースをホストできます。 すべての仮想環境には、必要に応じて共有データベースに接続できるクライアント層とアプリケーション層の仮想マシンのみが含まれます。

注意

純粋に物理環境で、またはサードパーティの仮想マシンで構成される物理環境で、手動テストまたは自動化されたテストを実行する場合は、Hyper-V の使用、SCVMM の設定、Lab Management の設定のいずれのタスクも行う必要はありません。 代わりに、物理マシンへのテスト エージェントのインストール、チーム プロジェクト コレクションへのテスト コントローラーの登録、およびそのテスト コントローラーを使用するテスト エージェントの設定を行うだけで済みます。 その後、Microsoft テスト マネージャーのラボ センターを使用して新しい物理環境を作成します。 物理環境を作成してテストを実行する手順については、「テストで使用する物理環境の作成」を参照してください。

主要概念

Lab Management を使い始める前に、いくつかの主要な概念を理解しておく必要があります。

仮想マシン (Hyper-V)

主要概念

説明

仮想マシン

仮想マシンは、物理コンピューターと同じようにプログラムを実行するソフトウェア実装によるコンピューターです。 これにより、1 台の物理コンピューターで複数の仮想マシンを実行できます。 オペレーティング システムおよびその他の必要なソフトウェアと共に仮想マシンをインストールする必要があります。

ホスト

仮想マシンを実行する物理コンピューター。

スナップショット

スナップショットには、特定の時点における仮想マシンの状態が保存されます。 必要なときはいつでも仮想マシンをこのスナップショットに戻し、スナップショットが作成された時点のこの既知の状態から仮想マシンを使用できます。

System Center Virtual Machine Manager (SCVMM)

主要概念

説明

テンプレート

テンプレートは、マシン名やプロダクト キーなどの識別情報が削除されている仮想マシンの汎化されたイメージです。 複数の仮想マシンを作成するときにテンプレートを使用すると、ドメインでのコンピューター名の競合を回避できます。

ホスト グループ

仮想マシンの実行に使用できるホストとなる物理コンピューターのグループ。 ホスト グループを使用すると、ホストのコレクションでの仮想マシンの配置が自動的に最適化されるため、各仮想マシンを配置するホストを選択する必要がありません。 Team Foundation Server でチーム プロジェクトおよびチーム プロジェクト コレクションにホスト グループを割り当てることができます。

ライブラリ サーバー

仮想マシン、テンプレート、およびその他のリソースを保存するために使用されるコンピューター。

ライブラリ共有

仮想マシン、テンプレート、およびその他のリソースを保存できるライブラリ サーバー上の共有の場所。 複数のライブラリ共有を使用できます。 Team Foundation Server でチーム プロジェクトおよびチーム プロジェクト コレクションにライブラリ共有を割り当てることができます。

Lab Management

主要概念

説明

仮想環境

Hyper-V ホストで実行される仮想マシンのコレクションは、System Center Virtual Machine Manager で管理され、Lab Management では論理ユニットとして管理されます。 環境に追加する各仮想マシンは、アプリケーションのロールに使用されます。 たとえば、仮想マシンについて Web サーバーのロールを選択できます。

物理環境

それぞれにテスト エージェントがインストールされている物理マシンのコレクション。 Hyper-V 以外のプラットフォームで実行されている仮想マシンがある場合は、それらを Lab Management 内の物理マシンとしてモデル化できます。

ラボ センター

チーム プロジェクトの SCVMM ホスト グループに配置される仮想マシンと環境を管理および運用する Microsoft テスト マネージャーのアクティビティ領域。

チーム プロジェクト ライブラリ

チーム プロジェクトの SCVMM ライブラリ共有内にある格納済み仮想マシン、テンプレート、格納済み環境を管理する テスト マネージャー内のアクティビティ領域。

環境、テスト、またはビルドの配置を作成および管理するときに物理マシンまたは仮想マシンのいずれかを使用できます。

環境の作成および管理

テンプレートからの仮想マシンの作成、ネットワークの分離を使用した環境の複製、開始、停止、スナップショット、一時停止などの VM 操作は、Hyper-V ベースの仮想環境でのみ排他的に使用でき、Hyper-V 以外の環境や物理環境では使用できません。

テスト

Microsoft テスト マネージャーを使用して、仮想環境と物理環境の両方でテストを実行できます。 この場合、機能はまったく同じで、自動テストと手動テストを実行でき、あらゆる種類の環境 (Hyper-V、Hyper-V 以外、および物理) からリッチな診断データ コレクションを実行できます。

ビルドの配置

Hyper-V 仮想環境におけるビルド、配置、テストのワークフローは、TFS 2010 に付属しているテンプレート (labdefaulttemplate.xaml) を使用して簡単に自動化できます。

物理環境では、このようなテンプレートは独自に使用できません。 ただし、この自動化は Windows Workflow Foundation 4.0 に基づいているため、ツールボックスのアクティビティを使用してテンプレートをカスタマイズ (または独自のテンプレートを作成) し、物理マシンでビルドの配置とテストを自動化できます。 つまり、Hyper-V 以外の環境でも同じことが実行できます。ただし、仮想環境固有のアクション (スナップショットへの復元、環境の開始/停止) は、物理環境や Hyper-V 以外の環境では使用できません。

Lab Management は Hyper-V および物理環境でホストされている両方の仮想環境で機能しますが、環境の機能はその種類によって異なります。 Hyper-V 以外のホストの仮想環境は、物理環境と同様に扱われます。 次の表に、環境の種類によって異なる機能の概要を示します。

機能

仮想環境 (Hyper-V)

物理環境

仮想環境 (Hyper-V 以外)

テスト

単体テストの実行

サポート状況

サポート状況

サポート状況

手動テストの実行

サポート状況

サポート状況

サポート状況

コード化された UI およびその他の自動テストの実行

サポート状況

サポート状況

サポート状況

診断アダプターを使用したリッチなバグのファイルの作成

サポート状況

カスタマイズが必要

カスタマイズが必要

ビルドの配置

自動ビルド、配置、およびテストのワークフロー

サポート状況

環境の作成および管理

VM テンプレートからの環境の作成

サポート状況

適用なし

サポートなし

環境の開始、停止、スナップショット

サポート状況

サポートなし

サポートなし

環境ビューアーを使用した接続

サポート状況

サポートなし

サポートなし

ネットワークの分離を使用した環境の複製

サポート状況

適用なし

サポートなし

Hyper-V 以外のホスト (VMWare など) で実行中の仮想マシンを使用する環境のサポートの最新情報については、この Microsoft Web ページを参照してください。

次の手順

タスク

関連するコンテンツ

テスト実行: Team Foundation Server、SCVMM、および Lab Management の初期構成を行うためのリソースを検出し、環境内で仮想マシンを作成および実行します。

Lab Management の概要

ラボの仮想環境の作成: Lab Management には、仮想環境を作成および使用するさまざまな方法があります。 ニーズに最も適した仮想環境を作成する方法について説明します。

仮想環境の概念およびガイドライン

仮想環境の作成

テストのライフサイクルでの Lab Management の統合: 仮想環境を使用して、テストをより効率的に行い、バグの再現をより簡単に作成および共有する方法について説明します。

仮想環境を使用したテスト

仮想環境の完全な状態の取得: Lab Management のスナップショットでは、特定の時点における環境の正確な状態を保存できます。 テスト担当者と開発者は、環境をその状態にロールバックできます。 スナップショットを使用して、テストを実行したりバグや開発に関する問題の再現を行うための問題のない環境を作成できます。

スナップショットによる仮想環境の状態の保存、再現、および共有

アプリケーションのビルド、配置、およびテスト:   Lab Management 仮想環境をチーム ビルドのワークフローおよびテスト マネージャーのテスト計画と結合し、開発中のアプリケーションの定期的にスケジュールされたビルドの開発とテストを自動化します。

仮想環境へのアプリケーションの配置

既定のワークフロー テンプレートのカスタマイズ: ビルド、配置、テスト シナリオの追加の要件に合わせて、より多くのアクティビティを既定のワークフロー テンプレートに追加します。

Lab Management ワークフローのカスタマイズ

MSDN ブログやフォーラムに関する詳細情報の検索:  Lab Management のブログやフォーラムには、トラブルシューティングに関する情報や、仮想環境の使用に関する質問への回答が示されます。

Lab Management に関するトラブルシューティング

参照

処理手順

Lab Management の初めての構成

概念

IntelliTrace を使用したデバッグ

アプリケーションのテスト

その他の技術情報

Lab Management の構成と管理