Durchführen von automatisierten Tests aus Testplänen

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

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

  • Sie müssen eine Verbindung mit einem Projekt herstellen. Wenn Sie noch kein Projekt haben, erstellen Sie eines.
  • Sie müssen einem Projekt hinzugefügt werden. Um hinzugefügt zu werden, fügen Sie Einem Projekt oder Team Benutzer hinzu.
  • Zum Anzeigen oder Ausführen manueller oder automatisierter Tests müssen Sie über Standardzugriff oder höher verfügen.

Weitere Informationen finden Sie unter Manueller Testzugriff und Berechtigungen.

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 zeigt die Auswahl von Testplaneinstellungen.

  2. Wählen Sie im Dialogfeld "Testplaneinstellungen" die Buildpipeline aus, die Builds generiert, die die Testbinärdateien enthalten. 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 zeigt die Auswahl der Build- und 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-Testplänen 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. Wählen Sie andernfalls im Dialogfeld "Neu erstellen" aus, um eine neue Releasepipeline zu erstellen, die eine einzelne Phase enthält, und die Visual Studio Test-Aufgabe wurde bereits hinzugefügt.

    Screenshot zeigt die Auswahl einer Releasepipeline oder das Erstellen einer neuen Pipeline.

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

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

  5. Wenn Visual Studio bereits auf dem Agentcomputer installiert ist, überspringen Sie diesen Schritt. Falls nicht, 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:

    • Vergewissern Sie sich, dass Version 2 des Visual Studio-Testtasks ausgewählt ist. Die Versionsnummer wird in der Dropdownliste des Aufgabeneinstellungsbereichs angezeigt.

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

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

      Screenshot: Überprüfen der Einstellung der Testauswahlmethode.

    • Wählen Sie für die Einstellung Testplattformversiondie Option Install by Tools Installer (Von Tools installiert) aus.

      Screenshot zeigt das Festlegen der Installationsoption.

    • Wenn Sie UI-Tests 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. Sie müssen einen Agent so einrichten, dass er interaktiv ausgeführt wird, bevor Sie den Build oder die Freigabe in die Warteschlange stellen. Der Testmix enthält das Kontrollkästchen "UI-Tests " konfiguriert den Agent nicht automatisch im interaktiven Modus – 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 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 zeigt die Angabe der Eigenschaften für die Visual Studio Test-Aufgabe.

      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 Agentpool erfordern, können Sie Anforderungen hinzufügen, die zur Laufzeit ausgewählt werden.

    Screenshot zeigt die Angabe der Eigenschaften für den Agent-Auftrag.

    Sie können Testzeiten möglicherweise minimieren, indem Sie Tests über mehrere Agents verteilen, indem Sie Parallelität 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 Testbinärdateien enthält, mit dieser Releasepipeline als Artefaktquelle verknüpft ist.

    Screenshot der Überprüfung der verknüpften Buildartefakte.

  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 Freigabepipeline und die gespeicherte Phase aus.

    Der Screenshot zeigt die Auswahl der Releasepipeline und -stufe.

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 Tests aus, die Sie ausführen möchten, öffnen Sie das Menü "Ausführen ", und wählen Sie dann "Test ausführen" aus.

    Der Screenshot zeigt, wie Sie

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

  3. Wählen Sie "OK" aus, um den Testvorgang zu starten. Das System überprüft, ob nur automatisierte Tests ausgewählt werden (alle manuellen Tests werden ignoriert), ü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 überprüft, eine Testausführung erstellt und dann die Erstellung einer Freigabe an die ausgewählte Phase auslöst.

    Screenshot zeigt, wie die Testausführung gestartet wird.

  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 Version, die zum Ausführen der Tests verwendet wird, wodurch es einfach 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 diesen Link auch, wenn Sie das Release öffnen möchten, um die Releaseprotokolle anzuzeigen.

Hinweis

Die manuelle Anlage 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 zeigt die Details der Testergebnisse.

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

    Screenshot zeigt die Anzeige des Testplans.

Häufig gestellte Fragen

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

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

A: Sie müssen 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 Festlegen von Berechtigungen für Releasepipelines und Freigabeberechtigungen.

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

Eine: 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 zeigt das Konfigurieren des Dialogfelds

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

  • 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 Buildartefakt nutzen kann.
  • Releasephase: Wählen Sie den Namen der Phase aus, die in Ihrer Releasepipeline konfiguriert ist.

Screenshot zeigt das konfigurierte Dialogfeld

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 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 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 Testverwaltungs-Subsystem verwendet das Testlaufobjekt, um die Liste der für die Ausführung ausgewählten Tests zu bestehen. 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 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 unter Windows und Agentpools.

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

Eine: 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 konfigurationsfähig.

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?

Eine: Die aktuelle Funktion ist für einen einzelnen Teambuild optimiert, der bei Bedarf mithilfe eines Azure Pipelines-Workflows getestet werden kann. Wir bewerten 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?

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

  • 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 ein paar On-Demand-Testläufe ausführen, könnte Ihre geplante Testversionspipeline mit Versionen für diese Ausführung überlastet werden, wodurch es schwierig ist, 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 How does selecting "Test run (for on-demand runs)" in the Visual Studio Test task work?.

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. Sie 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 Testsammlungen oder Testplänen parallel mit derselben Releasepipeline ausgeführt werden?

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

  • Der der Phase zugeordnete Agentpool verfügt über genügend Agents, um parallele Anforderungen zu erfüllen. Wenn ausreichende Agents nicht verfügbar sind, können Die Ausführungen weiterhin ausgelöst werden, aber die Warteschlange für die Verarbeitung wird freigegeben, bis Agents 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 parallelen Aufträgen 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 Den 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 zeigt die Ü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?

Eine: Ü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 die Berechtigungen "Releases erstellen" und "Bereitstellungen verwalten" für den Benutzer 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 der Arbeitsaufgabe für den Testfall aus, oder verwenden Sie den Link "Spaltenoptionen " in Azure Testpläne , 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.