Durchführen von automatisierten Tests aus Testplänen

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

Automatisieren Sie Testfälle in Ihren Testplänen, und führen Sie sie direkt von 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 nach Bedarf auszuführen, anstatt geplante Tests in Build- oder Release-Workflows auszuführen, in denen alle Tests 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 Benutzern zu einem Projekt oder Team hinzu.
  • Um manuelle oder automatisierte Tests anzuzeigen oder auszuführen, müssen Sie über den einfachen Zugriff oder höher verfügen.

Weitere Informationen finden Sie unter Manueller Testzugriff und -berechtigungen.

Darüber hinaus benötigen Sie folgendes:

Einrichten Ihrer Umgebung

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

    Auswählen von Testplaneinstellungen

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

    Auswählen der Build- und Buildnummer

  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 Test Plans auszuführen. Wenn Sie über eine vorhandene Releasepipeline verfügen, die mithilfe dieser Vorlage erstellt wurde, wählen Sie ihn aus, und wählen Sie dann die vorhandene Phase in der Releasepipeline aus, in der die Tests ausgeführt werden. Andernfalls wählen Sie im Dialogfeld " Neue Verknüpfung erstellen " aus, um eine neue Releasepipeline mit einer einzelnen Stufe mit der bereits hinzugefügten Visual Studio-Testaufgabe zu erstellen.

    Auswählen einer Releasepipeline oder Erstellen einer neuen Veröffentlichungspipeline

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

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

  5. Sie benötigen die Visual Studio-Testplattform, 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 Versionspipeline 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.

      Überprüfen der Einstellung für die Aufgabenversionsnummer

    • Stellen Sie sicher, dass die Verwendung von Tests auf "Testen" festgelegt ist. Was bedeutet diese Einstellung?

      Überprüfen der Einstellung der Testauswahlmethode

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

      Festlegen der Installationsoptionen

    • 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 ausgeführt werden, bevor die Warteschlange mit dem Build oder der Version ausgeführt wird (Festlegen des Testmixes enthält UI-Tests Kontrollkästchen konfiguriert nicht automatisch den Agent im interaktiven Modus – es wird nur als Erinnerung verwendet, um den Agent entsprechend zu konfigurieren, um Fehler zu vermeiden).

    • Wenn Sie UI-Tests auf einem kopflosen 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 Dropspeicherort zu veröffentlichen, wenn diese Datei nicht in die Artefakte einbezogen ist. Im nachstehenden Beispiel wird die Anwendungs-URL in der Ausführungseinstellungendatei verfügbar gemacht und wird überschrieben, um sie mithilfe der Einstellung für die Außerkraftsetzung von Testparametern auf eine Staging-URL festzulegen.

      Angeben der Eigenschaften für die Visual Studio-Testaufgabe

      Informationen zu den Optioneneinstellungen der Visual Studio-Testaufgabe finden Sie unter Visual Studio Test-Aufgabe.

  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 Ihre Tests spezielle Computer aus dem Agentpool erfordern, können Sie Anforderungen hinzufügen, die diese zur Laufzeit auswählen.

    Angeben der Eigenschaften für den Agentauftrag

    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 ausgeführt werden und nicht als Dienst. Weitere Informationen

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

    Überprüfen der verknüpften Buildartefakte

  9. Speichern Sie die Releasepipeline.

  10. Wenn Sie im Dialogfeld "Testplaneinstellungen" im Dialogfeld "Testplaneinstellungen " in Schritt 2 dieses Beispiels neue Einstellungen 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 gerade gespeicherte Phase aus.

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

    Auswählen des Testlaufs

    Die Test-Binä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 sind (alle manuellen Tests werden ignoriert), überprüft die Phase, um sicherzustellen, dass die Visual Studio-Testaufgabe vorhanden ist und gültige Einstellungen enthält, überprüft die Berechtigung des Benutzers, eine Version für die ausgewählte Releasepipeline zu erstellen, eine Testausführung erstellt und dann die Erstellung einer Version auf die ausgewählte Stufe ausgelöst.

    Starten der Testausführung

  4. Wählen Sie "Testlauf anzeigen " aus, um den Testfortschritt anzuzeigen und die fehlgeschlagenen Tests zu analysieren. Testergebnisse verfügen über die relevanten Informationen zum Debuggen fehlgeschlagener Tests wie fehlermeldung, Stapelverfolgung, Konsolenprotokolle und Anlagen.

  5. Nach Abschluss der Testausführung zeigt die Seite "Ausführen" der Azure Test Plans die Testergebnisse an. Auf der Seite "Ausführen" wird eine Übersicht über die Ausführung angezeigt.

    Anzeigen der Testlaufzusammenfassung

    Es gibt einen Link zur Version, die verwendet wird, um die Tests auszuführen, 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 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 die Fehlermeldung, stapelverfolgung, Konsolenprotokolle und Anlagen anzuzeigen.

    Anzeigen der Testergebnissedetails

  7. Öffnen Sie die Test Plans Seite, 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.

    Anzeigen des Testplans

Häufig gestellte Fragen

F: Welche Berechtigungen muss ich automatisierte Tests von Azure Test Plans 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 Releaseberechtigungen.

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.

Konfigurieren des Dialogfelds

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.

Dialogfeld

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

Eine: 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-Testaufgabe Version 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 Überwachungsperspektive 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 unter Windows und Agent-Pools.

F: Wo finde ich detaillierte 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 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 einem Testausführungsbezeichner als Eingabe konfigurieren, damit Sie nachverfolgen können, was die Version ausgelöst hat. Erfahren Sie , wie die Auswahl von "Testausführungen (für On-Demand-Ausführung)" in der Visual Studio-Testaufgabe funktioniert?.

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 Parallelaufträ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 unterschiedliche Testläufe parallel auszuführen, legen Sie die Option für die Azure Pipelines-Phasentrigger für das Verhalten fest, wenn mehrere Versionen warten, 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.

Übergeben von Parametern zum Testen von Code aus einer Build- oder Releasepipeline

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 "Artefakte " 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