Freigeben über


Ausführen automatisierter Tests aus Testplänen

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Automatisieren Sie Testfälle in Ihren Testplänen, und führen Sie sie direkt aus Azure Test Plans 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 bei Bedarf auszuführen, anstatt geplante Tests in Build- oder Releaseworkflows durchzuführen, in denen alle Tests, die die Filterkriterien erfüllen, ausgeführt werden.
  • Die Möglichkeit, einige Tests erneut auszuführen, die aufgrund von Testinfrastrukturproblemen fehlgeschlagen sind, oder Sie verfügen über einen neuen Build, der Korrekturen für fehlgeschlagene Tests enthält.

Voraussetzungen

Kategorie Anforderungen
Zugriffsebenen - Mindestens Basic-Zugriff, mit der Berechtigung, Arbeitselemente unter dem entsprechenden Bereichspfad anzuzeigen.
- Zum Hinzufügen von Testplänen und Testsuiten, Löschen von Testartefakten und Definieren von Testkonfigurationen: Basic + Test Plans-Zugriff.
Oder eines der folgenden Visual Studio-Abonnements:
- Unternehmen
- Testprofi
- MSDN-Plattformen
Berechtigungen - Zum Hinzufügen oder Ändern von Testplänen, Testsuiten, Testfällen oder anderen testbasierten Arbeitselementtypen: Arbeitselemente in diesem Knoten bearbeiten Erlaubnis gesetzt auf Erlauben Sie unter dem entsprechenden Bereich Pfad.
- Zum Ändern von Testplaneigenschaften wie Build- und Testeinstellungen: Verwalten von Testplänen Erlaubnis gesetzt auf Erlauben Sie unter dem entsprechenden Bereich Pfad.
- um Testsuiten zu erstellen und zu löschen, Testfälle aus Testsuiten hinzuzufügen und zu entfernen, Testkonfigurationen zu ändern, die Testsuiten zugeordnet sind, und eine Testsuitehierarchie zu ändern (eine Testsuite verschieben): Verwalten von Testsuiten Berechtigungssatz auf Zulassen unter dem entsprechenden Bereichspfad.
– Berechtigungen zum Erstellen und Verwalten von Versionen, Bearbeiten einer Releaseumgebung und Verwalten der Bereitstellung. Weitere Informationen finden Sie unter Releaseberechtigungen.
Tools und Konfigurationen - Ein Testplan mit automatisierten Tests, die mithilfe von Visual Studio 2017 oder Visual Studio 2015 oder einer früheren Version automatisierten Testmethoden zugeordnet wurden.
– Eine Buildpipeline, die Builds generiert, die die Testbinärdateien enthalten.
– Eine zu testde App. Sie können die App als Teil des Build- und Releaseworkflows bereitstellen und sie auch für Bedarfstests verwenden.

