Verwenden eines virtuellen Labs für den Anwendungslebenszyklus

Visual Studio Lab Management ist eine Erweiterung von Microsoft Test Manager zur optimierten Verwendung der Microsoft Hyper-V-Technologie, um virtuelle Computer in den Test-, Erstellungs- und Entwicklungsanwendungen in Visual Studio 2010 zu verwalten und zu verwenden. Visual Studio Lab Management ist in System Center Virtual Machine Manager (SCVMM) integriert. Es ermöglicht die Verwaltung von mehreren physischen Computern, die virtuelle Computer hosten, sowie die Verwaltung des Speichers von virtuellen Computern, von Vorlagen für virtuelle Computer und von anderen Konfigurationsdateien in den SCVMM-Bibliotheksservern.

Virtuelle Umgebungen sind Gruppen von virtuellen Computern, die von Lab Management verwaltet werden. Virtuelle Umgebungen ermöglichen Ihnen Folgendes:

  • Die Reproduzierung der genauen Bedingungen eines Fehlers oder eines anderen Entwicklungsproblems.

    Lab Management-Momentaufnahmen erfassen den Zustand aller Computer in der Umgebung zu einem bestimmten Zeitpunkt. Eine Momentaufnahme der Umgebung kann für die Mitglieder eines Projektteams freigegeben werden. Ein Verweis auf die gespeicherte Momentaufnahme kann in die Visual Studio Team Foundation Server-Arbeitsaufgabe eingeschlossen werden, damit mit wenigen Mausklicks eine Kopie der Umgebung erstellt werden kann. Wenn Microsoft IntelliTrace-Daten in die Arbeitsaufgabe eingeschlossen werden, kann der Ausführungspfad der Anwendung zum Fehler vollständig in exakt der Konfiguration reproduziert werden, in der der Fehler aufgetreten ist.

  • Anwendungen können automatisch in einer unveränderten Umgebung erstellt, bereitgestellt und getestet werden.

    Mit Lab Management-Workflows für Visual Studio Team Foundation Server-Builds, Umgebungen Momentaufnahmen und automatisierte Microsoft Test Manager-Tests können tägliche Builds der Anwendung in einer unveränderten Umgebung bereitgestellt werden. Nachdem Tests ausgeführt wurden, können Sie die Umgebung in einer Momentaufnahme speichern und die Umgebung anschließend in ihrem ursprünglichen Zustand wiederherstellen, damit sie wieder verwendet werden kann.

  • Sie können die Dauer zur Erstellung und Konfiguration von Computern für Anwendungstests verringern.

    Mithilfe von gespeicherten virtuellen Lab Management-Computern und -Vorlagen können Sie schnell benutzerdefinierte Umgebungen bereitstellen, in denen die Konfiguration der Produktionsumgebungen des Kunden neu erstellt werden.

  • Gleichzeitiges Ausführen mehrerer Kopien eines Tests oder einer Entwicklung

    Mit gespeicherten virtuellen Lab Management-Umgebungen können mehrere Kopien einer virtuellen Umgebung gleichzeitig bereitgestellt werden, ohne dass Computernamenskonflikte auftreten, die die Verwendung nicht verwalteter virtueller Computer in einer Domäne beschränken können.

  • Mitgliedern eines Teams kann die Erstellung und Verwaltung virtueller Umgebungen ermöglicht werden, ohne dass Systemadministratorrechte erforderlich sind.

    Sie können mit Lab Management-Berechtigungen rollenbasierte Self-Service-Gruppen von Teammitgliedern erstellen, die virtuelle Umgebungen bereitstellen, erstellen und verwalten können, ohne dass Systemadministratorrechte erforderlich sind. Sie können auch Lab Management-Berechtigungen in Visual Studio Team Foundation Server und SCVMM-Berechtigungen kombinieren, um die speziellen Anforderungen Ihrer Organisation zu erfüllen.

Mit Microsoft Test Manager können Sie eine Umgebung erstellen und den einzelnen Regeln, die für die zu entwickelnde, zu testende oder auszuführende Anwendung benötigt werden, virtuelle Computer zuweisen. Beispiel: Sie entwickeln eine Anwendung mit mehreren Ebenen, die drei Rollen erfordert: einen Desktopclient, einen Webserver und einen Datenbankserver. Mithilfe von Lab Management können Sie eine virtuelle Umgebung erstellen, durch die jeder Rolle ein virtueller Computer zugewiesen wird, jeder Teil der Anwendung mithilfe von Team Foundation Build auf dem jeweils relevanten virtuellen Computer bereitgestellt wird und anschließend die drei virtuellen Computer zu Testzwecken als einzelne Instanzen der Anwendung ausgeführt werden. Die folgende Abbildung enthält eine virtuelle Umgebung mit drei Rollen: Desktopclient, Webserver und Datenbankserver.

