Guidance for Build, Deploy and Test Workflows

In diesem Thema werden die empfohlenen Vorgehensweisen beim Erstellen, Bereitstellen und Testen von Workflows beschrieben. Sie können den für Sie am besten geeigneten Ansatz auf Grundlage Ihrer Anforderungen bestimmen. Ihre Anforderungen können sich jedoch im Verlauf des Projektzyklus ändern. Möglicherweise erstellen Sie die Anwendung zu Beginn des Projekts nur jede Nacht. Im Verlauf des Projekts möchten Sie dann möglicherweise die Qualität des Builds testen, indem Sie diesem Workflow Komponententests hinzufügen. Diese werden oft als Buildüberprüfungstests oder Feuerproben bezeichnet. Wenn die Testteams zum Ausführen von Tests bereit sind, können Sie die Workflowautomatisierung um das Bereitstellen der Anwendung erweitern. Sie können dann manuelle oder automatisierte Tests mit der neuesten bereitgestellten Version der Anwendung ausführen. Oder Sie möchten automatisierte Tests als vollständigen Workflow erstellen, bereitstellen und ausführen, um die Qualität des Builds bei dessen Bereitstellung zu überprüfen.

Sie können automatisierte Tests als Teil dieser Workflows aus der Assembly für ein Testprojekt ausführen (mit mstest.exe). Alternativ können Sie automatisierte Tests aus einer Testsammlung im Testplan ausführen (mit tcm.exe). Um automatisierte Tests aus einem Testplan auszuführen, müssen Sie diese Aufgaben ausführen:

  1. Erstellen Sie einen Testplan und eine Testsammlung: Definieren des Testaufwands mit Testplänen.

  2. Ordnen Sie die automatisierten Tests Testfällen in einer Testsammlung zu: Gewusst wie: Zuordnen eines automatisierten Tests zu einem Testfall.

  3. Erstellen Sie eine physische oder virtuelle Umgebung: Umgebungen.

Verwenden Sie die Informationen in den folgenden Abschnitten zur Einrichtung der Softwarekomponenten für die Aufgaben, die der Workflow umfassen soll:

  • Anforderungen

    Im folgenden Abschnitt werden die Anforderungen beschrieben, um das Erstellen, Bereitstellen und Testen zu einem Teil des Workflows zu machen: Anforderungen.

  • Build

    Wenn Sie die Anwendung nur erstellen möchten, können Sie das mithilfe der Standardbuildvorlage machen. Weitere Informationen zum Einrichten eines Builds finden Sie unter Erstellen der Anwendung.

  • Erstellen und Testen

    Wenn Sie automatisierte Tests als Teil des Buildprozesses ausführen möchten, können Sie mithilfe der Standardbuildvorlage festlegen, dass die Tests aus dem Testprojekt ausgeführt werden. Wenn die Tests bestanden werden, gilt der Build als erfolgreich. Erstellen und Ausführen automatisierter Tests

    Wichtig

    Führt Tests als Teil des Buildprozesses mit mstest.exe aus. Weitere Informationen zu "mstest.exe" finden Sie unter Befehlszeilenoptionen für MSTest.exe.

  • Erstellen und Bereitstellen

    Wenn Sie manuelle Tests aus dem Testplan mithilfe des letzten Builds der Anwendung ausführen möchten, können Sie die Anwendung erstellen und dann in einer physischen oder virtuellen Umgebung bereitstellen. Erstellen, Bereitstellen und Ausführen manueller Tests aus einem Testplan

  • Erstellen, Bereitstellen und Testen

    Wenn Sie die Qualität der Anwendung nach der Bereitstellung überprüfen möchten, können Sie die Anwendung erstellen und bereitstellen sowie unter Verwendung einer physischen oder virtuellen Umgebung automatisierte Tests aus einem Testplan ausführen. Erstellen, Bereitstellen und Ausführen automatisierter Tests aus einem Testplan mithilfe einer Umgebung

    Wichtig

    Führt Tests als Teil des Buildprozesses mit tcm.exe aus. Weitere Informationen zu "tcm.exe" finden Sie unter tcm: Importing and Running Automated Tests for a Test Plan from the Command Line.

