Verwenden des Buildsystems zum Arbeiten mit Tests

Sie können einen Buildprozess definieren, mit dem Tests ausgeführt und die Auswirkungen von Codeänderungen auf Tests analysiert werden. Beispielsweise können Sie einen Buildprozess definieren, den Sie als regelmäßig geplanten Buildüberprüfungs-Testlauf (Build Verification Test, BVT) Ihres Teams verwenden.

In diesem Thema

  • Vorbereiten der Testläufe im Buildprozess

  • Arbeiten mit Tests in einem auf DefaultTemplate.xaml basierenden Build

    • Erforderliche Berechtigungen

    • Ausführen von automatisierten Tests

    • Vorübergehendes Deaktivieren von Tests

    • Aktivieren der Testauswirkungsanalyse

  • Arbeiten mit Tests in einem benutzerdefinierten Buildprozess

  • Weitere Informationen

Vorbereiten der Testläufe im Buildprozess

Vorbereiten der Tests: Stellen Sie sicher, dass bei den beim Buildvorgang ausgeführten Tests keine Benutzeroberfläche angezeigt wird. Im Allgemeinen sind Tests, bei denen eine Benutzeroberfläche angezeigt wird, nicht zum Ausführen im Buildsystem geeignet. Wenn Sie im Buildsystem einen Test ausführen müssen, bei dem eine Benutzeroberfläche angezeigt wird, müssen Sie die Builddefinition auf einem interaktiv ausgeführten Computer ausführen. Weitere Informationen finden Sie unter Konfigurieren eines Buildcomputers.

Vorbereiten des Buildcomputers: Manche Arten von Tests können nur von einem Build-Agent auf einem besonders konfigurierten Buildcomputer ausgeführt werden. Bevor Sie versuchen, mit dem Buildprozess Tests auszuführen, stellen Sie sicher, dass diese auf dem zu verwendenden Buildcomputer ausgeführt werden können. Weitere Informationen finden Sie unter Verwenden des Build-Agents zum Ausführen von Tests.

Arbeiten mit Tests in einem auf DefaultTemplate.xaml basierenden Build

Sie können den Build so entwerfen, dass mindestens ein automatisierter Test ausgeführt wird und die Auswirkungen von Codeänderungen auf die Tests analysiert werden.

Erforderliche Berechtigungen

Zum Ausführen dieser Prozeduren muss für Sie die Berechtigung Builddefinition bearbeiten auf Zulassen festgelegt sein. Weitere Informationen finden Sie unter Team Foundation Server-Berechtigungen.

Ausführen von automatisierten Tests

Sie können den Build für die Ausführung von einem oder mehreren automatisierten Testläufen entwerfen. Für jeden Testlauf, den Sie eingerichtet haben, können Sie die folgenden Einstellungen festlegen:

  • Die auszuführenden Tests

  • Die Einstellungen zum Ausführen des Tests

  • Ob der Build fehlschlagen soll, wenn ein Test fehlschlägt

