Forschungsthemen
[DA] Automatisches Generieren von Testfall- und Testablaufspezifikationen über spezielle Konfigurationen innerhalb einer Softwareproduktlinie
Softwareproduktlinien (SPL´s) bieten eine Methode, welche die systematische Wiederverwen-dung von Software-Artefakten ermöglicht. Dies geschieht durch Beschreibung einer Gruppe von Softwareprodukten, welche sich gewisse Eigenschaften (Features) teilen. Diese Gruppe erfüllt also spezielle Anforderungen innerhalb einer Domäne. Die Vorteile von SPL´s umfassen die Senkung des Wartungs- und Entwicklungsaufwandes und die Steigerung der Qualität der einzel-nen Softwareprodukte innerhalb einer Domäne.
Je nach Domäne und Konfigurationsmöglichkeiten des Produktes kann eine SPL eine sehr große Menge (>10.000) unterschiedlicher Konfigurationen hervorbringen. Aufgrund dieser Menge ist das Testen jeder einzelnen Produktinstanz als einzelnes Softwareprodukt (was in der Praxis häu-fig noch durchgeführt wird) ineffizient. Zudem scheint es einige Produktlinien zu geben, welche stark individualisierte Produkte hervorbringen und so eine hohe Anzahl möglicher Konfiguratio-nen erreichen. Allerdings werden nur wenige dieser Konfigurationen als Produkte benutzt.
Eine solche Produktlinie ist die Tracking- & Tracing-Software von TTE Europe GmbH. Diese stellt verschiedene Produkte zur Verfügung, mit welchen Kunden die Rückverfolgbarkeit ihrer Produkte (im speziellen Sprengstoffe) gewährleisten können. Die einzelnen verfolgbaren Objek-te und ihre Bewegungen werden mittels mobilen Datenerfassungseinheiten (MDE) registriert und zentralisiert bearbeitet und ausgewertet. Eine große Auswahl an MDE´s, unterschiedliche Basisprodukte und Zusatzmodule sowie verschiedene Länderspezifikationen sind nur einige der bestehenden Konfigurationsmöglichkeiten. Vor diesem Hintergrund stellen sich mehrere For-schungsfrage:
- Wie ist es möglich, in einer SPL einen individualisierten Test (bestehend aus Testfällen und Testablauf), welcher genau zugeschnitten auf eine spezielle Konfiguration ist, her-vorzubringen?
- Welche zusätzlichen Informationen sind hierfür noch nötig? (Beschreibungen von Test einzelner Programmteile, Beschreibungen von Abhängigkeiten)
- Wie ist es möglich, diese strukturiert, leicht verständlich und standardisiert darzustel-len? (z.B. Domän-spezifische Sprachen, DSLs)
- Welche vorhandenen Tool´s können für die Umsetzung benutzt werden? (Modelltrans-formationssysteme, DSLTools)
Betreuer: Georg Püschel