Detailansicht
Evaluating infrastructure as code testing practices in open-source GitHub projects
Elma Hamzabegovic
Art der Arbeit
Masterarbeit
Universität
Universität Wien
Fakultät
Fakultät für Informatik
Studiumsbezeichnung bzw. Universitätlehrgang (ULG)
Masterstudium Wirtschaftsinformatik
Betreuer*in
Uwe Zdun
DOI
10.25365/thesis.80865
URN
urn:nbn:at:at-ubw:1-14628.17862.285843-3
Link zu u:search
(Print-Exemplar eventuell in Bibliothek verfügbar)
Abstracts
Abstract
(Deutsch)
Infrastructure as Code (IaC) ist ein Ansatz zur Verwaltung von Cloud-Infrastruktur mithilfe versionskontrollierter, maschinenlesbarer Definitionsdateien anstelle manueller Konfiguration. Infrastrukturkomponenten wie Server, Netzwerke und Cloud-Services werden dabei als deklarative Konfigurationen beschrieben, die automatisch bereitgestellt, geändert und entfernt werden können. Da Infrastrukturdefinitionen als Code verwaltet werden, müssen sie – ähnlich wie traditionelle Softwaresysteme – auf Korrektheit und Zuverlässigkeit getestet werden. Das Testen von IaC unterscheidet sich jedoch in mehreren Aspekten vom klassischen Softwaretesten. Tests erfordern häufig die Bereitstellung realer Cloud-Ressourcen, was sie zeitaufwändiger, kostenintensiver und abhängig von externen Diensten machen kann. Darüber hinaus bedeutet die deklarative Natur der meisten IaC-Sprachen, dass ein großer Teil des Systemverhaltens ohne tatsächliche Bereitstellung der Infrastruktur nur eingeschränkt überprüft werden kann. Obwohl die akademische Literatur das Testen von IaC-Projekten auf einer allgemeinen Ebene empfiehlt, gibt es bislang nur begrenzte empirische Erkenntnisse darüber, wie Testpraktiken in realen IaC-Projekten tatsächlich umgesetzt werden. Diese Lücke wird auch durch mehrere Praktikerbefragungen bestätigt, die eine Diskrepanz zwischen dem wahrgenommenen Stellenwert des Testens und dessen tatsächlicher Anwendung in der Praxis aufzeigen. Ziel dieser Arbeit ist es, diese Lücke durch drei Beiträge zu adressieren. Erstens wird ein auf der wissenschaftlichen Literatur basierendes Evaluierungsframework entwickelt, um die Testreife von IaC-Projekten systematisch zu bewerten. Zweitens wird dieses Framework auf fünfundzwanzig Open-Source-GitHub-Repositories angewendet, die IaC-Tests implementieren, wodurch detaillierte Evaluierungen der einzelnen Projekte entstehen. Drittens werden übergreifende Erkenntnisse zusammengeführt, um Bereiche der Übereinstimmung und Abweichung zwischen akademischen Empfehlungen und den beobachteten Praktiken zu identifizieren. Auf Grundlage dieser Ergebnisse werden spezifische praxisorientierte Empfehlungen abgeleitet, die zentrale Testprioritäten zur Verbesserung der Testpraktiken in IaC-Projekten aufzeigen.
Abstract
(Englisch)
Infrastructure as Code (IaC) is an approach to managing cloud infrastructure through version-controlled, machine-readable definition files rather than manual configuration. Infrastructure components such as servers, networks, and cloud services are expressed as declarative configurations that can be automatically provisioned, modified, and destroyed. Since infrastructure definitions are managed as code, they need to be tested for correctness and reliability, similar to traditional software systems. However, IaC testing differs from conventional software testing in several ways. Tests often require the provisioning of real cloud resources, which can make them slower to execute, more expensive, and dependent on external services. Additionally, the declarative nature of most IaC languages means that much of the behaviour cannot be meaningfully validated without actual deployment. While academic literature recommends testing IaC projects at a high level, there is limited empirical evidence on how testing is actually implemented in real-world IaC projects. This gap is also highlighted in several practitioner surveys, which report a discrepancy between the perceived value of testing and its actual adoption in practice. This thesis aims to address this gap through three contributions. First, an evaluation framework derived from academic literature is developed to systematically assess IaC testing maturity. Second, the framework is applied to twenty-five open-source GitHub repositories that implement IaC testing, producing detailed evaluations of each project. Third, cross-cutting findings are synthesised to identify areas of alignment and divergence between academic recommendations and observed practices. Based on these findings, the thesis derives specific practitioner recommendations outlining key testing priorities for improving testing practices in IaC projects.
Schlagwörter
Schlagwörter
(Deutsch)
Infrastructure as Code IaC-Testing Softwaretesten Repository-Analyse
Schlagwörter
(Englisch)
Infrastructure as Code IaC testing Software testing Repository analysis
Autor*innen
Elma Hamzabegovic
Haupttitel (Englisch)
Evaluating infrastructure as code testing practices in open-source GitHub projects
Publikationsjahr
2026
Umfangsangabe
xii, 190 Seiten : Illustrationen
Sprache
Englisch
Beurteiler*in
Uwe Zdun
Klassifikation
54 Informatik > 54.52 Software engineering
AC Nummer
AC17830011
Utheses ID
80328
Studienkennzahl
UA | 066 | 926 | |
