Durchführen von automatisierten Tests aus Testplänen

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Automatisieren Sie Testfälle in Ihren Testplänen, und führen Sie sie direkt aus Azure TestPlänen aus. Automatisierte Tests bieten Ihnen die folgenden Vorteile:

  • Ein benutzerfreundlicher Prozess für Tester, die möglicherweise nicht gut mit der Ausführung von Tests in Build- oder Release-Workflows vertraut sind.
  • Die Flexibilität, ausgewählte Tests nach Bedarf auszuführen, anstatt geplante Tests in Build- oder Release-Workflows auszuführen, bei denen alle Tests ausgeführt werden, die die Filterkriterien erfüllen.
  • Die Möglichkeit, einige Tests erneut auszuführen, die aufgrund von Testinfrastrukturproblemen fehlgeschlagen sind, oder Sie haben einen neuen Build, der Korrekturen für fehlgeschlagene Tests enthält.

Voraussetzungen

  • Sie müssen eine Verbindung mit einem Projekt herstellen. Wenn Sie noch kein Projekt haben, erstellen Sie ein Projekt.
  • Sie müssen einem Projekt hinzugefügt werden. Um hinzugefügt zu werden, fügen Sie Benutzer zu einem Projekt oder Team hinzu.
  • Um manuelle oder automatisierte Tests anzuzeigen oder auszuführen, müssen Sie über einfachen Zugriff oder höher verfügen.

Weitere Informationen finden Sie unter Manuellen Testzugriff und Berechtigungen.

Darüber hinaus benötigen Sie Folgendes:

