Ausführen von Testläufen im Buildprozess
Sie können Team Foundation Build verwenden, um im Rahmen der Tests für Ihren Buildprozess automatisierte Tests durchzuführen und die Auswirkungen von Codeänderungen zu analysieren.Beispielsweise können Sie einen Buildprozess definieren, den Sie als regelmäßig geplanten Buildüberprüfungs-Testlauf (Build Verification Test, BVT) Ihres Teams verwenden.Sie können auch über Ihre benutzerdefinierten Buildprozesse automatisierte Tests und dazugehörige Aufgaben durchführen.
Hinweis |
---|
Wenn Sie die Anwendung im Rahmen des Buildprozesses bereitstellen möchten, müssen Sie einen Erstellungs-, Bereitstellungs- und Testworkflow und eine Lab-Umgebung verwenden.Sie können dann automatisierte Tests als Teil des Workflows durchführen, oder Sie können Tests separat durchführen, nachdem der Workflow abgeschlossen wurde.Weitere Informationen finden Sie unter Einrichten automatischer Build-, Bereitstellungs- und Testworkflows. |
In diesem Thema
Vorbereiten der Testläufe im Buildprozess
Erforderliche Berechtigungen
Verwenden eines Testlaufs zum Durchführen automatisierter Tests
Auswählen und Konfigurieren einer Test Runner-Anwendung
Verwenden von Visual Studio Test Runner zum Durchführen von Tests
Verwenden von MSTest zur Durchführung von Tests
Vorübergehendes Deaktivieren von Tests
Aktivieren der Testauswirkungsanalyse
Konfigurieren eines Komponententestframework von Drittanbietern
Durchführen von Tests über einen benutzerdefinierten Buildprozess
Weitere Informationen
Vorbereiten der Testläufe im Buildprozess
Bevor Sie Tests im Buildprozess durchführen, müssen Sie die Tests und das Buildsystem normalerweise vorbereiten.
Vorbereiten der Tests: Stellen Sie sicher, dass die Projektmappe und die Testdateien in die Versionskontrolle eingecheckt werden.Siehe Verwenden der Versionskontrolle.
Kategorisieren und Priorisieren der Tests (optional): Sie können den Tests Kategorien und Prioritäten zuweisen und dann nach diesen Attributen filtern, wenn Sie die Tests im Build durchführen.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, TestCategoryAttribute und PriorityAttribute.
Vorbereiten des Buildserver vor: Einige Arten von Tests können nur von einem Build-Agent auf einem Buildserver ausgeführt werden, der besonders konfiguriert ist.Wenn Sie Tests der codierten UI ausführen, müssen Sie den Build-Agent konfigurieren, um interaktiv ausgeführt werden.Bevor Sie versuchen, den Buildprozess verwenden, um Tests auszuführen, stellen Sie sicher, dass diese auf dem Buildserver ausgeführt werden können, den Sie planen, zu verwenden.Weitere Informationen finden Sie unter Aktivieren Sie den Build-Agent, um Tests auszuführen.
Microsoft Visual Studio ist erforderlich, auf dem Buildserver für die folgenden Szenarien installiert werden:
Um jedes CPP-Testprojekt zu erstellen, müssen Sie Visual Studio Professional oder höher installieren.
Um Komponententests oder Tests der codierten UI auszuführen, müssen Sie Visual Studio Professional oder höher installieren.
So fügen Sie Daten und Adapter für diagnostische Daten verwenden:
Codeabdeckung: Visual Studio Premium oder höher.
Testauswirkungen: Visual Studio Ultimate.
IntelliTrace: Visual Studio Ultimate.
Wenn Sie einen modernen Format-Apps auf einem Buildcomputer erstellen: Visual Studio Ultimate oder Visual Studio Express for Windows 8 (Betriebssystem auf Buildserver muss Windows 8) sein.
So kompilieren und Tests für ein Projekt mit einer falschen Assembly: Visual Studio Ultimate.
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.
Durchführen von automatisierten Tests
Sie können eine oder mehrere Testläufe im Build ausführen, der auf Grundlage die Standardvorlage ist.Sie können für jede Ausführung die folgenden Einstellungen festlegen:
Durchzuführende Tests
Einstellungen zum Durchführen der Tests
Ob für den Build ein Fehler auftreten soll, wenn ein Test nicht erfolgreich ist
Um automatisierte Tests in einem Buildvorgang ausführen, der auf der Standardvorlage ist
Wählen Sie in der Menüleiste die Optionen Ansicht und Team Explorer aus.
Wählen Sie in Team Explorer die Option Startseite und dann Builds aus.
Wählen Sie auf der Seite Builds die Option Neue Builddefinition aus, oder öffnen Sie das Kontextmenü für den Build oder die Builddefinition, den bzw. die Sie ausgewählt haben, und klicken Sie auf Builddefinition bearbeiten.
Das Fenster "Builddefinition" wird angezeigt.
Erweitern Sie auf der Registerkarte Prozess der Builddefinition den Knoten Standard.
Wählen Sie das Kontrollkästchen Automatisierte Tests, und klicken Sie dann auf die Schaltfläche mit den Auslassungspunkten (...) aus.
Das Dialogfeld Automatisierte Tests wird angezeigt.
Führen Sie einen der folgenden Schritte aus:
Klicken Sie auf Hinzufügen, um einen Satz von Tests hinzuzufügen.
Um einen Satz von Tests zu ändern, wählen Sie ihn aus und klicken dann auf Bearbeiten.
Das Dialogfeld Test hinzufügen wird angezeigt.
(Optional) Geben Sie unter Name den Namen des Testlaufs an.Dieser Name wird im Fenster mit den Buildergebnissen angezeigt.Wenn Sie keinen Namen angeben, generiert das System den Namen automatisch.
Falls für den Build ein Fehler auftreten soll, wenn einer der Tests im Testlauf nicht erfolgreich ist, wählen Sie Buildfehler bei Testfehler aus.Wenn Sie dieses Kontrollkästchen deaktiviert lassen und einer der Test fehlschlägt, wird der abgeschlossene Build als Teilweise erfolgreich klassifiziert.
Wählen Sie einen Test Runner aus.Geben Sie mithilfe der angezeigten Optionen an, wie der Test Runner ausgeführt werden soll.Weitere Informationen finden Sie unter Auswählen und Konfigurieren einer Test Runner-Anwendung.
Auswählen und Konfigurieren einer Test Runner-Anwendung
Wählen Sie beim Definieren des Buildprozesses einen Test Runner aus, mit dem die erforderliche Funktionalität bereitgestellt wird.
Funktion |
Visual Studio Test Runner |
MSTest |
---|---|---|
Führen Sie Komponententests durch, die im Microsoft.VisualStudio.TestTools.UnitTesting-Framework geschrieben wurden. |
Ja |
Ja |
Durchführen von Tests codierter UI, generischen Tests und Testreihen |
Ja |
Ja |
Erfassen von Codeabdeckungsdaten |
Ja |
Ja |
Führen Sie Komponententests durch, die in mehreren Frameworks geschrieben wurden, z. B. NUnit, xUnit und andere. |
Ja |
Nein |
Führen Sie Komponententests in systemeigenen Binärdateien (z. B. C++) durch. |
Ja |
Nein |
Führen Sie Komponententests auf einer Windows Store-App durch. |
Ja |
Nein |
Durchführen von 64-Bit-Tests
Hinweis
Mit MSTest können 64-Bit-Tests in den Binärdateien durchgeführt werden, die mit einer beliebigen CPU als Plattform kompiliert werden.
|
Ja |
Nein |
Führen Sie Tests durch, die von Fakes-Framework-Objekten abhängig sind. Weitere Informationen zum Verwenden des Test-Fakes-Frameworks für die Erstellung von delegatbasierten Test-Stubs und -Shims in .NET Framework-Anwendungen finden Sie unter Isolieren von getestetem Code mithilfe von Microsoft Fakes. |
Ja |
Nein |
Generieren von Datenbanktestdaten und Durchführen von Komponententests |
Nein |
Ja |
Erfassen von Testauswirkungs-Analysedaten |
Nein |
Ja |
Durchführen von Auslastungs- und Webtests |
Nein |
Ja |
Hinweis |
---|
Einige dieser Funktionen werden nur auf einem Build-Agent auf einem Buildserver, der besonders konfiguriert ist.Weitere Informationen finden Sie unter Aktivieren Sie den Build-Agent, um Tests auszuführen. |
Wählen Sie einen Test Runner aus, nachdem Sie ermittelt haben, welche Funktionen der Test erfordert:
Visual Studio Test Runner
MSTest mit Testeinstellungsdatei
MSTest mit Metadatendatei
Verwenden von Visual Studio Test Runner zum Durchführen von Tests
So führen Sie Visual Studio Test Runner verwenden, um Tests aus einem Buildvorgang auszuführen, der auf der Standardvorlage ist
Öffnen Sie im Team Explorer Builds und fügen Sie dann eine Builddefinition hinzu oder bearbeiten Sie sie.
Erweitern Sie auf der Seite ProzessStandard und wählen Sie Automatisierte Tests aus.Wählen Sie die Schaltfläche mit den Auslassungspunkten (...) am Ende der Zeile aus und wählen dann zu Hinzufügen oder zu Bearbeiten eine Testquelle aus.
Wählen Sie im Dialogfeld Testlauf hinzufügen/bearbeiten unter Test RunnerVisual Studio Test Runner aus.
Dateiangabe für Testassemblys
Geben Sie die Binärdateien mit den Tests an, die Sie durchführen möchten.Ü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.
Wenn Sie möchten, dass der Testlauf Codeabdeckungsdaten erfasst und veröffentlicht, legen Sie bei den OptionenCodeabdeckung aktivieren fest.
Alternativ können Sie die Option Benutzerdefiniert verwenden, um eine RUNSETTINGS-Datei anzugeben.Weitere Informationen finden Sie unter Anpassen der Codeabdeckungsanalyse.
Wählen Sie im Menü Geben Sie die Zielplattform für die Testausführung an die Option x86 aus, um die 32-Bit-Binärdateien zu testen, oder x64, um die 64-Bit-Binärdateien zu testen.
Sie können Kriterien für die Tests angeben, die durchgeführt werden.
Angeben von Kriterien für die Tests, die von Visual Studio Test Runner durchgeführt werden
Sie können Name-Wert-Paare angeben, um die durchzuführenden Tests zu filtern.Wenn Sie Testkategorie- und Prioritätsattribute nutzen, um die Tests zu organisieren und zu priorisieren, können Sie die auszuführenden Tests filtern, indem Sie die Namen für TestCategory und Priorität verwenden.
Sie können Testkategorien mit einem der folgenden Verfahren angeben:
Geben Sie ein einzelnes Name-Wert-Paar an, das eingeschlossen werden soll. Angenommen, Sie verfügen über eine Testkategorie mit dem Namen bvt.Sie können z. B. die Option Testfallfilter auf "TestCategory=bvt" festlegen, um nur Tests in dieser Kategorie durchzuführen.
Geben Sie mit dem Operator || (Operator OR) mehrere Testkategorien an. Sie können z. B. "TestCategory=quick||TestCategory=gui" angeben, um Tests in der Kategorie "quick" und Tests in der Kategorie "gui'" durchzuführen.
Verwenden von MSTest zur Durchführung von Tests
So führen Sie Tests mithilfe MSTests in einem Buildvorgang ausführen, der auf der Standardvorlage ist
Verwenden Sie einen Testlauf, um automatisierte Tests und weitere Testaufgaben durchzuführen, und wählen Sie im Dialogfeld Testlauf hinzufügen/bearbeiten dann die Option Test Runner aus:
Runner "MSTest.exe"
Geben Sie die Binärdateien mit den Tests an, die Sie durchführen möchten.Ü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 Angeben von Testeinstellungen für Visual Studio-Tests.
MSTest-Testmetadatendatei (veraltet)
Wenn Sie diese Option auswählen, klicken Sie auf Durchsuchen, um die Testmetadatendatei 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.
Hinweis Testlisten sind veraltet.Weitere Informationen finden Sie unter Definieren von Testkategorien zum Gruppieren von Tests.
Klicken Sie auf die Registerkarte Kriterien/Argumente.
Sie können die durchzuführenden Tests nach Kategorie filtern.
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. "quick&gui&!deep" angeben, um nur solche Tests auszuführen, die den Kategorien "quick" und "gui" angehören, jedoch nicht der Kategorie "deep".
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.
(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.
Klicken Sie auf OK.
Vorübergehendes Deaktivieren von Tests
Wenn Sie Tests vorübergehend deaktivieren müssen, ohne die Testläufe zu löschen, in denen diese enthalten sind, 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 fügen Sie die Testauswirkungsanalyse in einem Buildvorgang aktivieren, der auf der Standardvorlage ist
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.
Erstellen Sie eine Gruppe von Tests, die für die Verwendung der Testeinstellungsdatei konfiguriert ist.
Weitere Informationen finden Sie weiter oben in diesem Thema unter Ausführen von automatisierten Tests.
Erweitern Sie den Knoten Erweitert, und stellen Sie sicher, dass Testauswirkung analysieren auf True und Deaktiviert auf False festgelegt ist.
Definieren mehrerer Testläufe
Sie können so viele Testläufe wie benötigt definieren, 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 definieren:
Sie möchten Visual Studio Test Runner verwenden, um eine Projektmappe zu testen, die Binärdateien mit 32- und 64-Bit-Bitanzahl erzeugt.
Sie verfügen über verschiedene Tests, die mit Visual Studio Test Runner ausgeführt werden können, sowie andere Tests, die nur von MSTest durchgeführt werden können.
Sie verfügen über zwei Sätze von Tests:
Ein Satz von Kerntests oberster Priorität, die erfolgreich ausgeführt werden müssen.Sie definieren eine Gruppe von Tests, die für Minimale Testpriorität und Maximale Testpriorität den Wert 1 enthält.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 definieren eine Gruppe von Tests, die für Minimale Testpriorität den Wert 2 und für Maximale Testpriorität den Wert 3 enthalten.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 Gruppen von Tests verwenden, die für die Nutzung von zwei Gruppen von Testeinstellungsdateien konfiguriert sind.
Aktivieren Sie ein Komponententestframework von Drittanbietern auf einem Buildcontroller
Der Buildprozess kann Komponententests auf Grundlage Komponententest-Frameworks machen von Drittanbietern nur, wenn Sie den Buildcontroller mit Zugriff auf den Framework-Assemblys von Drittanbietern bereitgestellt haben.
Suchen Sie ggf., oder geben Sie den Pfad des Buildcontrollers auf benutzerdefinierte Assemblys an.
Abrufen eines Komponententest-Plug-In von Drittanbietern.Sie können Links zu einigen dieser Objekte hier suchen: Komponententest-Plug-In-Liste.
Benennen Sie die VSIX-Datei Plug-In zu einer ZIP-Datei.Zum Beispiel verwenden Sie die Eingabeaufforderung auf:
C:\Downloads>ren NUnitTestAdapter.vsix NUnitTestAdapter.zip
Entzippen Sie Inhalt der ZIP-Datei in lokalen Arbeitsbereichsordner, den Sie in Schritt 2 belegen.
-
Tipp Damit Strategien arbeiten mit Binärdateien von Drittanbietern in der Versionskontrolle, finden Sie unter Nutzen Sie Binärdateien von Drittanbietern, die der Code nicht erstellt.
[]Visual Studio 2012.1 schließt eine Erweiterung ein, sodass Komponententest-Frameworks von Drittanbietern ihre Annahme in den Teambuilddefinitionen automatisieren.
Vorsicht |
---|
Sie müssen möglicherweise die neueste Version der NuGet-Pakete installieren, damit das Komponententestframework von Drittanbietern sicherstellt, dass das Framework Builddefinitionserweiterung umfasst. |
Aktivieren Sie ein Komponententestframework von Drittanbietern auf einem Buildcontroller - [Visual Studio 2012.1]
Klicken Sie im Projektmappen-Explorer öffnen, das Kontextmenü im Testprojekt und wählen NuGet-Pakete verwalten aus.
Im verwaltete NuGet-Paketdialogfeld in der linken Spalte, wählen Sie Online aus.
Wählen Sie das NuGet-Paket für das Komponententestframework von Drittanbietern aus und wählen Sie Installieren aus.
Nachdem das Installieren NuGet-Paket abgeschlossen ist, wählen Sie Schließen aus.
Klicken Sie im Projektmappen-Explorer öffnen, das Kontextmenü auf der Projektmappe und wählen Projektmappe zur Quellcodeverwaltung hinzufügen aus.
Sie können jetzt den Build in die Warteschlange stellen und die Tests mit dem Komponententestframework von Drittanbietern werden automatisch ausgeführt.
Arbeiten mit Tests in einem benutzerdefinierten Buildprozess
Falls das Team einen Buildprozess mit stärker angepassten Funktionen erfordert, können Sie aus dem benutzerdefinierten Buildprozess heraus Tests durchführen und andere testbezogene Aufgaben ausführen.Weitere Informationen finden Sie unter:
Weitere Informationen
Definieren eines auf der Standardvorlage basierenden Buildprozesses bietet weitere Informationen darüber, wie Sie eine Builddefinition, die auf der Standardvorlage ist.Dieses Thema enthält Informationen zu Bitanzahleinstellungen für die Plattform, die Sie beim Kompilieren des Codes verwenden können.
Leitfaden für Build-, Bereitstellungs- und Testworkflows enthält Informationen zum Bereitstellen einer Anwendung und Durchführen von Tests in einer Lab-Umgebung mithilfe des Buildprozesses.
Ausführen von Tests mit Microsoft Test Manager Enthält weitere Informationen zum Ausführen von Tests.