Not logged in.

Contribution Details

Type Bachelor's Thesis
Scope Discipline-based scholarship
Title Automatic Flaky Test Detection with Machine Learning at Mozilla
Organization Unit
Authors
  • Tim Brunner
Supervisors
  • Alberto Bacchelli
  • Fernando Petrulio
Institution University of Zurich
Faculty Faculty of Business, Economics and Informatics
Date 2022
Abstract Text Modern Continuous Integration and Deployment systems are constantly running software tests to ensure that only reliable code is deployed to production. Flaky tests are a big problem that hinders such systems from working correctly and effectively. Those tests are introduced by intermittent failures caused by software bugs or infrastructural problems. We propose an approach that automatically classifies failing test groups as accurate or flaky by using historical data and machine learning methods to keep flaky tests apart from real failures. For that purpose, we created a dataset with information we extracted from the CI/CD system to fit the machine learning models. This approach achieves up to 94% accuracy with Precision and Recall scores of up to 95% and 97%.
Zusammenfassung Moderne Continuous Integration and Deployment (CI/CD) System führen ständig Softwaretests aus, um sicherzustellen, dass nur verlässlicher Code in die produktiven Systeme veröffentlich wird. Ein grosses Problem, welches solche Systeme daran hindert, richtig und effektiv zu funktionieren, sind flaky tests. Flaky tests werden durch zufällig auftretende Fehler ausgelöst, welche durch Softwarefehler oder infrastrukturelle Probleme verursacht werden. Um flaky tests anzugehen, schlagen wir eine Methode vor, die mithilfe von historischen Daten und Methoden des machinellen Lernens durchfallende Testgruppen automatisch klassifiziert. Um die Modelle dem Problem anzupassen, kreierten wir ein Datenset mithilfe von Informationen aus Mozillas CI/CD System. Diese Methode erreicht eine Genauigkeit von 94%, mit einer Präzision und Erinnerung von 95% und 97%.
PDF File Download
Export BibTeX