Einrichten Ihrer Umgebung

  1. Wählen Sie auf der Seite " Testpläne " Ihren Testplan aus, öffnen Sie das Kontextmenü, und wählen Sie " Testplaneinstellungen" aus.

    Choosing Test plan settings

  2. Wählen Sie im Dialogfeld "Testplaneinstellungen" die Buildpipeline aus, die Builds generiert, die die Test-Binärdateien enthalten. Anschließend können Sie eine bestimmte Buildnummer auswählen, die getestet werden soll, oder das System den neuesten Build automatisch verwenden lassen, wenn Tests ausgeführt werden.

    Selecting the build and build number

  3. Sie benötigen eine Releasepipeline, die aus der Test-Manager-Vorlage "Automatisierte Tests ausführen " erstellt wurde, um Tests aus Testplänen in Azure Testplänen auszuführen. Wenn Sie über eine vorhandene Releasepipeline verfügen, die mithilfe dieser Vorlage erstellt wurde, wählen Sie sie aus, und wählen Sie dann die vorhandene Phase in der Releasepipeline aus, in der die Tests ausgeführt werden. Wählen Sie andernfalls den Link "Neuen Erstellen" im Dialogfeld aus, um eine neue Releasepipeline zu erstellen, die eine einzelne Phase mit der bereits hinzugefügten Visual Studio-Testaufgabe enthält.

    Selecting a release pipeline or creating a new one

    Wie passiere ich Parameter an meinen Testcode aus einer Build- oder Releasepipeline?

  4. Weisen Sie der Releasepipeline und der Phase nach Bedarf aussagekräftige Namen zu.

  5. Sie benötigen die Visual Studio Test Platform, die auf dem Agentcomputer installiert werden soll. Wenn Visual Studio bereits auf dem Agentcomputer installiert ist, können Sie diesen Schritt überspringen. Wenn nicht, müssen Sie der Pipelinedefinition die Visual Studio Test Platform Installer-Aufgabe hinzufügen.

  6. Fügen Sie der Releasepipeline die Visual Studio-Testaufgabe hinzu, und konfigurieren Sie sie wie folgt:

    • Überprüfen Sie, ob Version 2 der Visual Studio-Testaufgabe ausgewählt ist. Die Versionsnummer wird in der Dropdownliste oben links im Aufgabeneinstellungenbereich angezeigt.

      Checking the task version number setting

    • Stellen Sie sicher, dass die Auswahl von Tests auf "Testausführung" festgelegt ist. Was bedeutet diese Einstellung?

      Checking the test selection method setting

    • Wählen Sie für die Einstellung "Testplattformversion " die Option "Installiert nach Tools Installer" aus.

      Setting the installer option

    • Wenn Sie Benutzeroberflächentests haben, die auf physischen Browsern oder dicken Clients ausgeführt werden, stellen Sie sicher, dass der Agent als interaktiver Prozess mit aktivierter automatischer Anmeldung ausgeführt wird. Das Einrichten eines Agenten, der interaktiv ausgeführt werden soll, muss erfolgen, bevor der Build oder die Veröffentlichung in die Warteschlange gestellt wird (das Kontrollkästchen " Testmix enthält UI-Tests " konfiguriert den Agent nicht automatisch – er wird nur als Erinnerung verwendet, um den Agent entsprechend zu konfigurieren, um Fehler zu vermeiden).

    • Wenn Sie UI-Tests in einem headless Browser ausführen, ist die interaktive Prozesskonfiguration nicht erforderlich.

    • Wählen Sie aus, wie die Testplattform bereitgestellt wird, und die Version von Visual Studio oder den Speicherort der Testplattform, die auf den Testcomputern installiert ist

    • Wenn Ihre Tests Eingabeparameter wie App-URLs oder Datenbankverbindungszeichenfolgen benötigen, wählen Sie die relevante Einstellungsdatei aus den Buildartefakten aus. Sie können die Aufgaben zum Veröffentlichen von Buildartefakten in Ihrer Buildpipeline verwenden, um die Einstellungsdatei an einem Drop-Speicherort zu veröffentlichen, wenn diese Datei nicht in den Artefakten enthalten ist. Im folgenden Beispiel wird die Anwendungs-URL in der Datei "Ausführungseinstellungen" verfügbar gemacht und wird überschrieben, um sie mithilfe der Einstellung für die Außerkraftsetzung von Testausführungsparametern auf eine Staging-URL festzulegen.

      Specifying the properties for the Visual Studio Test task

      Informationen zu den Optionseinstellungen der Visual Studio-Testaufgabe finden Sie in der Visual Studio-Testaufgabe.

  7. Wählen Sie das Agent-Auftragselement aus, und überprüfen Sie, ob die Bereitstellungswarteschlange auf den Computer festgelegt ist, auf dem Sie die Tests ausführen möchten. Wenn Für Ihre Tests spezielle Computer aus dem Agentpool erforderlich sind, können Sie Anforderungen hinzufügen, die diese zur Laufzeit auswählen.

    Specifying the properties for the Agent job

    Möglicherweise können Sie Testzeiten minimieren, indem Sie Tests über mehrere Agents verteilen, indem Sie Parallelismus auf mehrere Ausführungen festlegen und die Anzahl der Agents angeben.

    Hinweis

    Wenn Sie UI-Tests wie CodeUI oder Selenium auf physischen Browsern wie IE, Firefox oder Chrome ausführen, muss der Agent auf den Computern im interaktiven Modus und nicht als Dienst ausgeführt werden. Weitere Informationen

  8. Überprüfen Sie auf der Pipelineseite der Releasepipeline, ob die Buildpipeline, die die Test-Binärdateien enthält, mit dieser Releasepipeline als Artefaktquelle verknüpft ist.

    Verifying the linked build artifacts

  9. Speichern Sie die Releasepipeline.

  10. Wenn Sie im Dialogfeld "Testplaneinstellungen" in Schritt 2 dieses Beispiels "Neu erstellen" ausgewählt haben, kehren Sie zur Browserseite zurück, die Ihre Testplaneinstellungen enthält. Wählen Sie im Dialogfeld "Testplaneinstellungen" die Veröffentlichungspipeline und die soeben gespeicherte Phase aus.

    Selecting the release pipeline and stage