Umgebung für Anwendung mit mehreren Ebenen

Wenn die Anwendung komplex ist, können Sie der gleichen Rolle in einer virtuellen Umgebung mehrere virtuelle Computer zuweisen. Unter Umständen entwickeln Sie auch eine Anwendung, bei der zwei gleiche Rollen in zwei unterschiedlichen Topologien bereitgestellt werden müssen. Beispiel: In der einen Topologie befinden sich Datenebene und Anwendungsebene auf dem gleichen Computer, während sich die beiden Ebenen in der anderen Topologie auf separaten Computern befinden. Die beiden Topologien werden in zwei separaten virtuellen Umgebungen dargestellt. Das virtuelle Lab enthält jetzt die zwei Umgebungen, die Sie für Tests benötigen.

Sie können auch über eine virtuelle Umgebung verfügen, in der lediglich einige Komponenten der Anwendung bereitgestellt sind, während andere Komponenten umgebungsübergreifend verwendet werden. Wenn die Anwendung z. B. eine große Datenbank benötigt, können Sie entscheiden, dass eine freigegebene Datenbank auf einem physischen Computer gehostet wird. Alle virtuellen Umgebungen enthalten ausschließlich virtuelle Computer für die Client- und Anwendungsebenen, von denen je nach Bedarf eine Verbindung mit der freigegebenen Datenbank hergestellt werden kann.

Tipp

Wenn Sie manuelle oder automatisierte Tests in rein physischen Umgebungen oder in physischen Umgebungen ausführen, die aus virtuellen Computern von Drittanbietern bestehen, müssen Sie keine der folgenden Aufgaben ausführen: Hyper-V verwenden, SCVMM oder das Lab Management konfigurieren. Stattdessen können Sie einfach auf dem physischen Computer einen Test-Agent installieren, einen Testcontroller bei der Teamprojektsammlung registrieren und den Test-Agent für die Verwendung dieses Testcontrollers konfigurieren. Anschließend können Sie mit dem Lab-Center in Microsoft Test-Manager eine neue physische Umgebung erstellen. Informationen zu den Schritten zum Erstellen einer physischen Umgebung und zum Ausführen von Tests finden Sie unter Erstellen einer physischen Umgebung für Tests.

Hauptkonzepte

Sie müssen einige wichtige Konzepte verstehen, bevor Sie Lab Management verwenden:

Virtuelle Computer (Hyper-V)

Konzept

Beschreibung

Virtueller Computer

Bei einem virtuellen Computer handelt es sich um die Softwareimplementierung eines Computers, auf dem Programme auf die gleiche Weise ausgeführt werden wie auf einem physikalischen Computer. Somit können auf einem physikalischen Computer mehrere virtuelle Computer ausgeführt werden. Auf dem virtuellen Computer müssen ein Betriebssystem sowie sämtliche andere benötigte Software installiert werden.

Host

Der physikalische Computer, auf dem der virtuelle Computer ausgeführt wird.

Momentaufnahme

Mit einer Momentaufnahme wird der Zustand des virtuellen Computers zu einem bestimmten Zeitpunkt gespeichert. Der virtuelle Computer kann jederzeit mit der Momentaufnahme wiederhergestellt werden. Daraufhin kann der virtuelle Computer im entsprechenden bekannten Zustand verwendet werden, der zum Zeitpunkt der Erstellung der Momentaufnahme vorlag.

System Center Virtual Machine Manager (SCVMM)

Konzept

Beschreibung

Vorlage

Bei einer Vorlage handelt es sich um ein generalisiertes Abbild eines virtuellen Computers, dessen Identifizierungsinformationen wie Computername oder Product Key entfernt wurden. Sie können mehrere virtuelle Computer aus einer Vorlage erstellen, ohne dass Konflikte zwischen Computernamen in einer Domäne entstehen.

Hostgruppe

Eine Gruppe von physikalischen Hostcomputern, die zum Ausführen von virtuellen Computern verwendet werden können. Hostgruppen optimieren die Bereitstellung von virtuellen Computern in der Auflistung von Hosts, sodass Sie nicht auswählen müssen, auf welchem Host die einzelnen virtuellen Computer bereitgestellt werden. Hostgruppen können den Teamprojekten und Teamprojektsammlungen in Team Foundation Server zugewiesen werden.

