Flaky Tests und der Umgang mit diesen – #1 Medien / Infosammlung
Flaky / instabile Testfälle wird wohl jeder kennen, der schon mal das Vergnügen hatte, den einen oder anderen automatisierten Oberflächentest auszuführen. Flaky Testfälle können viele Ursachen haben, dem Grund auf die Spur zu kommen, ist eine der Hauptaufgaben des Testautomatisierers.
Seit einigen Jahren tobt ein kleiner Glaubenskrieg zwischen denen, die, aus Zeit oder Kostengründen, etwas instabile Testfälle verstecken / erneut durchführen möchten und denen, die die darin einen Verstoß gegen alle Prinzipien eines/r ehrenhaften Testautomatisierers/in sehen.
Hier findest du einen kleinen Einblick in die Meinungen unterschiedlicher Unternehmen / Fach-Personen, die sich mit diesem Thema befasst haben.
Wer hat die Diskussion angestoßen?
Ausgelöst wurde die Diskussion ursprünglich von Google. Google war eines der ersten Unternehmen, das öffentlich zugegeben hat, Probleme mit der Stabilität von E2E Testfällen zu haben (obwohl Google relativ wenig Probleme haben dürfte, die besten Entwickler dieser Welt anzuwerben). Dieses Thema wurde auf einer Google Test Automation Conference vor einigen Jahren stark thematisiert und wurde auch unter andrem in folgenden Blogbeiträgen zusammengefasst:
https://testing.googleblog.com/2016/05/flaky-tests-at-google-and-how-we.html
https://testing.googleblog.com/2017/04/where-do-our-flaky-tests-come-from.html
Übrigens lohnt es sich durchaus den Blog von Google zu abonnieren, da kommen regelmäßig interessante Beiträge rein 😉
Was sagen die Kritiker?
Die „Analysemethoden“ und die daraus folgenden Schlussfolgerungen werden nicht überall mit Begeisterung. Hauptargument der Kritiker ist, dass die Flaky-Tests eine Chance sind, das System besser zu verstehen und evtl. Schwachstellen zu finden. Stumpfes Rerun von Testfällen könnte tatsächliche Fehler überdecken und dadurch die Qualität von der Software riskieren.
Dazu folgende Kommentare von unterschiedlichen Konferenzen:
Was machen die Testauto- Tool Hersteller?
Auch die Toolhersteller sind natürlich an möglichst stabilen Testfällen interessiert, Frustration ist schließlich schlecht fürs Geschäft 🙂
Da ein ausgereiftes Testautomatisierungstool, noch lange keine Garantie für stabile Testfälle ist. Gehen auch die Werkzeughersteller weiter, um die Stabilität der Testfälle zu erhöhen. Ranorex hat z.B. in der Version 7.2 folgendes Feature veröffentlicht:
Auto rerun failed test containers to reduce issues caused by temporary instabilities of the application under test.
Begeisterter Entwickler, Trainer und Berater zu allem Themen rund um agile Softwareentwicklung, Softwarequalität und Testautomatisierung.
Gründer und Geschäftsführer der Firma SimplyTest GmbH
Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!