Erstellen Ihrer Umgebung

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

    Screenshot der Auswahl von Testplaneinstellungen.
  2. Wählen Sie im Dialogfeld "Testplaneinstellungen" die Buildpipeline aus, die Builds generiert, die die Testbinärdateien enthalten (sowohl klassische als auch YAML-Buildpipeline werden unterstützt). Sie können dann eine bestimmte Buildnummer zum Testen auswählen oder das System automatisch den neuesten Build verwenden lassen, wenn Tests ausgeführt werden.

    Screenshot der Auswahl des Builds und der Buildnummer.
  3. Sie benötigen eine Releasepipeline, die aus der Vorlage Ausführen automatisierter Tests aus Test-Manager erstellt wurde, um Tests aus Testplänen in Azure Test Plans auszuführen. Wenn Sie über eine vorhandene Releasepipeline verfügen, die mit dieser Vorlage erstellt wurde, wählen Sie sie aus, und wählen Sie dann die vorhandene Phase in der Releasepipeline für die Testausführung aus (sowohl klassische als auch YAML-Releasepipeline werden unterstützt). Wählen Sie andernfalls in dem Dialogfeld Neu erstellen aus, um eine neue Releasepipeline zu erstellen, die eine einzelne Phase enthält, wobei die Visual Studio Test-Aufgabe bereits hinzugefügt wurde.

    Screenshot der Auswahl einer Releasepipeline oder des Erstellens einer neuen Pipeline.

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

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

  5. Wenn Visual Studio bereits auf dem Agenten-Computer installiert ist, überspringen Sie diesen Schritt. Wenn dies nicht der Fall ist, fügen Sie der Pipelinedefinition die Visual Studio Test Platform Installer-Aufgabe hinzu.

  6. Fügen Sie den Visual Studio-Testtask der Releasepipeline hinzu, und konfigurieren Sie ihn wie folgt:

    • Stellen Sie sicher, dass Sie die Version 3 der Visual Studio-Testaufgabe verwenden.

    • Vergewissern Sie sich, dass Testausführung auswählen auf Testausführung festgelegt ist. Was bedeutet diese Einstellung?

    • Wählen Sie für vsTestVersion"toolsInstaller" aus.

    • Wenn Sie UI-Tests haben, die auf physischen Browsern oder Thick Clients ausgeführt werden, stellen Sie sicher, dass der Agent als interaktiver Prozess mit aktivierter automatischer Anmeldung ausgeführt wird. Sie müssen einen Agenten so einrichten, dass er interaktiv ausgeführt wird, bevor Sie den Build oder die Freigabe in die Warteschlange stellen. Das Kontrollkästchen Testmix enthält UI-Tests konfiguriert den Agenten nicht automatisch im interaktiven Modus – es wird nur als Erinnerung verwendet, um den Agenten 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, sowie 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 Build-Artefakten in Ihrer Buildpipeline verwenden, um die Einstellungsdatei an einem Speicherort zu veröffentlichen, wenn diese Datei nicht in den Artefakten enthalten ist. Im folgenden Beispiel wird die Anwendungs-URL in der Datei mit den Ausführungseinstellungen verfügbar gemacht und überschrieben, um sie mithilfe der Einstellung Testausführungsparameter außer Kraft setzen auf eine Staging-URL festzulegen.

    Screenshot der Überprüfung der Einstellung für die Aufgabenversionsnummer.

    Informationen zu den Optionseinstellungen des Visual Studio-Testtasks finden Sie unter Visual Studio-Testtask.

  7. Wählen Sie das Auftragselement Agent aus, und vergewissern Sie sich, dass die Bereitstellungswarteschlange auf die Warteschlange festgelegt ist, die die Computer enthält, auf denen Sie die Tests ausführen möchten. Wenn Ihre Tests spezielle Computer aus dem Agentenpool erfordern, können Sie Anforderungen hinzufügen, die zur Laufzeit ausgewählt werden.

    Sie können Testzeiten möglicherweise minimieren, indem Sie Tests über mehrere Agenten verteilen; setzen Sie dazu Parallelität auf Mehrere Ausführungen, und geben Sie die Anzahl der Agenten an.

    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 Service ausgeführt werden. Weitere Informationen.

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

    Screenshot der Überprüfung der verknüpften Build-Artefakte.

  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 von Ihnen gespeicherte Releasepipeline und die Phase aus.

    Screenshot der Auswahl von Releasepipeline und Phase.