Bibliotheksserver

Ein Computer, der verwendet wird, um virtuelle Computer, Vorlagen und andere Ressourcen zu speichern.

Bibliotheksfreigabe

Ein freigegebener Speicherort auf einem Bibliothekserver, auf dem virtuelle Computer, Vorlagen und andere Ressourcen gespeichert werden können. Sie können mehrere Bibliotheksfreigaben verwenden. Bibliotheksfreigaben können den Teamprojekten und Teamprojektauflistungen in Team Foundation Server zugewiesen werden.

Lab Management

Konzept

Beschreibung

Virtuelle Umgebung

Eine Sammlung von virtuellen Computern, die auf Hyper-V-Hosts ausgeführt werden, werden von System Center Virtual Machine Manager verwaltet. Von Lab Management werden sie als logische Einheit verwaltet. Jeder virtuelle Computer, den Sie der Umgebung hinzufügen, wird für eine Rolle in der Anwendung verwendet. So können Sie für einen virtuellen Computer beispielsweise die Rolle des Webservers auswählen.

Physische Umgebung

Eine Sammlung von physischen Computern, auf denen jeweils Test-Agent installiert ist. Wenn virtuelle Computer auf einer Nicht-Hyper-V-Plattform ausgeführt werden, können Sie sie als physische Computer in Lab Management in Modellform darstellen.

Lab-Center

Der Aktivitätsbereich in Microsoft Test Manager, in dem die virtuellen Computer und Umgebungen verwaltet und ausgeführt werden, die in den SCVMM-Hostgruppen des Teamprojekts bereitgestellt werden.

Teamprojektbibliothek

Der Aktivitätsbereich in Test Manager, in dem die gespeicherten virtuellen Computer, Vorlagen und gespeicherten Umgebungen verwaltet werden, die sich in den SCVMM-Bibliotheksfreigaben des Teamprojekts befinden.

Sie können entweder physische oder virtuelle Computer bei der Erstellung und Verwaltung von Umgebungen, für Tests oder für Buildbereitstellung verwenden.

Erstellen und Verwalten von Umgebungen

Das Erstellen von virtuellen Computern anhand einer Vorlage, das Klonen von Umgebungen mithilfe von Netzwerkisolation, VM-Vorgänge wie Starten/Beenden/Momentaufnahme/Anhalten sind ausschließlich für Hyper-V-basierte virtuelle Umgebungen und nicht für Nicht-Hyper-V-Umgebungen bzw. physische Umgebungen verfügbar.

Testen

Mit Microsoft Test-Manager können Sie Tests sowohl in virtuellen als auch in physischen Umgebungen ausführen. Die Funktionen sind hier vollkommen identisch, d. h., Sie können automatisierte und manuelle Tests ausführen und eine umfangreiche Sammlung mit Diagnosedaten aus allen verschiedenen Umgebungen erstellen – Hyper-V, Nicht-Hyper-V und physisch.

Bereitstellung von Builds

Mithilfe der in TFS 2010 enthaltenen Vorlage (labdefaulttemplate.xaml) können Sie den Erstellungs-, Bereitstellungs- und Testworkflow in virtuellen Hyper-V-Umgebungen problemlos automatisieren.

Für physische Umgebungen ist eine derartige Vorlage standardmäßig nicht verfügbar. Da die Automatisierung jedoch auf Windows Workflow Foundation 4.0 basiert, können Sie die Vorlage mit den Aktivitäten in der Toolbox anpassen (oder eigene Vorlagen erstellen), um die Buildbereitstellung und Tests auf physischen Computern zu automatisieren. Dies bedeutet, dass Sie bei Nicht-Hyper-V-Umgebungen ebenso vorgehen können. Beachten Sie jedoch, dass die speziellen Aktionen in Zusammenhang mit der virtuellen Umgebung (Zurücksetzen auf Momentaufnahme/Umgebung starten und beenden) für physische Umgebungen und Nicht-Hyper-V-Umgebungen nicht verfügbar sind.

Lab Management ist mit beiden virtuellen Umgebungen möglich, die in Hyper-V-Umgebungen und physischen Umgebungen gehostet werden, doch die Funktionen der einzelnen Umgebungstypen sind unterschiedlich. Virtuelle Umgebungen auf Nicht-Hyper-V-Hosts werden genauso wie physische Umgebungen behandelt. In der folgenden Tabelle werden die verschiedenen Funktionen für jeden Umgebungstyp zusammengefasst.

Funktion

