Fugger, M. H. (2023). Input models for combinatorial testing using source annotations [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2023.116180
Kombinatorisches Testen (KT) ist eine modellbasierte Testmethodik, die Garantien für die Abdeckung des Eingaberaums bietet. Sie ist äußerst effizient bei der Suche nach Interaktionsfehlern und stellt unter bestimmten Annahmen sicher, dass alle durch eine Kombination von Parametern verursachten Fehler gefunden werden können. Trotz der vielen Vorteile hat sich das kombinatorische Testen noch nicht im Mainstream der Softwareentwicklung etabliert. Der aktuelle Prozess zur Erstellung des Eingabemodells ist komplex und teuer, was zu einer Trennung zwischen Eingabemodell/Testfällen und dem Ziel-Software-System führt und letztendlich zu einem unnatürlichen Änderungsprozess im späteren Verlauf des Entwicklungslebenszyklus führt. Diese Arbeit zielt darauf ab, dieses Problem zu lösen, indem sie ein Proof of Concept (PoC) bereitstellt, das es Entwicklern ermöglicht, ein Eingabeparametermodell innerhalb ihrer eigenen Codebasiszu definieren. Neben der Vereinfachung des Einrichtungsprozesses, indem sie es dem Entwickler ermöglicht, in einer vertrauten Umgebung zu bleiben, automatisiert der PoC auch Schritte, um den Entwickler bei der Erstellung schneller und effizienter KT-Tests zu unterstützen. Die Verbindung zwischen Quellcode und Eingabeparametermodell stellt auch sicher, dass der Änderungsprozess später natürlicher verläuft. Eine Bewertung gegenüber einem externen System zeigt, dass dieser PoC trotz einiger Einschränkungen in der Lage ist, sinnvolle Eingabeparametermodelle und kombinatorische Testfälle sowie einfache Orakel für jeden Test zu definieren. Es handelt sich um die erste Arbeit, die darauf abzielt, Quellcode und Definitionen des Eingabeparametermodells zu kombinieren,um den initialen Einrichtungsprozess sowie den Änderungsprozess des kombinatorischen Testens zu verbessern.
de
Combinatorial Testing (CT) is a model-based testing methodology that offers guarantees about the input space coverage. It is extremely efficient in finding interaction faults, and under certain assumptions, ensures that all faults caused by a combination of parameters can be found. Despite the many upsides, combinatorial testing has yet to make an emergence in mainstream software development. The current input model creation process is complex and expensive, which leads to a disconnect between input model/test cases and the targeted software system, and ultimately to an unnatural change process later down the development lifecycle. This work aims to solve this issue by providing a proof of concept (PoC) which allows developers to define an input parameter modelinside their own code base. Besides easing the setup process by enabling the developer to stay inside a known environment, the PoC also automates steps to further support the developer in creating fast and efficient CT tests. The connection between source code and input parameter model also ensures that the change process later on is more natural. An evaluation against an external system shows that, beside some limitations, this library is fully capable of defining meaningful input parameter models and combinatorial test cases, as well as simple oracles for each test. It is the first work that aims to combine source code and input parameter model definitions to enhance the initial setup processas well as the change process of combinatorial testing.