Ausführen der automatisierten Tests

  1. Öffnen Sie im Test Plans-Webportal den Testplan, und wählen Sie eine Testsuite aus, die die automatisierten Tests enthält.

  2. Wählen Sie die Testfälle aus, die Sie ausführen möchten, und klicken Sie dann auf "Für Webanwendung ausführen".

    Screenshot der Auswahl von „Test ausführen“.

    Die Testbinärdateien für diese Tests müssen in den von Ihrer Buildpipeline generierten Buildartefakten verfügbar sein.

  3. Das System überprüft, ob nur automatisierte Tests ausgewählt werden (alle manuellen Tests werden ignoriert); es überprüft die Phase, um sicherzustellen, dass die Visual Studio-Testaufgabe vorhanden ist und über gültige Einstellungen verfügt, 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 Freigabe an die ausgewählte Phase aus.

    Screenshot des Starts der Testausführung.
  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, z. B. Fehlermeldung, Stapelablaufverfolgung, Konsolenprotokolle und Anlagen.

  5. Nach Abschluss der Testausführung werden auf der Seite Ausführungen des Azure Test Plans die Testergebnisse angezeigt. Auf der Seite "Zusammenfassung ausführen" wird eine Übersicht über die Ausführung angezeigt.

    Screenshot der Zusammenfassung der Testausführung.

    Es gibt einen Link zu der Freigabe, die zum Ausführen der Tests verwendet wird, wodurch es einfach ist, die Version zu finden, für die die Tests ausgeführt wurden, wenn Sie später zurückkehren und die Ergebnisse analysieren müssen. Verwenden Sie diesen Link auch, wenn Sie das Release öffnen möchten, um die Releaseprotokolle anzuzeigen.

Hinweis

Das manuelle Anfügen von Dateien wird für automatisierte Testergebnisse nicht unterstützt.

Auf welche typischen Fehlerszenarien oder Probleme sollte ich achten, wenn meine Tests nicht ausgeführt werden?

  1. Auf der Seite Testergebnisse werden die Ergebnisse für jeden Test im Testlauf aufgelistet. Wählen Sie einen Test aus, um Debuginformationen für fehlgeschlagene Tests anzuzeigen, z. B. die Fehlermeldung, die Stapelverfolgung, Konsolenprotokolle und Anlagen.

    Screenshot mit den Details der Testergebnisse.

  2. Gehen Sie in Testpläne zur Seite Ausführungen, wo Sie eine Übersicht über alle Ihre Testläufe finden können. Von hier aus können Sie die detaillierte Ansicht der einzelnen Testausführungen öffnen.

    Screenshot der Anzeige des Testplans.

Häufig gestellte Fragen

Lesen Sie die folgenden häufig gestellten Fragen (FAQs) zu Azure Test Plans.

F: Welche Berechtigungen benötige ich, um automatisierte Tests von Azure Test Plans auszuführen?

A: Ein Projektmitwirkender sein oder über die folgenden Berechtigungen verfügen:

  • Erstellen von Releases
  • Verwalten von Releases
  • Releasephase bearbeiten
  • Verwalten der Bereitstellung

Weitere Informationen finden Sie unter Releaseberechtigungen.

F: Kann ich den Build- oder Phasensatz auf Testplanebene für einen bestimmten instance der Testausführung überschreiben?

A: Ja, Sie können dies mit dem Befehl 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.

Screenshot der Konfiguration des Dialogfelds „Ausführen mit Optionen“.

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

  • Testtyp und Runner: Wählen Sie Automatisierte Tests mithilfe der Releasephase aus.
  • Build: Wählen Sie den Build mit den Testbinärdateien aus. Die Testergebnisse sind diesem Build zugeordnet.
  • Releasepipeline: Wählen Sie eine Pipeline aus der Liste der Releasepipelines aus, die das ausgewählte Build-Artefakt nutzen kann.
  • Releasephase: Wählen Sie den Namen der Phase aus, die in Ihrer Releasepipeline konfiguriert ist.

Screenshot des konfigurierten Dialogfelds „Ausführen mit Optionen“.

F: Gründe für die Verwendung von Releasephasen zum Ausführen von Tests