Anforderungen

Auf Grundlage der Aufgaben, die der Workflow umfassen soll, können Sie die erforderlichen Komponenten für jede Aufgabe auf physischen oder virtuellen Computern installieren. In der folgenden Abbildung wird ein Beispiel dafür gezeigt, wie Sie die Software auf Grundlage der Informationen in diesem Abschnitt installieren können:

Anforderungen für das Erstellen, Bereitstellen und Testen

Softwareanforderungen für alle Aufgaben

  • Team Foundation Server

Softwareanforderungen für das Erstellen

  • Buildcontroller

    Mindestens ein Buildcontroller ist für jede Teamprojektsammlung erforderlich.

  • Build-Agent

    Mindestens ein Build-Agent ist für jeden Buildcontroller erforderlich.

Softwareanforderungen für das Bereitstellen

  • Ein Buildcontroller (kann mit dem zum Erstellen der Anwendung verwendeten Buildcontroller identisch sein)

  • Für eine virtuelle Umgebung: ein Build-Agent und ein Lab-Agent auf jedem Computer in der virtuellen Umgebung

Softwareanforderungen für Tests mit Umgebungen

  • Testcontroller

    Mindestens ein Testcontroller ist für jede Teamprojektsammlung erforderlich.

  • Test-Agents

    Ein Test-Agent ist auf jedem Computer in der Umgebung erforderlich.

  • Für eine virtuelle Umgebung: Ein Lab-Agent auf jedem Computer in der virtuellen Umgebung (zusätzlich zum Test-Agent)

Weitere Informationen zur Zusammenarbeit dieser Komponenten zum Ausführen von Tests finden Sie unter Einrichten von Testcomputern zum Ausführen von Tests oder Sammeln von Daten.

Weitere Informationen zum Installieren dieser Komponenten finden Sie unter Installing and Configuring Visual Studio Agents and Test and Build Controllers.

Die Informationen in den folgenden Abschnitten unterstützen Sie bei der Entscheidung, auf welchen Computern Sie Softwarekomponenten installieren. Dann können Sie bestimmen, wie viele Computer Sie für Ihr Szenario benötigen.

Computeranforderungen für Buildcontroller und Build-Agents

Bei der Bestimmung der erforderlichen Computer muss die Topologie auf den folgenden Informationen basieren:

  • Sie benötigen einen Buildcontroller pro Teamprojektsammlung.

  • Auf jedem Computer kann sich nur ein Buildcontroller befinden.

  • In einer typischen Installation können die Aufgaben, die der Build-Agent ausführt, zu einer hohen Prozessorauslastung führen. Hierdurch könnte die Leistung von Team Foundation Server erheblich beeinträchtigt werden. In diesem Fall sollte sich der Build-Agent auf einem anderen Computer als Team Foundation Server befinden.

  • Sie können den Buildcontroller auf dem gleichen Computer wie Team Foundation Server installieren. Wenn der Buildcontroller viele aktive Build-Agents verwaltet, können die Anforderungen an den Arbeitsspeicher des Systems höher sein, und Sie könnten sich entscheiden, den Buildcontroller auf einem separaten Computer zu installieren.

Wenn Sie z. B. über drei Teamprojektsammlungen verfügen und jede davon zu erstellende Anwendungen enthält, benötigen Sie drei Computer für die drei Buildcontroller oder zwei zusätzliche Computer, wenn Sie auf dem Team Foundation Server einen Buildcontroller installieren.

Wichtig

Weitere Informationen zu den Topologien, mit denen Sie den Buildcontroller und die Build-Agents einrichten können, finden Sie unter Beispiele für die Topologie des Buildsystems.

Computeranforderungen für Testcontroller und Test-Agents

