Einführung von Software Fault Injection zur Verbesserung der Zuverlässigkeit in Automatisierungssoftware

  • Im Zuge der fortschreitenden Digitalisierung und der stetigen Veröffentlichung neuer Softwareprodukte steigen die Anforderungen der Anwender*innen an die Softwarequalität kontinuierlich. Insbesondere die Zuverlässigkeit der Software spielt eine zentrale Rolle für die Zufriedenheit der Nutzer*innen. Die vorliegende Masterarbeit untersucht, wie die Einführung von Software Fault Injection in einem österreichischen Automatisierungstechnikunternehmen zur Steigerung der Softwarezuverlässigkeit beitragen kann. Vor dem Hintergrund wachsender Anforderungen an die Zuverlässigkeit und Fehlertoleranz von Software leistet diese Arbeit einen Beitrag zur Erhöhung der Robustheit und Qualität von Softwareprodukten. Im ersten Schritt wurde methodisch nach dem Design Research Ansatzes mittels Literaturrecherche ein Leitfaden zur Einführung von Software Fault Injection konkret in Form von Mutation Testing erstellt, wobei sich dieser in die drei Bereiche „Schrittweiser Leitfaden zur Anwendung“, „Best-Practices“ und „Schulung und Dokumentation“ untergliedert. Der erstellte Leitfaden wurde im nächsten Schritt anhand eines österreichischen Automatisierungstechnik Unternehmens in einer Fallstudie nach Yin angewandt. Das untersuchte Softwareprodukt ist eine in C# entwickelte Windows-Desktop-Applikation und stellt eine ungewöhnliche Domäne für Fault Injection dar. Daher wurde der Leitfaden insbesondere auf die Anwendbarkeit in einem Praxisumfeld mit diesem Technologie Stack überprüft, um Rückschlüsse über die Effektivität und Effizienz der Anwendung des Leitfadens in dieser spezifischen Fault Injection Domäne zu ziehen. Die Ergebnisse der Arbeit zeigen, dass Mutation Testing in einem Softwareentwicklungsprozess wertvolle Erkenntnisse über die Qualität der Softwaretests auf Unittest Ebene liefert und gezielt Optimierungspotentiale für bestehende Tests sowie mangelhafte Testabdeckung aufdeckt. Die durchgeführte Fallstudie ergab, dass der Einsatz von Mutation Testing zu einer signifikanten Steigerung der Softwaretestqualität beitragen kann. Hierbei liegt der Fokus auf die Verbesserung von Unittests, wodurch potenzielle Problemstellungen frühzeitig identifiziert und behoben werden können. Die Einführung in die CI/CD-Pipeline zeigte, dass die effektive und effiziente Nutzung von Mutation Tests im Zuge der kontinuierlichen Softwareentwicklung auf. Weiters wurden Optimierungspotenziale des Leitfadens identifiziert, welche für zukünftige Forschungen als Grundlage dienen können, um die Verbreitung von Software Fault Injection in diversen Anwendungsdomänen voranzutreiben. Abschließend verdeutlicht die Masterarbeit, dass die Einführung von Mutation Testing in den bestehenden Entwicklungsprozess eines Unternehmens zur Steigerung der Softwarezuverlässigkeit beitragen kann. Technische und organisatorische Herausforderungen werden durch die gewonnenen Erkenntnisse aus Literatur und Praxis adressiert, um eine effektive Einführung von Software Fault Injection zu ermöglichen. Angesichts der zunehmenden Anforderungen an Softwarequalität und Zuverlässigkeit stellt diese Arbeit einen wertvollen Beitrag zur Verbesserung der Softwarequalität in Unternehmen dar.
  • As digitalisation progresses and new software products are constantly being released, users' demands on software quality are increasing. Software reliability in particular plays a key role in user satisfaction. This master's thesis examines how the introduction of software fault injection in an Austrian automation technology company can contribute to increasing software reliability. Against the background of growing demands on the reliability and fault tolerance of software, this thesis contributes to increasing the robustness and quality of software products. In the first step, a guideline for the introduction of software fault injection specifically in the form of mutation testing was created according to the design research approach by means of literature research. The artefact is then subdivided into the three areas of ‘step-by-step guide-lines for application’, ‘best practices’ and ‘training and documentation’. In the next step, the guidelines created were applied to an Austrian automation technology company in a case study according to Yin. The software product analysed is a Windows desktop application developed in C# and represents an unusual domain for fault injection. Therefore, the guideline was evaluated in particular for its applicability in a practical environ-ment with this technology stack in order to draw conclusions about the effectiveness and efficiency of the application of the guideline in this specific fault injection domain. The results of this work show that mutation testing in a software development process provides valuable insights into the quality of software tests at unit test level and specifically uncovers optimisation potential for existing tests and inadequate test coverage. The case study showed that the use of mutation testing can contribute to a significant increase in software test quality. The focus here is on improving unit tests, whereby potential problems can be identified and rectified at an early stage. The introduction to the CI/CD pipeline demonstrated the effective and efficient use of mutation testing in the course of continuous software development. Furthermore, optimisation potentials of the guideline were identified, which can serve as a basis for future research in order to promote the dissemination of software fault injection in various application domains. Finally, this master's thesis illustrates that the introduction of mutation testing into a company's existing development process can contribute to increasing software reliability. Technical and organisational challenges are addressed by the knowledge gained from literature and practice in order to enable an effective introduction of software fault injection. In view of the increasing demands on software quality and reliability, this work represents a valuable contribution to improving software quality in organisations.

Download full text files

Export metadata

Additional Services

Share in Twitter Search Google Scholar
Metadaten
Author(s):Florian Novosel
DOI:https://doi.org/10.58023/1129
Document Type:Master's Thesis
Language:German
Year of Publication:2024
Publishing Institution:FH CAMPUS 02 (CAMPUS 02 Fachhochschule der Wirtschaft)
Granting Institution:FH CAMPUS 02 (CAMPUS 02 Fachhochschule der Wirtschaft)
Release Date:2025/06/18
GND Keyword:Software EngineeringGND
Page Number:IX, 110
Institutes:Informationstechnologien & Wirtschaftsinformatik
Dewey Decimal Classification:6 Technik, Medizin, angewandte Wissenschaften / 65 Management, Öffentlichkeitsarbeit / 658 Allgemeines Management
BKL-Classification:54 Informatik / 54.52 Software engineering
Open Access:ja
Licence (German):License LogoBundesgesetz über das Urheberrecht an Werken der Literatur und der Kunst und über verwandte Schutzrechte (Urheberrechtsgesetz)

$Rev$