Flaky-Tests sind definiert als Tests, die sowohl erfolgreiche als auch fehlgeschlagene Durchläufe haben, obwohl keine Änderungen am Code oder am Test selbst vorgenommen wurden.
Unzuverlässige Testergebnisse können durch mehrere Faktoren bedingt sein, z. B. Inkonsistenzen in der Testumgebung, kein Zurücksetzen der Testdaten zwischen den Testläufen, Zeit- und Zeitzonenprobleme und Abhängigkeiten von der Reihenfolge der Testausführung.
Das Problem von Flaky-Tests besteht darin, dass sie Ihre CI/CD-Pipeline verlangsamen und das Vertrauen in Ihre Testprozesse untergraben. Da auf die Ergebnisse von Flaky-Tests kein Verlass ist, können Sie sich nicht sicher sein, ob ein erfolgreicher Testlauf tatsächlich bedeutet, dass Ihr Code fehlerfrei ist, und ob Sie bei einem fehlgeschlagenen Test Zeit investieren sollten, um das Problem zu reproduzieren und zu beheben.
Um Flaky-Tests zu erkennen, müssen Sie die Testergebnisse mehrerer Testläufe vergleichen. Bei manueller Durchführung wäre diese Analyse sehr zeitaufwändig, aber zum Glück können viele CI-Server Flaky-Tests automatisch erkennen.
Wenn Sie Flaky-Tests in den Griff bekommen möchten, besteht der erste Schritt darin, sie zu erkennen. Sobald das Ausmaß des Problems bekannt ist, können Sie eine Prioritätenfolge für die Behebung festlegen. In der Zwischenzeit sollten Flaky-Tests stummgeschaltet werden, um unzuverlässige Testergebnisse aus automatisch erstellten Testberichten auszuschließen.