Um Kommunikationsprobleme zwischen Softwarekomponenten zu verringern, empfiehlt es sich, dass der Testcontrollercomputer und der Team Foundation Server-Computer sich in der gleichen Domäne befinden. Weitere Informationen zum Installieren von Komponenten in verschiedenen Domänen oder Arbeitsgruppen finden Sie unter Anforderungen für Arbeitsgruppen und mehrere Domänen.

Um die für Testcontroller benötigten Computer zu bestimmen, müssen Sie sich auf Grundlage der folgenden Informationen für die benötigte Topologie entscheiden:

  • Wenn Sie eine physischen oder virtuelle Umgebung für Tests einsetzen, benötigen Sie einen Testcontroller.

  • Sie können einen einzelnen Testcontroller mit mehreren physischen oder virtuellen Umgebungen verwenden.

  • Sie müssen einen Testcontroller in der Teamprojektsammlung registrieren, die die Umgebungen enthält.

  • Jeder Testcontroller kann nur in einer einzelnen Teamprojektsammlung registriert werden.

  • Jeder erforderliche Testcontroller muss auf einem separaten Computer installiert sein.

Wenn Sie z. B. über drei Teamprojektsammlungen verfügen, für die Sie Umgebungen erstellen möchten, müssen Sie mindestens drei Testcontroller haben. Hierfür sind mindestens drei Computer erforderlich.

Tipp

Wenn Sie in einer Teamprojektsammlung über viele Umgebungen verfügen und mehr als einen Testcontroller benötigen, können Sie mehrere Testcontroller beim gleichen Team Foundation Server registrieren.

Verringern der Anzahl der für Buildcontroller und Testcontroller erforderlichen Computer

Wenn Sie mehrere Buildcontroller und Testcontroller benötigen, können Sie die Computeranforderungen verringern, indem Sie einen Testcontroller und einen Buildcontroller auf dem gleichen Computer installieren. Wenn Sie z. B. über die drei Teamprojektsammlungen "A", "B" und "C" verfügen, von denen jede einen Buildcontroller und einen Testcontroller erfordert, können Sie den Buildcontroller und den Testcontroller auf dem gleichen Computer installieren. Bei diesem Ansatz benötigen Sie statt sechs Computern nur drei Computer für die Controller.

Erstellen und Ausführen automatisierter Tests

Damit Sie das Erstellen und Testen als Workflowaufgaben verwenden können, müssen Sie die folgenden Informationen in der Standardbuilddefinition angeben, die Sie erstellen:

Die Tests aus der Testassembly, die sich im Ablageordner befindet, werden wie in der folgenden Abbildung gezeigt vom Build-Agent mithilfe von mstest.exe ausgeführt. Sie können die Standardtesteinstellungen (local.testsettings) aus der Lösung für die Anwendung verwenden, um die Tests mithilfe des Build-Agents lokal auszuführen.

Tipp

Um die Datei "local.testsettings" als Teil des Buildprozesses zu verwenden, müssen Sie diese Datei in Team Foundation Server einchecken.

Wenn Sie Tests mit nur einem Build-Agent ausführen, können Sie keine Informationen mit Adaptern für diagnostische Daten sammeln. Wenn Sie Adapter für diagnostische Daten in diesem Szenario verwenden möchten, müssen Sie auf dem Computer mit dem Build-Agent einen Test-Agent installieren. Alternativ können Sie eine physische oder virtuelle Umgebung verwenden, wie im folgenden Abschnitt beschrieben: Erstellen, Bereitstellen und Ausführen automatisierter Tests aus einem Testplan.

Erstellen und Testen ohne Test-Agent

Die ausführlichen Schritte zum Erstellen und Ausführen von Tests für den Workflow finden Sie unter Gewusst wie: Konfigurieren und Ausführen von geplanten Tests nach dem Erstellen der Anwendung.

Warnung

Es wird davon abgeraten, einen Testcontroller mit den Testeinstellungen zu verwenden, um Tests als Teil der Builddefinition remote auszuführen. Wenn Sie einen Testcontroller und Test-Agents verwenden möchten, sollten Sie eine physische oder virtuelle Umgebung verwenden, wie im folgenden Abschnitt beschrieben: Erstellen, Bereitstellen und Ausführen automatisierter Tests aus einem Testplan.

