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 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.
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.
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.