Einrichten automatisierter Tests mit Azure Test Plans

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

Automatisierte Tests in Azure Test Plans verbinden Ihren automatisierten Testcode mit Testfallarbeitselementen. Sie können Tests bei Bedarf aus Testplänen ausführen, Ergebnisse zusammen mit manuellen Tests nachverfolgen und die Qualität auf Anforderungsniveau messen. Dieser Artikel durchläuft den vollständigen Workflow vom Schreiben von Tests bis hin zur Analyse von Ergebnissen.

End-to-End-Automatisierter Testworkflow

Das Einrichten automatisierter Tests umfasst die folgenden Schritte:

  1. Erstellen Sie automatisierte Tests – Schreiben Sie Tests in einem unterstützten Framework, und überprüfen Sie sie in die Quellcodeverwaltung.
  2. Einrichten einer Buildpipeline – Erstellen Sie eine Pipeline, die Ihr Testprojekt kompiliert und Testbinärdateien erstellt.
  3. Zuordnen von Tests zu Testfällen – Verknüpfen Sie jede automatisierte Testmethode mit einer Testfallarbeitsaufgabe zur Rückverfolgbarkeit.
  4. Ausführen automatisierter Tests – Führen Sie Tests nach Bedarf aus Testplänen oder als Teil von CI/CD-Pipelines durch.
  5. Überprüfen Sie Die Ergebnisse und verfolgen Sie die Qualität – Analysieren Sie Pass-/Fail-Ergebnisse, verfolgen Sie die Anforderungsabdeckung, und identifizieren Sie Trends.

Voraussetzungen

Kategorie Anforderung
Projektzugriff Projektmitglied.
Zugriffsebenen - Um testbezogene Workitems anzuzeigen oder Testfälle auszuführen: Zumindest Grundlegend Zugang. Benutzer mit Stakeholder--Zugriff haben keinen Zugriff auf Testpläne.
- Um die gesamte Palette von testbezogenen Features auszuüben: Basic + Testpläne Zugriffsebene oder eines der folgenden Visual Studio Abonnements:
- Unternehmen
- Testprofi
- MSDN-Plattformen
Erlaubnisse Berechtigungen für den Bereichspfad:
- Zum Hinzufügen oder Ändern von Testplänen, Testsuiten, Testfällen oder anderen testbasierten Arbeitselementtypen: Arbeitselemente in diesem Knoten bearbeiten festlegen auf Erlauben.
– So ändern Sie Testplaneigenschaften wie Build- und Testeinstellungen: Verwalten von Testplänen , die auf "Zulassen" festgelegt sind.
– Um Testsuiten zu erstellen und zu löschen, fügen Sie Testfälle aus Testsammlungen hinzu und entfernen sie sie, oder ändern Sie Testkonfigurationen, die Testsuiten zugeordnet sind: Verwalten von Testsuiten , die auf "Zulassen" festgelegt sind.

Projektebene-Berechtigungen:
– Zum Anzeigen, Erstellen oder Löschen von Testläufen: Anzeigen von Testläufen, Erstellen von Testläufen und Löschen von Testläufen , die auf "Zulassen" festgelegt sind.
– Zum Verwalten von Testkonfigurationen oder Testumgebungen: Verwalten von Testkonfigurationen und Verwalten von Testumgebungen , die auf "Zulassen" festgelegt sind.
- Um neue Tags zu testbasierten Arbeitsaufgaben hinzuzufügen: Die Tag-Definition erstellen und setzen auf'Erlauben'.
- So löschen Sie testbasierte Arbeitsaufgaben endgültig: Arbeitsaufgaben endgültig löschen , die auf "Zulassen" festgelegt sind.

Weitere Informationen finden Sie unter Manual test access and permissions.

Additionally:

Kategorie Anforderungen
Pipelineberechtigungen Um automatisierte Tests aus Testplänen auszuführen, benötigen Sie Freigabeberechtigungen (Erstellen von Versionen, Verwalten von Bereitstellungen, Freigabestufe bearbeiten). Weitere Informationen finden Sie unter Veröffentlichungsberechtigungen.
Werkzeuge Visual Studio 2017 oder höher (Enterprise oder Professional), um Tests von Visual Studio zuzuordnen. Nicht erforderlich, wenn Sie Tests aus dem Azure DevOps-Webportal zuordnen.

Schritt 1: Erstellen automatisierter Tests

Schreiben Sie automatisierte Tests mithilfe aller unterstützten Frameworks. Überprüfen Sie das Testprojekt in Azure Repos oder ein verbundenes GitHub Repository.

Unterstützte Frameworks

Rahmenwerk Assoziieren in Visual Studio Associate für Azure DevOps
MSTest v1/v2 Ja Ja
NUnit Ja Ja
xUnit Ja Ja
Selen Ja Ja
Codierte UI-Tests Ja Ja
Python (PyTest) No Ja
Java (Maven/Gradle) No Ja

Anleitungen zum Schreiben von UI-Tests, die zuverlässig in CI/CD-Pipelines ausgeführt werden, finden Sie unter Überlegungen zum Testen der Benutzeroberfläche. Ein Schrittweises Selenium-Beispiel finden Sie unter Ausführen von UI-Tests mit Selenium.