Wenn Sie sich lediglich mit der Definition eines Workflows mithilfe von Visual Studio, Team Foundation Server und Team Foundation Build vertraut machen, können Sie alle Komponenten auf einem Computer installieren. Diese Vorgehensweise wird jedoch nicht empfohlen, wenn dieses System über mehrere Benutzer verfügt und Sie mehrere Builds ausführen.

Tipp

Zum Ausführen von Tests der codierten UI empfiehlt es sich, die Anwendung zuerst in einer physischen oder virtuellen Umgebung bereitzustellen. Bei diesem Ansatz, können Sie die gleiche Umgebung verwenden, wenn Sie manuelle Schritte ausführen müssen, um einen Testfehler zu untersuchen. Um Tests der codierten UI auszuführen, ohne die Anwendung bereitzustellen, müssen Sie den Build-Agent konfigurieren, der verwendet wird, um die Interaktion mit dem Desktop zu ermöglichen. Außerdem müssen Sie auf dem Buildcomputer einen Test-Agent installieren und den letzten Build aus dem Ablageordner für die Tests verwenden. Weitere Informationen zum Einrichten des Build-Agents finden Sie unter Einrichten der Agents zum Ausführen von Tests der codierten UI.

Erstellen und Bereitstellen

Um die Anwendung für den Workflow zu erstellen und bereitzustellen, müssen Sie eine physische oder virtuelle Umgebung verwenden.

Virtuelle Umgebungen

Um eine virtuelle Umgebung zu verwenden, die Visual Studio Lab Management für die Erstellung und Bereitstellung nutzt, verwenden Sie die Lab-Standardvorlage. Mit dieser Lab-Vorlage können Sie die folgenden Aktionen ausführen:

  • Auswählen der virtuellen Umgebung, die Sie verwenden möchten

  • Auswählen einer Momentaufnahme für diese Umgebung, die als Anfangspunkt für die Bereitstellung verwendet werden soll

  • Auswählen der Builddefinition oder des Builds, die bzw. der zur Bereitstellung der Anwendung verwendet werden soll

  • Hinzufügen von Skripts, die zur Bereitstellung der Anwendung ausgeführt werden sollen, aus dem Ablageordner

  • Erstellen einer Momentaufnahme der virtuellen Umgebung nach der Bereitstellung als Teil des Erstellungs- und Bereitstellungsworkflows

Sie können mithilfe der virtuellen Umgebung manuelle Tests mit dem in dieser Umgebung bereitgestellten Build ausführen. Alternativ können Sie automatisierte Tests ausführen. Weitere Informationen zum Erstellen und Bereitstellen einer Anwendung in einer virtuellen Umgebung finden Sie unter Gewusst wie: Bereitstellen einer Anwendung in einer virtuellen Umgebung. Weitere Informationen zum Ausführen manueller Tests mithilfe einer virtuellen Umgebung finden Sie unter Gewusst wie: Ausführen von manuellen Tests und Erstellen von reproduzierbaren Fehlern mit virtuellen Umgebungen.

Physische Umgebungen

Wenn Sie die Anwendung in einer physischen Umgebung bereitstellen möchten, können Sie die Vorlage für eine Builddefinition anpassen. Weitere Informationen zum Anpassen einer Buildprozessvorlage finden Sie unter Erstellen und Verwenden einer benutzerdefinierten Buildprozessvorlage.

Mithilfe dieser Umgebung können Sie manuelle oder automatisierte Tests aus dem Testplan ausführen. Weitere Informationen zum Ausführen dieser Tests finden Sie unter Ausführen von manuellen Tests mit Test Runner sowie unter Grundlagenhandbuch zum Ausführen von automatisierter Tests anhand eines Testplans.

Erstellen, Bereitstellen und Ausführen automatisierter Tests aus einem Testplan mithilfe einer Umgebung