Ausführen der automatisierten Tests

  1. Öffnen Sie im Webportal " Testpläne " den Testplan, und wählen Sie eine Testsuite aus, die die automatisierten Tests enthält.

  2. Wählen Sie die Tests aus, die Sie ausführen möchten, öffnen Sie das Menü "Ausführen" , und wählen Sie "Test ausführen" aus.

    Selecting Run test

    Die Test-Binärdateien für diese Tests müssen in den Buildartefakten verfügbar sein, die von Ihrer Buildpipeline generiert werden.

  3. Wählen Sie "OK " aus, um den Testvorgang zu starten. Das System überprüft, ob nur automatisierte Tests ausgewählt sind (alle manuellen Tests werden ignoriert), überprüft die Phase, um sicherzustellen, dass die Visual Studio-Testaufgabe vorhanden ist und gültige Einstellungen hat, überprüft die Berechtigung des Benutzers zum Erstellen einer Version für die ausgewählte Releasepipeline, erstellt eine Testausführung und löst dann die Erstellung einer Version auf die ausgewählte Phase aus.

    Starting the test execution

  4. Wählen Sie "Testausführung anzeigen" aus, um den Testfortschritt anzuzeigen und die fehlgeschlagenen Tests zu analysieren. Testergebnisse enthalten die relevanten Informationen zum Debuggen fehlgeschlagener Tests wie fehlermeldung, Stapelablaufverfolgung, Konsolenprotokolle und Anlagen.

  5. Nach Abschluss der Testausführung zeigt die Seite "Ausführen " der Azure-Testpläne die Testergebnisse an. Auf der Seite "Zusammenfassung ausführen" wird eine Übersicht über die Ausführung angezeigt.

    Viewing the test run summary

    Es gibt einen Link zur Version , die verwendet wird, um die Tests auszuführen, wodurch es leicht ist, die Version zu finden, die die Tests ausgeführt hat, wenn Sie später zurückkehren und die Ergebnisse analysieren müssen. Verwenden Sie auch diesen Link, wenn Sie die Version öffnen möchten, um die Releaseprotokolle anzuzeigen.

    Hinweis : Manuelles Anfügen von Dateien wird für automatisierte Testergebnisse nicht unterstützt.

    Was sind die typischen Fehlerszenarien oder Probleme, nach denen ich suchen sollte, wenn meine Tests nicht ausgeführt werden?

  6. Auf der Seite " Testergebnisse " werden die Ergebnisse für jeden Test in der Testausführung aufgelistet. Wählen Sie einen Test aus, um Debuginformationen für fehlgeschlagene Tests wie fehlermeldung, Stapelablaufverfolgung, Konsolenprotokolle und Anlagen anzuzeigen.

    Viewing the test results details

  7. Öffnen Sie die Seite " Testpläne ", und wählen Sie den Testplan aus, um den Status Ihrer Tests anzuzeigen, wenn Tests nach Abschluss der Testausführung aktualisiert werden. Wählen Sie einen Test aus, um die aktuellen Testergebnisse anzuzeigen.

    Viewing the test plan

Häufig gestellte Fragen

F: Welche Berechtigungen muss ich automatisierte Tests aus Azure-Testplänen ausführen?

Sie müssen ein Project-Mitwirkender sein oder über die folgenden Berechtigungen verfügen:

  • Erstellen von Versionen
  • Verwalten von Versionen
  • Versionsphase bearbeiten
  • Verwalten der Bereitstellung

Weitere Informationen finden Sie unter Festlegen von Berechtigungen für Releasepipelinen und Freigabeberechtigungen.

F: Kann ich den Build- oder Phasensatz auf Testplanebene für eine bestimmte Testausführungsinstanz außer Kraft setzen?

Eine: Ja, Sie können dies mithilfe des Befehls "Ausführen mit Optionen" tun. Öffnen Sie das Kontextmenü für die Testsuite in der linken Spalte, und wählen Sie "Ausführen mit Optionen" aus.

Configuring the Run with options dialog

Geben Sie die folgenden Werte im Dialogfeld "Ausführen mit Optionen" ein, und wählen Sie dann "OK" aus:

  • Testtyp und Läufer: Wählen Sie automatisierte Tests mithilfe der Versionsphase aus.

  • Build: Wählen Sie den Build aus, der über die Test-Binärdateien verfügt. Die Testergebnisse werden diesem Build zugeordnet.

  • Releasepipeline: Wählen Sie eine Pipeline aus der Liste der Releasepipelinen aus, die das ausgewählte Buildartefakt verwenden können.

  • Versionsphase: Wählen Sie den Namen der in Ihrer Releasepipeline konfigurierten Phase aus.

Configured Run with options dialog.

F: Warum verwenden Sie Releasephasen, um Tests auszuführen?

A: Azure Pipelines bietet einen überzeugenden Orchestrierungsworkflow, um Test-Binärdateien als Artefakte zu erhalten und Tests auszuführen. Dieser Workflow teilt dieselben Konzepte, die im geplanten Testworkflow verwendet werden, was bedeutet, dass Benutzer, die Tests im geplanten Workflow ausführen, leicht anpassen können; Beispielsweise durch Klonen einer vorhandenen geplanten Testversionspipeline.

Ein weiterer wichtiger Vorteil ist die Verfügbarkeit einer umfangreichen Gruppe von Aufgaben im Aufgabenkatalog, die eine Reihe von Aktivitäten ermöglichen, die vor und nach dem Ausführen von Tests durchgeführt werden können. Beispiele sind das Vorbereiten und Reinigen von Testdaten, das Erstellen und Bereinigen von Konfigurationsdateien und vieles mehr.