Virtuelle Umgebungen (Hyper-V)

Physische Umgebungen

Virtuelle Umgebungen (Nicht-Hyper-V)

Testen

Ausführen von Komponententests

Unterstützt

Unterstützt

Unterstützt

Ausführen von manuellen Tests

Unterstützt

Unterstützt

Unterstützt

Ausführen von Tests der codierten UI und von anderen automatisierten Tests

Unterstützt

Unterstützt

Unterstützt

Erfassen von komplexen Fehlern mithilfe von Diagnoseadaptern

Unterstützt

Anpassung erforderlich

Anpassung erforderlich

Bereitstellung von Builds

Automatischer Erstellungs-, Bereitstellungs- und Testworkflow

Unterstützt

Umgebungserstellung und -verwaltung

Erstellen von Umgebungen mit VM-Vorlagen

Unterstützt

nicht verfügbar

Nicht unterstützt

Start-, Beendigungs- und Momentaufnahmenumgebung

Unterstützt

Nicht unterstützt

Nicht unterstützt

Herstellen einer Verbindung mit dem Umgebungs-Viewer

Unterstützt

Nicht unterstützt

Nicht unterstützt

Klonen von Umgebungen mithilfe von Netzwerkisolation

Unterstützt

nicht verfügbar

Nicht unterstützt

Aktuelle Informationen zur Unterstützung für Umgebungen, in denen die virtuellen Computer verwendet werden, die auf Nicht-Hyper-V-Hosts ausgeführt werden, z. B. VMWare, finden Sie auf der folgenden Microsoft-Webseite.

Nächste Schritte

Aufgabe

Verwandter Inhalt

Probieren Sie es aus: Ermitteln Sie die Ressourcen für die Erstkonfiguration von Team Foundation Server, SCVMM und Lab Management, erstellen Sie anschließend virtuelle Computer in einer Umgebung, und führen Sie diese aus.

Erste Schritte mit Lab-Management

Erstellen Sie virtuelle Umgebungen für Ihr Lab:  Lab Management bietet mehrere Möglichkeiten für die Erstellung und Verwendung von virtuellen Umgebungen. Erfahren Sie, wie Sie die optimal für Sie geeigneten virtuellen Umgebungen erstellen können.

Konzepte und Richtlinien für virtuelle Umgebungen

Erstellen von virtuellen Umgebungen

Integrieren von Lab Management in den Testlebenszyklus: Erfahren Sie, wie Sie Tests mithilfe von virtuellen Umgebungen effizienter gestalten und die Reproduktion und Freigabe von Fehlern vereinfachen können.

Testen mithilfe von virtuellen Umgebungen

Erfassen des vollständigen Status einer virtuellen Umgebung: Mit Lab Management-Momentaufnahmen können Sie den genauen Zustand einer Umgebung zu einem bestimmten Zeitpunkt speichern. Tester und Entwickler können dann die Umgebung in diesem Zustand wiederherstellen. Sie können Momentaufnahmen verwenden, um eine unveränderte Umgebung zum Testen zu erstellen oder einen Fehler bzw. ein Entwicklungsproblem zu reproduzieren.

Verwenden von Snapshots zum Speichern, Reproduzieren und Freigeben des Status von virtuellen Umgebungen

Automatisches Erstellen, Bereitstellen und Testen von Anwendungen:   Kombinieren Sie virtuelle Lab Management-Umgebungen mit Teambuild-Workflows und Test Manager-Testplänen, um die Bereitstellung und Tests der regelmäßig geplanten Erstellung einer Anwendung zu automatisieren, die sich in der Entwicklung befindet.

Bereitstellen einer Anwendung für eine virtuelle Umgebung

Anpassen der Standardworkflowvorlage: Fügen Sie der Lab-Standardworkflowvorlage weitere Aktivitäten hinzu, um die zusätzlichen Anforderungen im Erstellungs-, Bereitstellungs- und Testszenario zu erfüllen.

Anpassen des Lab-Management-Workflows

Weitere Informationen und Unterstützung erhalten Sie in MSDN-Blogs und -Foren: Lab Management-Blogs und -Foren beinhalten Problembehandlungsinformationen und Antworten auf bestimmte Fragen zur Verwendung von virtuellen Umgebungen.

Problembehandlung im Lab-Management

Siehe auch

Aufgaben

Konfigurieren und Verwalten von Lab-Management

Konzepte

Debuggen mit IntelliTrace

Testen der Anwendung

Weitere Ressourcen

Erstmaliges Konfigurieren von Lab-Management