Eine: Azure Pipelines bietet einen überzeugenden Orchestrierungsworkflow, um Testbinärdateien als Artefakte abzurufen und Tests auszuführen. Dieser Workflow verwendet dieselben Konzepte, die im geplanten Testworkflow verwendet werden, was bedeutet, dass Benutzer, die Tests im geplanten Workflow ausführen, leicht Anpassungen vornehmen können, beispielsweise durch Klonen einer vorhandenen geplanten Testreleasepipeline.

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

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

A: Das Testmanagement-Subsystem verwendet das Testausführungsobjekt, um die Liste der für die Ausführung ausgewählten Tests zu übergeben. Der Testtask sucht den Testlaufbezeichner, extrahiert die Testausführungsinformationen wie container- und Testmethodennamen, führt die Tests aus, aktualisiert die Testlaufergebnisse und legt die Testpunkte fest, die den Testergebnissen im Testlauf zugeordnet sind. Aus Überwachungssicht stellt die Visual Studio-Aufgabe eine Ablaufverfolgung von den historischen Releases und den Testlaufbezeichnern zu den Tests bereit, die für die Bedarfsgesteuerte Testausführung übermittelt wurden.

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

A: Wenn Sie UI-Tests wie kodierte UI- oder Selenium-Tests ausführen, muss der Agent auf den Testcomputern im interaktiven Modus ausgeführt werden, wobei die automatische Anmeldung nicht als Service aktiviert ist, damit der Agent einen Webbrowser starten kann. Wenn Sie einen Headless-Browser wie PhantomJS verwenden, kann der Agent als Service oder im interaktiven Modus ausgeführt werden. Weitere Informationen finden Sie unter Build- und Release-Agenten, Bereitstellen eines Agenten unter Windows und Agentenpools.

F: Wo finde ich eine ausführliche Dokumentation zum Ausführen von Selenium-Tests?

A: Weitere Informationen finden Sie unter Erste Schritte mit Selenium-Tests.

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

A: Derzeit ist der On-Demand-Workflow nicht konfigurationssensitiv.

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

A: Die aktuelle Funktion ist für einen einzelnen Team-Build optimiert, der bei Bedarf mithilfe eines Azure Pipelines-Workflows getestet werden kann. Wir evaluieren die Unterstützung für Versionen mit mehreren Artefakten, einschließlich Nicht-Azure-Pipelines-Artefakten wie Jenkins, basierend auf Benutzerfeedback.

F: Ich habe bereits eine geplante Releasepipeline für Tests. Kann ich dieselbe Pipeline wiederverwenden, um On-Demand-Tests auszuführen, oder sollte ich eine neue Pipeline erstellen?

A: Es wird empfohlen, eine separate Releasepipeline und Phase für bedarfsgesteuerte automatisierte Tests von Azure Test Plans zu verwenden, aus den folgenden Gründen:

  • Möglicherweise möchten Sie die App nicht jedes Mal bereitstellen, wenn Sie einige On-Demand-Tests ausführen möchten. Geplante Testphasen werden in der Regel eingerichtet, um das Produkt bereitzustellen und dann Tests auszuführen.

  • Neue Releases werden für jede Bedarfsausführung ausgelöst. Wenn Sie viele Tester haben, die täglich mehrere On-Demand-Testläufe ausführen, könnte Ihre geplante Testversionspipeline mit Versionen für diese Ausführung überlastet werden, wodurch es schwierig werden kann, Versionen zu finden, die für die Pipeline ausgelöst werden, die geplante Tests und Bereitstellungen für die Produktion enthält.

  • Möglicherweise möchten Sie die Visual Studio Test-Aufgabe mit einem Testlaufbezeichner als Eingabe konfigurieren, damit Sie nachverfolgen können, was die Freigabe ausgelöst hat. Weitere Informationen finden Sie unter Wie funktioniert die Auswahl von „Testlauf (für On-Demand-Ausführungen)“ in der Visual Studio Test-Aufgabe?.

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

