Verwalten von unzuverlässigen Tests

Azure DevOps Services

Die Produktivität der Entwickler*innen hängt von der Fähigkeit der Tests ab, echte Probleme mit dem zu entwickelnden oder zu aktualisierenden Code rechtzeitig und zuverlässig zu finden. Unzuverlässige Tests stellen ein Hindernis bei der Suche nach echten Problemen dar, da die Fehler oft nicht mit den getesteten Änderungen zusammenhängen. Ein unzuverlässiger Test ist ein Test, der unterschiedliche Ergebnisse liefert, z. B. bestanden oder nicht bestanden, auch wenn keine Änderungen am Quellcode oder an der Ausführungsumgebung vorgenommen wurden. Unzuverlässige Tests wirken sich auch auf die Qualität des gelieferten Codes aus.

Hinweis

Dieses Feature ist nur auf Azure DevOps Services verfügbar. In der Regel werden zuerst neue Features im Clouddienst eingeführt und dann lokal in der nächsten Hauptversion oder dem nächsten Update von Azure DevOps Server verfügbar gemacht. Weitere Informationen finden Sie unter Azure DevOps-Featurezeitachse.

Das Ziel der Integration der Verwaltung von unzuverlässigen Tests in das Produkt ist es, die durch unzuverlässige Tests verursachten Probleme für Entwickler*innen zu verringern und den gesamten Workflow zu unterstützen. Die Verwaltung von unzuverlässigen Tests bietet die folgenden Vorteile.

  • Erkennung: Automatische Erkennung von unzuverlässigen Tests mit Wiederholungs- oder Erweiterungsmöglichkeit zum Einfügen Ihrer benutzerdefinierten Erkennungsmethode

  • Verwaltung der Unzuverlässigkeit: Sobald ein Test als unzuverlässig gekennzeichnet ist, sind die Daten für alle Pipelines für diesen Branch verfügbar.

  • Bericht über unzuverlässige Tests: Sie können auswählen, ob Sie Buildfehler, die durch unzuverlässige Tests verursacht werden, verhindern möchten, oder ob Sie das Tag für unzuverlässige Tests nur zur Problembehandlung verwenden möchten.

  • Lösung: Manuelle Fehlererstellung oder manuelles Kennzeichnen und Aufheben der Kennzeichnung von Tests als unzuverlässig auf der Grundlage Ihrer Analyse

  • Abschließen des Workflows: Setzen Sie den unzuverlässigen Test als Ergebnis der Fehlerbehebung bzw. der manuellen Eingabe zurück.

Unzuverlässiger Lebenszyklus

Aktivieren der Verwaltung unzuverlässiger Tests

Wählen Sie Projekteinstellungen und dann Testverwaltung im Abschnitt Pipelines aus, um die Verwaltung von unzuverlässigen Tests zu konfigurieren.

Legen Sie den Ein/Aus-Schieberegler auf Ein fest.

Screenshot der Testverwaltung. Die Erkennung unzuverlässiger Tests ist aktiviert, und die Option „Systemerkennung“ ist ausgewählt.

Die Standardeinstellung für alle Projekte ist die Verwendung unzuverlässiger Tests für die Problembehandlung.

Erkennung unzuverlässiger Tests

Die Verwaltung unzuverlässiger Tests unterstützt die Systemerkennung und die benutzerdefinierte Erkennung.

  • Systemerkennung: Die produktinterne Erkennung unzuverlässiger Tests verwendet Daten aus Testwiederholungen. Die Erkennung erfolgt über die Wiederholung von fehlgeschlagenen Tests durch die VSTest-Aufgabe oder die Wiederholung einer Stage in der Pipeline. Sie können bestimmte Pipelines im Projekt auswählen, für die Sie unzuverlässige Tests erkennen möchten.

    Hinweis

    Sobald ein Test als unzuverlässig gekennzeichnet ist, stehen die Daten für alle Pipelines für diesen Branch zur Verfügung, um die Problembehandlung in jeder Pipeline zu unterstützen.

  • Benutzerdefinierte Erkennung: Sie können Ihren eigenen Erkennungsmechanismus für unzuverlässige Tests mit Azure Pipelines integrieren und die Berichterstellungsfunktion verwenden. Mit der benutzerdefinierten Erkennung müssen Sie die Metadaten der Testergebnisse für unzuverlässige Tests aktualisieren. Ausführliche Informationen finden Sie unter Testergebnisse, Ergebnismetadaten – Aktualisieren der REST-API.

Screenshot der Testverwaltung. Die Erkennung unzuverlässiger Tests ist aktiviert, und die Option „Benutzerdefinierte Erkennung“ ist ausgewählt.

Optionen für unzuverlässige Tests

Die Optionen für unzuverlässige Tests legen fest, wie unzuverlässige Tests in Testberichten verfügbar sind und welche Lösungsmöglichkeiten es gibt, wie in den folgenden Abschnitten beschrieben.

Unzuverlässige Testverwaltung und Berichterstellung

Auf der Seite „Testverwaltung“ unter Optionen für unzuverlässige Tests können Sie festlegen, wie unzuverlässige Tests in den Testzusammenfassungsbericht aufgenommen werden sollen. Unzuverlässige Testdaten sowohl für den bestandenen als auch den fehlgeschlagenen Test sind in Testergebnisse verfügbar. Anhand des Tags Unzuverlässig können Sie unzuverlässige Tests erkennen. Standardmäßig sind unzuverlässige Tests in der Testzusammenfassung enthalten. Wenn Sie jedoch sicherstellen möchten, dass unzuverlässige Testfehler Ihre Pipeline nicht beeinträchtigen, können Sie diese nicht in Ihre Testzusammenfassung aufnehmen und den Testfehler unterdrücken. Diese Option stellt sicher, dass unzuverlässige Tests (sowohl bestandene als auch fehlgeschlagene) aus dem Prozentsatz der bestandenen Tests entfernt und in Nicht im Bericht enthaltene Tests angezeigt werden, wie im folgenden Screenshot zu sehen ist.

Unzuverlässige Berichte

Hinweis

Der Testzusammenfassungsbericht wird nur für die Aufgaben Visual Studio Test und Publish Test Results aktualisiert. Möglicherweise müssen Sie ein benutzerdefiniertes Skript hinzufügen, um unzuverlässige Tests für andere Szenarios zu unterdrücken.

Als unzuverlässig gekennzeichnete Tests

Sie können einen Test auf der Grundlage der Analyse oder des Kontexts als unzuverlässig kennzeichnen oder die Kennzeichnung aufheben, indem Sie Unzuverlässig (oder UnFlaky) auswählen, je nachdem, ob der Test bereits als unzuverlässig gekennzeichnet ist.

Kennzeichnen eines Tests als unzuverlässig

Wenn ein Test in einer Pipeline als unzuverlässig oder nicht unzuverlässig gekennzeichnet ist, werden in der aktuellen Pipeline keine Änderungen vorgenommen. Erst bei zukünftigen Ausführungen dieses Tests wird die geänderte unzuverlässige Einstellung ausgewertet. Tests, die als unzuverlässig gekennzeichnet sind, haben das Tag Als unzuverlässig markiert auf der Benutzeroberfläche.

Bestätigen der Kennzeichnung eines Tests als unzuverlässig

Hilfe und Support