So konfigurieren Sie den Build zum Ausführen von automatisierten Tests

  1. Erweitern Sie auf der Registerkarte Prozess der Builddefinition den Knoten Standard.

  2. Wählen Sie das Feld Automatisierte Tests aus, und klicken Sie dann in diesem Feld auf die Schaltfläche mit den Auslassungspunkten (...).

    Das Dialogfeld Automatisierte Tests wird angezeigt.

  3. Führen Sie einen der folgenden Schritte aus:

    • Klicken Sie auf Hinzufügen, um einen Test hinzuzufügen.

    • Um einen vorhandenen Testlauf zu ändern, klicken Sie auf den Testlauf und dann auf Bearbeiten.

    Das Dialogfeld Test hinzufügen wird angezeigt.

  4. Klicken Sie auf die Methode, mit der Sie die Tests ausführen möchten:

    • Dateiangabe für Testassemblys (empfohlen)

      Übernehmen Sie den Standardwert (**\*test*.dll), wenn der Build-Agent rekursiv alle DLL-Dateien im Unterverzeichnis binaries des Arbeitsverzeichnisses des Build-Agents suchen soll, die mit *test*.dll übereinstimmen. Alternativ können Sie die Dateispezifikation entsprechend Ihren Anforderungen ändern.

      (Optional) Geben Sie unter Testeinstellungsdateien eine Testeinstellungsdatei an, um die Ausführung der Tests zu konfigurieren. Weitere Informationen finden Sie unter Erstellen von Testeinstellungen zum Ausführen von automatisierten Tests in Visual Studio.

    • Testmetadateien (.vsmdi)

      Wenn Sie auf diese Option klicken, klicken Sie auf Durchsuchen, um die Testmetadatendatei zu suchen und anzugeben, die Sie verwenden möchten. Sie können dann das Kontrollkästchen Alle Tests in dieser VSMDI-Datei ausführen aktiviert lassen oder aber deaktivieren und in der Liste Auszuführende Testlisten einen oder mehrere Tests auswählen.

      Weitere Informationen finden Sie unter Definieren von Testlisten zum Gruppieren von Tests.

  5. Klicken Sie auf die Registerkarte Kriterien/Argumente.

  6. (Optional) Filtern Sie die auszuführenden Tests nach Kategorie.

    Weitere Informationen finden Sie weiter unten in diesem Thema unter Angeben von Testkategorien.

  7. (Optional) Filtern Sie die auszuführenden Tests nach Priorität.

    Tipp

    Wenn Sie den Tests Prioritäten zuordnen, können Sie mit diesem Parameter einen besseren Kompromiss zwischen gründlichen Tests und schnelleren Builds erzielen.

    Legen Sie Minimale Testpriorität auf eine positive ganze Zahl, die kleiner oder gleich Maximale Testpriorität ist, oder auf -1 fest, um keinen minimalen Wert festzulegen.

    Legen Sie Maximale Testpriorität auf eine positive ganze Zahl fest, die größer oder gleich Mindesttestpriorität ist, oder auf -1, um keinen maximalen Wert festzulegen.

  8. Wenn der Build bei Fehlschlagen eines der Tests im Testlauf fehlschlagen soll, aktivieren Sie das Kontrollkästchen Buildfehler bei Testfehler. Wenn Sie dieses Kontrollkästchen deaktiviert lassen und einer der Test fehlschlägt, wird der abgeschlossene Build als Teilweise erfolgreich klassifiziert.

  9. Klicken Sie auf OK.

Angeben von Testkategorien

Sie können die während eines Testlaufs ausgeführten Tests nach Testkategorien filtern.

Kategorisieren der Tests

Mit Test Professional können Sie den Tests Kategorien zuweisen. Sie können z. B. eine Testkategorie mit dem Namen FI erstellen und dann in den fortlaufenden Integrationsbuilds diese Kategorie angeben. Sie können eine weitere Kategorie mit dem Namen bt für die Buildüberprüfungstests erstellen und dann in geplanten Builds, z. B. dem nächtlichen Build, diese Kategorie angeben.

Weitere Informationen finden Sie unter Definieren von Testkategorien zum Gruppieren von Tests.

Angeben von Testkategorien für einen Testlauf

Testkategorien können Sie auf die folgenden Arten angeben:

  • Beim Erstellen des Testlaufs, wie weiter oben in diesem Thema erläutert.

  • Durch das Ändern eines vorhandenen Testlaufs (Sie ändern einen vorhandenen Testlauf, indem Sie den Knoten Standard erweitern, den Knoten Automatisierte Tests erweitern, den zu ändernden Testlauf erweitern und dann in das Feld Kategoriefilter klicken.)

Sie können Testkategorien mit einem der folgenden Verfahren angeben:

  • Geben Sie eine einzelne Testkategorie an, die eingeschlossen oder ausgeschlossen werden soll. Angenommen, Sie verfügen über eine Testkategorie mit dem Namen bvt. Sie legen dann diesen Parameter auf bvt fest, um nur Tests in dieser Kategorie auszuführen, oder auf !bvt, um alle Tests außer denen in dieser Kategorie auszuführen.

  • Geben Sie mit dem Operator && (Operator AND) und dem Operator ! (Operator NOT) mehrere Testkategorien an. Sie können z. B. schnell&&gui&&!tief angeben, um nur solche Tests auszuführen, die den Kategorien schnell und gui, jedoch nicht der Kategorie tief angehören.

  • Geben Sie mit dem Operator | (Operator OR) und dem Operator ! (NOT-Operator). Sie können z. B. schnell|gui|!tief angeben, um nur Tests in der Kategorie schnell, Tests in der Kategorie gui und alle Tests, die nicht der Kategorie tief angehören, auszuführen.

