Flaky Tests sind Tests, welches inkonsistentes Verhalten zeigen. Obwohl diese Test mehrfach unter den gleichen Bedingungen ausgeführt werden, zeigen sie unterschiedliche Ergebnisse. Dieses Verhalten führt zu Problemen bei Regression Testing, bei welchem jeder Fehlschlag eines Tests einen Bug anzeigen soll.
Eine verbreitete Strategie, um flaky Tests zu erkennen, ist Rerun, welches jeden Test mehrfach unter den gleichen Bedingungen ausführt. Falls sowohl erfolgreiche als auch fehlerhafte Ausführungen für einen Test beobachtet werden, wird dieser als flaky markiert. Da die Wahrscheinlichkeit eines flaky Fehlschlages oft gering ist, kann diese Strategie recht ineffizient sein.
Wir präsentieren einen effizienteren Ansatz, welcher durch das Limitieren von Ressourcen via Docker Nebenläufigkeit-bezogene Flakiness erkennen kann. Während wir versuchen, flaky Tests schnell zu erkennen, untersuchen wir ebenfalls, wie sich die Limitierung auf bis dato stabile Tests auswirkt. Da wir versuchen, praxisrelevante Flakiness aufzudecken, wäre ein markieren dieser stabilen Tests ungewünscht, da sie die Aufmerksamkeit der Entwickler von den kritischeren Fällen von Flakiness ablenken.
Wir erhalten versprechende Resultate und können die Anzahl an Ausführungen zur Erkennung von Flakiness um ca. 80% reduzieren. Wenn man die absolute Laufzeit bis zur Erkennung betrachtet, erreichen wir eine Beschleunigung von ungefähr 50%. Allerdings sehen wir auch, dass einige stabile Tests unter Ressourcen Limitierung als flaky markiert werden. Wir kommen zu dem Schluss, dass ein klares Trennen zwischen flaky Tests und stabilen Tests schwierig ist.
«
Flaky Tests sind Tests, welches inkonsistentes Verhalten zeigen. Obwohl diese Test mehrfach unter den gleichen Bedingungen ausgeführt werden, zeigen sie unterschiedliche Ergebnisse. Dieses Verhalten führt zu Problemen bei Regression Testing, bei welchem jeder Fehlschlag eines Tests einen Bug anzeigen soll.
Eine verbreitete Strategie, um flaky Tests zu erkennen, ist Rerun, welches jeden Test mehrfach unter den gleichen Bedingungen ausführt. Falls sowohl erfolgreiche als auch fehlerhafte Ausfü...
»