Not logged in.

Contribution Details

Type Bachelor's Thesis
Scope Discipline-based scholarship
Title Flaky Tests Detection in a Continuous Integration Pipeline; Implementation of a Proof-of-Concept System
Organization Unit
Authors
  • Dylan Puser
Supervisors
  • Harald Gall
  • Pasquale Salza
  • Valerio Terragni
Language
  • English
Institution University of Zurich
Faculty Faculty of Business, Economics and Informatics
Date 2021
Abstract Text Tests in software engineering are used to control the validity of code, to make sure newly written or modified code does not have unintended consequences and to create a more maintainable project. Sometimes however, a test can be flaky. A flaky test will fail occasionally, even though neither the test nor the code under test were modified. Such tests erode the trust in the tests, are difficult and costly to identify and rectify, and can have a considerable negative impact on companies and developers. Furthermore, they can be an indication of a deeper fault in the system itself. Based on a proposal of identifying the root cause of flaky tests using a container-based fuzzy-driven approach and an implementation of such a system, we discuss how to best make it available to a typical user. We then present an implementation of such a system and evaluateshortly its value.
Zusammenfassung Tests in Softwareentwicklung werden verwendet um die Validität von Code zu kontrollieren, um neu geschriebenen Code oder kürzlich modifizierten Code auf unbeabsichtigte Konsequenzen zu prüfen und um ein besser wartbares System zu schaffen. Manchmal können diese Tests aber "flaky" sein. Ein Test der flaky ist kann sporadisch und ohne dass der Test oder der Code der getestet wird modifiziert wurden fehlschlagen. Solche Tests können die Zuversicht in sie zerstören, sind schwierig zu finden und beheben, und können einen beachtlichen negativen Effekt auf Firmen und Entwickler haben. Zudem können sie eine Indikation eines tiefgründigeren Problems im Code sein. Basierend auf einem Vorschlag um den unterliegenden Grund eines flaky Tests mittels einer Container-basierten "fuzzy"-getriebenen Infrastruktur zu finden und basierend auf einer solchen Implementierung, besprechen wir, wie wir ein solches System einem typischen Nutzer zur Verfügung stellen können. Danach präsentieren wir eine solche Implementation und evaluieren kurz ihrenWert.
PDF File Download
Export BibTeX