Um automatisierte Tests auszuführen, die Teil eines Testplans in Ihrem Erstellungs-, Bereitstellungs- und Testprozess sind, müssen Sie eine physische oder virtuelle Umgebung verwenden. Von der Builddefinition werden die Tests mithilfe von tcm.exe ausgeführt. Wenn Sie diese Tests als Teil des Workflows ausführen, wird ein Testlauf für diese Tests erstellt, und die Testergebnisse können mithilfe von Microsoft Test Manager überprüft und analysiert werden. Weitere Informationen zum Analysieren der Testläufe finden Sie unter Gewusst wie: Analysieren eines Testlaufs mit Microsoft Test-Manager. Dabei können Sie auch historische Daten zur Qualität der Builds anzeigen. Sie können ermitteln, ob gleichbleibende Probleme mit der Qualität der Builds auftreten und für welche Bereiche der Anwendung Tests fehlschlagen.

Sie können physische oder virtuelle Computer verwenden, wenn Sie eine physische Umgebung für Tests erstellen, oder Sie können mithilfe von Visual Studio Lab Management eine virtuelle Umgebung erstellen. Eine virtuelle Umgebung ermöglicht es Ihnen, die Anwendung mit jedem Computer in der Umgebung in einem bekannten Zustand aus einer vorhandenen Momentaufnahme bereitzustellen. Außerdem können Sie Momentaufnahmen der Umgebung erstellen, nachdem die Anwendung bereitgestellt wurde, sodass Sie zu diesem bekannten Zustand zurückkehren können, um einen Fehler zu testen oder manuelle Tests auszuführen. Bei einer virtuellen Umgebung steht Ihnen eine sehr viel höhere Flexibilität zur Verfügung. Weitere Informationen zum Erstellen dieser Umgebungen finden Sie unter Erstellen einer physischen Umgebung für Tests und Erstellen von virtuellen Umgebungen.

Virtuelle Umgebungen

Sie können die Anwendung mithilfe der Standard-Lab-Vorlagendefinition, die zusammen mit Team Foundation Build bereitgestellt wird, in einer virtuellen Umgebung bereitstellen. Zur Verwendung einer virtuellen Umgebung ist Visual Studio Lab Management erforderlich. Mit dieser Lab-Vorlage können Sie die folgenden Aktionen ausführen:

  • Auswählen der virtuellen Umgebung, die Sie verwenden möchten

  • Auswählen einer Momentaufnahme für diese Umgebung, die als Anfangspunkt für die Bereitstellung verwendet werden soll

  • Auswählen der Builddefinition oder des Builds, die bzw. der zur Bereitstellung der Anwendung verwendet werden soll

  • Hinzufügen von Skripts, die zur Bereitstellung der Anwendung ausgeführt werden sollen, aus dem Ablageordner

  • Auswählen der Testsammlungen, Testkonfiguration und Testeinstellungen für den Testlauf

  • Erstellen einer Momentaufnahme der virtuellen Umgebung nach der Bereitstellung als Teil des Erstellungs- und Bereitstellungsworkflows

Weitere Informationen zum Einrichten der Builddefinition für die Standard-Lab-Vorlage zum Erstellen, Bereitstellen und Testen mithilfe einer virtuellen Umgebung finden Sie unter Gewusst wie: Konfigurieren und Ausführen von geplanten Tests nach dem Erstellen und Bereitstellen der Anwendung.

Erstellen, Bereitstellen und Testen in einer virtuellen Umgebung

Physische Umgebungen

Um die Anwendung in einer physischen Umgebung bereitzustellen und automatisierte Tests auszuführen, können Sie die Vorlage für eine Builddefinition anpassen. Weitere Informationen zum Anpassen einer Buildprozessvorlage finden Sie unter Erstellen und Verwenden einer benutzerdefinierten Buildprozessvorlage.

Erstellen, Bereitstellen und Testen in einer physischen Umgebung

Siehe auch

Konzepte

Einrichten von Testcomputern zum Ausführen von Tests oder Sammeln von Daten

Weitere Ressourcen

Anpassen des Lab-Management-Workflows