F: Wie funktioniert die Auswahl von "Testausführung" in der Visual Studio Testaufgabenversion 2?

Eine: Das Untersystem "Testverwaltung" verwendet das Testausführungsobjekt, um die Liste der für die Ausführung ausgewählten Tests zu übergeben. Die Testaufgabe sucht nach dem Testausführungsbezeichner, extrahiert die Testausführungsinformationen wie container- und Testmethodennamen, führt die Tests aus, aktualisiert die Testausführungsergebnisse und legt die Testpunkte fest, die den Testergebnissen in der Testausführung zugeordnet sind. Aus Sicht der Überwachung bietet die Visual Studio Aufgabe eine Ablaufverfolgung von den historischen Versionen und den Testausführungsbezeichnern an die Tests, die für die Ausführung von On-Demand-Tests übermittelt wurden.

F: Sollte der Agent im interaktiven Modus oder als Dienst ausgeführt werden?

Eine: Wenn Sie UI-Tests wie codierte UI - oder Selenium-Tests ausführen, muss der Agent auf den Testcomputern im interaktiven Modus ausgeführt werden, wobei die automatische Anmeldung nicht als Dienst aktiviert ist, damit der Agent einen Webbrowser starten kann. Wenn Sie einen headless Browser wie PhantomJS verwenden, kann der Agent als Dienst oder im interaktiven Modus ausgeführt werden. Weitere Informationen finden Sie unter Build- und Release-Agents, Bereitstellen eines Agents für Windows und Agentpools.

F: Wo finde ich detaillierte Dokumentation zum Ausführen von Selenium-Tests?

Eine: Siehe Erste Schritte mit Seleniumtests.

F: Was geschieht, wenn ich mehrere Konfigurationen für denselben Test auswählt?

Eine: Derzeit ist der On-Demand-Workflow nicht konfigurationsfähig.

F: Was ist, wenn ich Produkt binärdateien herunterladen und Binärdateien aus verschiedenen Builds testen muss? Oder wenn ich Artefakte aus einer Quelle wie Jenkins abrufen muss?

Eine: Die aktuelle Funktion ist für einen einzelnen Teambuild optimiert, der bei Bedarf mithilfe eines Azure Pipelines Workflows getestet werden kann. Wir werden die Unterstützung für Multiartefaktversionen auswerten, einschließlich nicht Azure Pipelines Artefakte wie Jenkins, basierend auf Benutzerfeedback.

F: Ich habe bereits eine geplante Testversionspipeline. Kann ich dieselbe Pipeline wiederverwenden, um Test on-Demand auszuführen, oder sollte ich eine neue Pipeline erstellen, wie oben gezeigt?

Eine: Es wird empfohlen, eine separate Releasepipeline und -phase für automatisierte Tests bei Bedarf aus Azure Test Plans zu verwenden, da:

  • Sie möchten die App möglicherweise nicht jedes Mal bereitstellen, wenn Sie einige On-Demand-Tests ausführen möchten. Geplante Testphasen sind in der Regel für die Bereitstellung des Produkts eingerichtet und führen dann Tests aus.

  • Neue Versionen werden für jede On-Demand-Ausführung ausgelöst. Wenn Sie viele Tester haben, die jeden Tag einige On-Demand-Testläufe ausführen, könnte Ihre geplante Testversionspipeline mit Versionen für diese Ausführung überladen werden, sodass es schwierig ist, Versionen zu finden, die für die Pipeline ausgelöst wurden, die geplante Tests und Bereitstellung für die Produktion enthält.

  • Möglicherweise möchten Sie die Visual Studio Testaufgabe mit einer Testausführungs-ID als Eingabe konfigurieren, damit Sie nachverfolgen können, was die Veröffentlichung ausgelöst hat. Wie funktioniert die Auswahl von "Testausführungen (für On-Demand-Ausführung)" in der Visual Studio Testaufgabe?.

F: Kann ich diese Ausführung auslösen und die Ergebnisse in Microsoft Test Manager anzeigen?

A: Nein. Microsoft Test Manager unterstützt nicht die Ausführung automatisierter Tests für Team Foundation-Builds. Es funktioniert nur in der webbasierten Schnittstelle für Azure Pipelines und TFS. Alle neuen investitionen zur manuellen und automatisierten Testproduktentwicklung befinden sich in der webbasierten Schnittstelle. Für Microsoft Test Manager ist keine weitere Entwicklung geplant. Siehe Anleitungen zur Verwendung von Microsoft Test Manager.

