Bärisch, Steffen2023-04-172023-04-172010https://dl.gi.de/handle/20.500.12116/41195Das Schaffen und Sichern der Qualität eines Softwaresystems, also die Erfüllung von Anforderungen beziehungsweise den Bedürfnissen von Kunden, ist eines der vorrangigen Ziele der Softwaretechnik. Ein Ansatz zur Fehlerbehebung wie auch zur Fehlerpravention ist das Testen. Der Model-Driven Test Case Construction (MTCC) Ansatz betrachtet die Konstruktion einer Test-Produktlinie von automatisierten Abnahmetests für bestehende Systemfamilien durch Domänenexperten auf Grundlage von Featuremodellen. Abnahmetests erlauben eine engere Einbindung von Kunden und Domanenexperten in den Softwareentwicklungsprozess und gestatten es, deren Anforderungen in Tests zu formalisieren. Durch die Automatisierung von Tests können das Volumen und die Frequenz des Testens auf ein Niveau gesteigert werden, das durch manuelles Vorgehen nicht erreicht werden kann. Um die Vorteile von Abnahmetests und Testautomatisierung zu kombinieren, verfolgt MTCC das Ziel, Domanenexperten ohne Kenntnisse in der formalen Modellierung oder der Programmierung die Konstruktion von Tests als abstrakte Modelle zu ermöglichen. Um dieses Ziel zu erreichen stellt MTCC einen modellbasierten Editor zur Verfügung. Dieser Editor gestattet auf Grundlage von Modellen der testrelevanten Eigenschaften des jeweiligen Testlings die Konstruktion von Tests mittels einer einfach zu erlernenden, grafischen Umgebung. Neben der Einbeziehung von Domanenexperten betrachtet MTCC insbesondere das Testen im Rahmen von Systemfamilien. Als Grundlage der Testkonstruktion mittels des Editors dienen Featuremodelle und Modelle zu möglichen Interaktionen mit den jeweiligen Testlings. Jedes Featuremodell eines individuellen Testlings ist dabei die Spezialisierung eines übergeordneten Featuremodells zur Beschreibung der Variabilitat der testbaren Funktionalitat innerhalb einer Systemfamilie. Die Ableitung von systemspezifischen Modellen und letztendlich konkreter Tests von einem zentralen Modell erlaubt dabei die Übertragung von Tests zwischen den Systemen einer Systemfamilie. Voraussetzung hierfür ist lediglich, dass der testrelevante Funktionsumfang dieser Systeme, wie durch die Modelle dargestellt, kompatibel ist. MTCC verwendet Codegenerierung, um modellierte Tests fur spezifische Systeme zur Ausführung zu bringen. Durch die Verwendung von Codevorlagen und die Implementierung einfacher Adapter können MTCC Testmodelle in Testcode für beliebige bestehende Systeme transformiert werden. Dieses Vorgehen erlaubt eine systematische Behandlung der semantischen Lücke zwischen Problem und Implementierung, die allen modellgetriebenen Ansatzen inharent ist. Neben der Entkopplung von Semantik und Implementierung vereinfacht die Nutzung der Codegenerierung in MTCC das Testen verschiedener Systeme innerhalb einer Systemfamilie. Insbesondere ist MTCC unabhängig von möglicherweise unterschiedlichen zur Implementierung verwandten Technologien und heterogenen Testschnittstellen in einer Systemfamilie.deModel-Driven Test Case Construction by Domain Experts in the Context of Software System FamiliesText/Journal Article0720-8928