Schritt 2: Eine Build-Pipeline einrichten

Erstellen Sie eine Buildpipeline, die Ihr Testprojekt kompiliert, und erzeugt Artefakte, die die Testbinärdateien enthalten. Sowohl klassische als auch YAML-Pipelines werden unterstützt.

  1. Erstellen Sie Ihre erste Pipeline , wenn Sie nicht über eine Pipeline verfügen.
  2. Stellen Sie sicher, dass Ihre Pipeline das Testprojekt erstellt und die Test-Binärdateien als Build-Artefakte veröffentlicht.
  3. Verwenden Sie die aufgabe Visual Studio Test oder die Aufgabe Azure Testplan zum Ausführen und Melden von Tests in Ihrer Pipeline.
  4. Wenn Ihre Pipeline Tests ausführt, erscheinen die Ergebnisse automatisch auf der Registerkarte Tests der Ausführung der Pipeline.

Um Testergebnisse von Nicht-Microsoft Testläufern zu veröffentlichen, verwenden Sie die Aufgabe Publish Test Results.

Schritt 3: Zuordnen automatisierter Tests zu Testfällen

Wenn Sie einer Testfallarbeitsaufgabe eine Testmethode zuordnen, erhalten Sie die folgenden Vorteile:

  • On-Demand-Ausführung über Testpläne
  • Anforderungsablaufverfolgung – wenn Testfälle mit Benutzergeschichten verknüpft sind, zeigen automatisierte Ergebnisse die Qualität auf Anforderungsebene an.
  • Einheitliche Berichterstellung – automatisierte und manuelle Testergebnisse werden im Test Run Hub zusammen angezeigt.

Sie können Tests aus Visual Studio oder aus dem Azure DevOps-Webportal zuordnen:

  • Visual Studio – Öffnen Sie Test Explorer, wählen Sie eine Testmethode aus, und wählen Sie Zuordnung zu Testfall aus. Unterstützt .NET Frameworks (MSTest, NUnit, xUnit, Selenium, Coded UI).
  • Azure DevOps-Portal - Assoziieren Sie aus den Testergebnissen der Pipeline oder direkt aus einem Arbeitselement für einen Testfall. Unterstützt alle Frameworks, einschließlich Python und Java.

Vollständige Anweisungen finden Sie unter Zuordnen von automatisierten Tests zu Testfällen.

Von Bedeutung

Sie können eine Testmethode mehreren Testfällen zuordnen, aber jeder Testfall kann nur eine zugeordnete Testmethode haben.

Schritt 4: Ausführen automatisierter Tests

Ausführen aus Test Plänen (on-demand)

Lösen Sie automatisierte Tests direkt von Azure Test Plans aus, ohne geplante Builds einzurichten. Wählen Sie bestimmte Testfälle aus, und führen Sie sie mit einer Build- und Releasepipeline aus, die in den Testplaneinstellungen konfiguriert ist.

Schrittweise Anleitungen finden Sie unter Ausführen automatisierter Tests aus Testplänen.

Ausführen von Pipelines (CI/CD)

Führen Sie automatisierte Tests als Teil Ihrer Build- oder Releasepipeline aus. Tests werden automatisch für jeden Commit oder jede Bereitstellung ausgeführt, und die Ergebnisse werden auf der Registerkarte "Tests " der Pipeline angezeigt.

Schritt 5: Überprüfen der Testergebnisse und Nachverfolgen der Qualität

Testergebnisse

  • In Testplänen – Anzeigen von Ergebnissen von bestandenen und fehlgeschlagenen Tests für automatisierte und manuelle Tests zusammen im Test Run Hub. Wählen Sie einen beliebigen Testlauf aus, um detaillierte Ergebnisse, Fehlermeldungen und Stapelspuren anzuzeigen.
  • In Pipelines – Anzeigen von Testergebnissen auf der Registerkarte "Tests " einer beliebigen Pipelineausführung. Siehe "Überprüfen von Testergebnissen".
  • Testanalyse – Identifizieren der häufigsten Fehlertests, Nachverfolgen von Passratetrends und Analysieren von Fehlermustern über Builds hinweg. Siehe Testanalyse.
  • Codeabdeckung – Messen Sie, welche Teile Ihres Codes durch Tests ausgeführt werden. Siehe Überprüfen der Codeabdeckungsergebnisse.
  • Flaky Testverwaltung – Erkennen und verwalten Sie Tests mit nicht deterministischen Ergebnissen, um fehlschlagende Buildfehler zu verhindern. Siehe Verwalten von instabilen Tests.

Nachverfolgbarkeit von Anforderungen

Wenn Sie Testfälle mit Anforderungen (Benutzergeschichten, PBIs) verknüpfen, zeigen automatisierte Testergebnisse die Qualität auf Anforderungsebene an. Verfolgen Sie, welche Anforderungen bestanden, nicht bestanden oder nicht abgedeckt wurden. Weitere Informationen finden Sie unter "Anforderungen zur Rückverfolgbarkeit".