Entwicklung einer Me... Forschungsprojekte Verifikation kompone...

Integrationstest komponentenbasierter Software

Projekt IT.Com

Infolge des damit verbundenen Einsparungspotentials an Entwicklungskosten wächst die wirtschaftliche Attraktivität komponentenbasierter Softwaresysteme. Durch das ihnen zugrunde liegende Bausteinprinzip vereinfacht sich zwar ihre Erstellung mittels vorgefertigter Softwareteile; allerdings sind zum Zuverlässigkeitsnachweis des integrierten Systems Verfahren zum systematischen Testen der Komponentenschnittstellen erforderlich, für die noch Forschungsbedarf besteht. Dieses Vorhaben soll deshalb die Integrationsphase systematisch unterstützen.

Zu diesem Zwecke befasste sich das Projekt mit der Definition unterschiedlicher Testkriterien zur Bewertung des während der Integrationstestphase erzielten Grades an Schnittstellenüberdeckung. In Zusammenhang mit dieser Fragestellung wurde eine Reihe unterschiedlicher, zwischen den Komponenten bestehender Kopplungsarten identifiziert, auf Basis derer entsprechende Teststrategien definiert wurden. Ihre Realisierbarkeit in der Praxis hängt im Wesentlichen von der Komplexität der Interaktion zwischen den jeweiligen Komponenten ab.

Teilprojekt A: "Entwicklung eines Testsystems für den Integrationstest"

Um die Güte eines Integrationstests beurteilen zu können, sind geeignete Testkriterien notwendig. In diesem Teilprojekt wurden verschiedene Integrationstestkriterien auf der Basis des Überdeckungsgrads der Schnittstelle zwischen Softwarekomponenten formal definiert. Die ein Kriterium erfüllende Testauswahl lässt sich mittels einschränkender Bedingungen aus der Gesamtheit der möglichen Abläufe beschreiben. Dazu wurde ein Verfahren entwickelt, welches mittels einer Analyse des modellierten und zu integrierenden Systems, entsprechende formale Einschränkungen in OCL oder CTL generiert. Die Erfüllung der Kriterien kann somit anschließend automatisiert überprüft werden.

Teilprojekt B: "Ermittlung des Testaufwands beim Integrationstest"

Die Auswahl geeigneter Integrationstestverfahren hängt im Wesentlichen von dem dazu erforderlichen Testaufwand ab. Ein Verfahren zur Bestimmung des mit unterschiedlichen Integrationsteststrategien verbundenen Aufwands wurde entwickelt. Zu diesem Zweck wurde für ausgewählte Überdeckungskriterien anhand der zugrunde liegenden UML-Diagramme der jeweiligen komponentenbasierten Anwendung der maximal erforderliche Aufwand etwa in Form von Anzahl und Länge zu testender Teilabläufe ermittelt. Das Vorgehen wurde in ein Werkzeug umgesetzt, das im Einzelfall die Auswahl der optimalen Teststrategie automatisch unterstützt.

Im Berichtszeitraum wurden die Ergebnisse dieses Forschungsprojektes dahingehend aufbereitet, dass sie als Grundlage zur automatischen Generierung geeigneter Testfälle zur systematischen Schnittstellenüberprüfung (siehe Teilprojekt 2 des Projektes "UnITeD - Automatische Testdatengenerierung zur Unterstützung inkrementeller modell- und codebasierter Testprozesse für hochzuverlässige Softwaresysteme") verwertet werden können.

Ansprechpartner: Prof. Dr. Francesca Saglietti