Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 in der 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.
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.
Die Standardeinstellung für alle Projekte ist die Verwendung unzuverlässiger Tests für die Problembehandlung.
Hinweis
Der Wechsel zwischen Systemen ist inhärent störend, da der gesamte in Azure DevOps gespeicherte Flakinessverlauf während des Übergangs gelöscht wird.
Erkennung unzuverlässiger Tests
Die Verwaltung unzuverlässiger Tests unterstützt die Systemerkennung und die benutzerdefinierte Erkennung.
Systemerkennung: Azure DevOps verfügt über einen integrierten Mechanismus zum Erkennen flackeriger Tests. Dies umfasst die erneute Ausführung fehlgeschlagener Tests innerhalb derselben Pipelineausführung. Wenn ein Testfall anfangs fehlschlägt, aber bei einem erneuten Durchlauf besteht, wird er als instabil markiert. Diese Erkennung ist eng mit der VSTest-Aufgabe verbunden, die fehlgeschlagene Tests innerhalb derselben Aufgabenausführung erneut durchführt. Eine andere Methode umfasst das erneute Ausführen fehlgeschlagener Aufträge in der Pipeline (manuell durch Klicken auf "Fehlgeschlagene Aufträge erneut ausführen" in einer Pipelineausführung). Wenn ein Test die Wiederholung bestanden hat, wird er als unzuverlässig markiert.
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: Mit diesem Ansatz können externe Systeme ihre eigene Logik zum Erkennen von flackernden Tests integrieren und auf Azure DevOps für eine konsistente Nachverfolgung und Verwaltung zurückgreifen. Die Kommunikation mit Azure DevOps ist mithilfe der Ergebnismetadaten – Update-API aktiviert. Die API erfordert eine Testfallreferenz-ID, ein Flag, das angibt, ob der Test als flaky gilt, und der Repository-Branch, in dem die Flakiness beobachtet wurde. Der Benutzer sollte in der Lage sein, die Testfallreferenz-ID aus der API " Testergebnis nach ID abrufen " abzurufen. Sobald diese Informationen an Azure DevOps gesendet wurden, speichert und verteilt das System den Flakinessstatus für diesen Testfall in nachfolgenden Pipelineläufen. Nachdem ein Test als instabil gekennzeichnet wurde, behandelt Azure DevOps ihn weiterhin als solchen, bis er manuell wieder freigegeben wird.
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.
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.
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.
Hilfe und Support
- Siehe unsere Seite zur Problembehandlung
- Informieren Sie sich auf Stack Overflow, und wenden Sie sich bei Bedarf an die Entwicklercommunity.