F: Ich habe mehrere Tester in meinem Team. Können sie Tests aus unterschiedlichen Testsuiten oder Testplänen parallel mit derselben Releasepipeline ausführen?

Eine: Sie können dieselbe Releasepipeline verwenden, um mehrere Testläufe parallel auszulösen, wenn:

  • Der Agentpool, der der Phase zugeordnet ist, verfügt über ausreichende Agents, um parallele Anforderungen zu erfüllen. Wenn ausreichende Agents nicht verfügbar sind, kann die Ausführung weiterhin ausgelöst werden, aber Versionen werden für die Verarbeitung in die Warteschlange gestellt, bis Agents verfügbar sind.

  • Sie verfügen über ausreichende Aufträge, um parallele Aufträge zu ermöglichen. Weitere Informationen finden Sie unter Parallelaufträge in Azure Pipelines oder parallelen Aufträgen in TFS.

  • Tester führen dieselben Tests nicht parallel aus. Dies kann dazu führen, dass Die Ergebnisse je nach Ausführungsreihenfolge überschrieben werden.

Um mehrere verschiedene Testläufe parallel auszuführen, legen Sie die Option für Azure Pipelines Phasentrigger für das Verhalten fest, wenn mehrere Versionen wie folgt bereitgestellt werden:

  • Wenn Ihre Anwendung Tests unterstützt, die parallel aus verschiedenen Quellen ausgeführt werden, legen Sie diese Option auf "Gleichzeitige Bereitstellung mehrerer Versionen zulassen" fest.

  • Wenn Ihre Anwendung Tests nicht unterstützt, die parallel aus verschiedenen Quellen ausgeführt werden, legen Sie diese Option auf "Nur eine aktive Bereitstellung gleichzeitig zulassen" fest.

F: Gewusst wie Parameter an meinen Testcode aus einer Build- oder Releasepipeline übergeben?

A: Verwenden Sie eine Runsettings-Datei , um Werte als Parameter an Ihren Testcode zu übergeben. Beispielsweise können Sie in einer Version, die mehrere Phasen enthält, die entsprechende App-URL an die einzelnen Testaufgaben in jedem übergeben. Die Runsettings-Datei und übereinstimmende Parameter müssen in der Visual Studio Testaufgabe angegeben werden.

Pass parameters to test code from a build or release pipeline

F: Was sind die typischen Fehlerszenarien oder Probleme, nach denen ich suchen sollte, wenn meine Tests nicht ausgeführt werden?

Eine: Überprüfen und Beheben von Problemen wie folgt:

  • Die Releasepipeline und -phase, in der ich Tests ausführen möchte, werden nach der Auswahl des Builds nicht angezeigt.

    • Stellen Sie sicher, dass die Buildpipeline, die den Build generiert, als primäres Artefakte auf der Registerkarte Artifacts der Releasepipeline verknüpft ist.

  • Ich erhalte einen Fehler, dass ich keine ausreichende Berechtigung zum Auslösen einer Version habe.

    • Konfigurieren Sie die Berechtigungen zum Erstellen von Versionen und Verwalten von Bereitstellungen für den Benutzer im Menü "Sicherheit " der Releasepipeline. Siehe "Freigabeberechtigungen".

  • Ich erhalte einen Fehler, dass keine automatisierten Tests gefunden wurden.

    • Überprüfen Sie den Automatisierungsstatus der ausgewählten Tests. Gehen Sie dazu in der Arbeitsaufgabe für den Testfall vor, oder verwenden Sie den Link "Spaltenoptionen" in Azure Test Plans, um die Automatisierungsstatusspalte zur Liste der Tests hinzuzufügen. Weitere Informationen zum Automatisieren manueller Tests finden Sie im Abschnitt "Voraussetzungen".

  • Meine Tests wurden nicht ausgeführt, und ich vermute, dass die Releasepipeline falsch ist.

    • Verwenden Sie den Link auf der Zusammenfassungsseite "Ausführen ", um auf die Releaseinstanz zuzugreifen, die zum Ausführen der Tests verwendet wird, und zeigen Sie die Releaseprotokolle an.

  • Meine Tests gehen in den Fehlerzustand oder bleiben auch nach der Veröffentlichung in der Phase "in Bearbeitung".

    • Überprüfen Sie, ob die von Ihnen ausgewählte Versionsphase die richtige Aufgabe und Version ausgewählt hat. Sie müssen Version 2 oder höher der Visual Studio Testaufgabe verwenden. Version 1 der Aufgabe und die Aufgabe "Funktionstests ausführen" werden nicht unterstützt.

Weitere Informationen