A: Nein. Microsoft Test Manager unterstützt die Ausführung automatisierter Tests mit Team Foundation-Builds nicht. Dies funktioniert nur in der webbasierten Schnittstelle für Azure-Pipelines. Alle neuen Investitionen zur manuellen und automatisierten Testproduktentwicklung befinden sich in der webbasierten Schnittstelle. Für Microsoft Test Manager ist keine Weiterentwicklung geplant. Weitere Informationen finden Sie unter Leitfaden zur Verwendung von Microsoft Test Manager.

F: Ich habe mehrere Tester in meinem Team. Können Tests aus verschiedenen Testsuiten oder Testplänen parallel mit derselben Releasepipeline ausgeführt werden?

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

  • Der der Phase zugeordnete Agentpool verfügt über genügend Agents, um parallele Anforderungen zu erfüllen. Wenn nicht ausreichend Agenten verfügbar sind, können die Ausführungen weiterhin ausgelöst werden, aber Freigaben werden in die Warteschlange gesetzt, bis Agenten verfügbar sind.

  • Sie verfügen über genügend Aufträge, um parallele Aufträge zu aktivieren. Weitere Informationen finden Sie unter Parallele Aufträge in Azure Pipelines oder Parallele Aufträge in TFS.

  • Tester führen nicht dieselben Tests parallel aus. Dies kann dazu führen, dass die Ergebnisse abhängig von der Reihenfolge der Ausführung überschrieben werden.

Um die parallele Ausführung mehrerer verschiedener Testläufe zu ermöglichen, legen Sie die Triggeroption für die Azure Pipelines-Phase für das Verhalten fest, wenn mehrere Releases auf die Bereitstellung warten :

  • Wenn Ihre Anwendung parallel ausgeführte Tests aus verschiedenen Quellen unterstützt, legen Sie diese Option auf Gleichzeitige Bereitstellung mehrerer Releases zulassen fest.

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

F: Gewusst wie Parameter aus einer Build- oder Releasepipeline an meinen Testcode ü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 jede der Testaufgaben in jeder übergeben. Die Runsettings-Datei und übereinstimmende Parameter müssen im Visual Studio-Testtask angegeben werden.

Screenshot der Übergabe von Parametern zum Testen von Code aus einer Build- oder Releasepipeline.

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

A: Überprüfen und beheben Sie Probleme wie folgt:

  • Die Releasepipeline und Phase, in der ich Tests ausführen möchte, werden nicht angezeigt, nachdem ich den Build ausgewählt habe.

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

  • Ich erhalte eine Fehlermeldung, dass ich nicht über ausreichende Berechtigungen zum Auslösen eines Release habe.

    • Konfigurieren Sie für den Benutzer die Berechtigungen Versionen erstellen und Bereitstellungen verwalten im Menü Sicherheit der Releasepipeline. Weitere Informationen finden Sie unter Freigeben von Berechtigungen.

  • Ich erhalte eine Fehlermeldung, dass keine automatisierten Tests gefunden wurden.

    • Überprüfen Sie die automatisierungs-status der ausgewählten Tests. Führen Sie dies in dem Arbeitselement für den Testfall aus, oder verwenden Sie den Link Spaltenoptionen in Azure Test Plans, um der Liste der Tests die Spalte Automatisierungsstatus hinzuzufügen. Weitere Informationen 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 Seite Ausführungszusammenfassung, um auf die Release-instance zuzugreifen, die zum Ausführen der Tests verwendet wird, und um die Releaseprotokolle anzuzeigen.

  • Meine Tests werden in den Fehlerzustand versetzt oder bleiben auch nach dem Auslösen der Freigabe für die Phase "in Bearbeitung".

    • Überprüfen Sie, ob für die ausgewählte Releasephase die richtige Aufgabe und Version ausgewählt ist. Sie müssen Version 2 oder höher des Visual Studio-Testtasks verwenden. Version 1 der Aufgabe und die Aufgabe Funktionstests ausführen werden nicht unterstützt.