Einrichten von mehreren Testläufen

Sie können so viele Testläufe einrichten, wie erforderlich sind, um die Anforderungen für den Build- und Testvorgang des Teams zu erfüllen. Möglicherweise müssen Sie z. B. in den folgenden Szenarien mehrere Testläufe in einem einzelnen Build einrichten:

  • Sie verfügen über zwei Sätze von Tests:

    • Ein Satz von Kerntests oberster Priorität, die erfolgreich ausgeführt werden müssen. Sie fügen einen Testlauf hinzu, für den als Mindesttestpriorität und als Maximale Testpriorität 1 angegeben ist. Sie aktivieren das Kontrollkästchen Buildfehler bei Testfehler.

    • Ein Satz von weniger wichtigen Tests, die Sie ausführen möchten, die jedoch nicht erfolgreich ausgeführt werden müssen, damit der Build verwendbar ist. Sie fügen einen Testlauf hinzu, für den als Mindesttestpriorität 2 und als Maximale Testpriorität 3 angegeben ist. Sie lassen das Kontrollkästchen Buildfehler bei Testfehler deaktiviert.

  • Sie möchten den gleichen Satz von Tests mit unterschiedlichen Testeinstellungen ausführen.

  • Auf den Hauptsatz von Assemblys, die Sie erstellen, soll Codeabdeckung angewendet werden. Sie verfügen jedoch über einen weiteren Satz von Assemblys aus einer externen Quelle, die keine Codeabdeckung erfordern. Für diese Art von Vorgang können Sie zwei Testläufe verwenden, die für die Nutzung von zwei Sätzen von Testeinstellungsdateien konfiguriert sind.

Vorübergehendes Deaktivieren von Tests

Wenn Sie Tests vorübergehend deaktivieren müssen, ohne die Testläufe zu löschen, erweitern Sie den Knoten Erweitert, und legen Sie Deaktiviert auf True fest. Setzen Sie den Wert auf False zurück, wenn Sie die Tests wieder aktivieren möchten.

Aktivieren der Testauswirkungsanalyse

Die Tester und Entwickler müssen möglicherweise wissen, wie sich Codeänderungen in einem abgeschlossenen Build auf die Tests ausgewirkt haben. Wenn Sie die Testauswirkungsanalyse in einem Build aktivieren, analysiert das System, wie sich Codeänderungen auf die Tests ausgewirkt haben, und gibt diese Auswirkungen im Buildbericht des abgeschlossenen Builds an.

So aktivieren Sie die Testauswirkungsanalyse

  1. Konfigurieren Sie die Testauswirkungsanalyse in einer Testeinstellungsdatei.

    Weitere Informationen finden Sie unter Gewusst wie: Sammeln von Daten, um zu überprüfen, welche Tests nach Codeänderungen ausgeführt werden sollen.

  2. Erstellen Sie einen Testlauf, der für die Verwendung der Testeinstellungsdatei konfiguriert ist.

    Weitere Informationen finden Sie weiter oben in diesem Thema unter Ausführen von automatisierten Tests.

  3. Erweitern Sie den Knoten Erweitert, und stellen Sie sicher, dass Testauswirkung analysieren auf True und Deaktiviert auf False festgelegt ist.

Arbeiten mit Tests in einem benutzerdefinierten Buildprozess

Sie können Tests ausführen und die Auswirkungen von Codeänderungen auf Tests in einem benutzerdefinierten Buildprozess analysieren. Weitere Informationen finden Sie unter Ausführen von Tests (MSTest-Aktivität).

Weitere Informationen

Unter Definieren eines Builds mithilfe der Standardvorlage finden Sie weitere Informationen zum Erstellen einer Builddefinition, die auf DefaultTemplate.xaml beruht.

Unter Gewusst wie: Konfigurieren und Ausführen von geplanten Tests nach dem Erstellen der Anwendung finden Sie weitere Informationen zum Ausführen von Tests im Buildsystem.

Siehe auch

Weitere Ressourcen

Definieren des Buildprozesses

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

Mai 2011

Thema hinzugefügt.

Informationsergänzung.