Thema: Werkzeuge für Software-QS und -Test

10:25 - 11:10

Systematische Testspezifikationen mit dem CTE XL Professional im Wechselspiel mit Anforderungen und Produktfamilien

Dr. Joachim Wegener, Berner & Mattner Systemtechnik GmbH

Für das Requirements-Tracing lassen sich das vertikale Tracing und das horizontale Tracing unterscheiden. Das horizontale Tracing verknüpft Entwicklungsartefakte einer Abstraktionsebene miteinander, das vertikale Tracing Entwicklungsartefakte unterschiedlicher Abstraktionsebenen.  Eine Vielzahl von Entwicklungs-Standards formuliert Anforderungen an das horizontale und vertikale Tracing, um die Nachverfolgbarkeit der Anforderungen im Entwicklungsprozess sicherzustellen  (z.B. ISO 15504, DIN EN 61508, ISO 26262, IEC 60601-1, …).

Eine zentrale Aufgabe des horizontalen Tracings ist die Verknüpfung von Anforderungen und Tests. Damit soll nachgewiesen werden, dass die Anforderungen durch entsprechende Tests abgedeckt werden und der Prüfling die Anforderungen erfüllt, sofern er die definierten Tests erfolgreich absolviert.
Eine komfortable Unterstützung des horizontalen Tracings zwischen Anforderungen und Tests ist in der Praxis selten gegeben, da es häufig einen Bruch zwischen den für die Anforderungsspezifikation genutzten und den für einen systematischen Test eingesetzten Werkzeugen gibt. Testfälle werden zwar in der Regel anhand von Anforderungen erstellt, aufgrund einer unzureichenden Werkzeugunterstützung allerdings häufig unvollständig oder redundant. Insbesondere bei Änderungen der Anforderungen ist es ohne geeignete Werkzeugunterstützung schwierig die Auswirkungen auf den Test zu beurteilen.

Jüngste Erweiterungen der Klassifikationsbaum-Methode und des CTE XL Professional für das Requirements-Tracing unterstützen den Anwender dabei, die Anforderungen vollständig durch Testfälle abzudecken und redundante Testfälle zu vermeiden. Neben verschiedenen Mechanismen für die Herstellung der Verknüpfung von Anforderungen, Einflussfaktoren für den Test und Testfällen werden Darstellungen zur Anforderungsüberdeckung zur Verfügung gestellt. Kommt es zu Änderungen an den Anforderungen werden die möglichen Auswirkungen auf den Test anschaulich visualisiert. Dabei werden sowohl neue Anforderungen, geändert Anforderungen oder gelöschte Anforderungen berücksichtigt und die betroffenen Testaspekte und Testfälle hervorgehoben. Der Tester kann dann leicht entscheiden, ob es sich nur um formelle oder strukturelle Änderungen handelt oder die Änderungen semantische Auswirkungen haben.
Eine weitere wichtige Verbindung zwischen Anforderungen und Tests stellt das Variantenmanagement dar. Immer mehr Produktfamilien werden in einer generischen Spezifikation zusammengefasst, die über ein Variantenmanagement die Erzeugung variantenspezifischer Spezifikationen ermöglicht. Werkzeuge wie MERAN oder pure::variants unterstützen ein entsprechendes Vorgehen. Analog müssen für die definierten Produktvarianten die zugehörigen Tests ermittelt werden. In der neuesten Release des CTE XL Professional wird das Variantenmanagement für Testaspekte und Testfälle unterstützt. Es besteht zudem eine Schnittstelle zu MERAN, um die definierten Varianteninformationen einzulesen und für die Testkonfiguration zu nutzen.
Bei mehreren Varianten spielt die werkzeuggestützte Vollständigkeitsanalyse der Anforderungsabdeckung durch die definierten Tests und die Synchronisierung bei Änderungen ebenfalls eine zentrale Rolle.

Dr. Joachim Wegener, Berner & Mattner Systemtechnik GmbH

Dr. Joachim Wegener studierte Informatik an der Technischen Universität Berlin und promovierte zum Thema Evolutionärer Test von Echtzeitsystemen an der  Humboldt Universität Berlin. Für diese Arbeit erhielt er den Software Engineering Preis 2002 der Ernst Denert Stiftung. Dr. Wegener ist Niederlassungsleiter bei der Berner & Mattner Systemtechnik GmbH und führt die Automobil Abteilungen in Berlin, Köln und Wolfsburg. Davor arbeitete er für die Daimler AG, bei der er Teams zu Advanced Technologies in Software Engineering sowie zur  statischen und dynamischen Analyse leitete. Er leitete die Entwicklung des weltweit ersten industriellen, evolutionären Testsystems und spielte eine zentrale Rolle bei der Entwicklung des Testsystems TESSY und des Klassifikationsbaum-Editors CTE, CTE XL und CTE XL Professional.