Software eingebetteter Systeme in der Luft- und Raumfahrt sowie der Verkehrstechnik unterliegen hohen Sicherheitsanforderungen. Daher sind bereits im Entwicklungsprozess geeignete Maßnahmen zu ergreifen, die sicherstellen, dass diese Anforderungen eingehalten werden. Dazu zählen unter anderem Systemtests, die nach der Integration der Software in das Gesamtsystem durchgeführt werden. Die zu testende Software lässt sich dabei nicht losgelöst von der Umwelt betrachten, sondern muss die Interaktion mit der Hardware und der physikalische Umgebung bei der Evaluierung mit einbeziehen.
Die übliche Vorgehensweise für derartige Tests ist der HiL-Testansatz (Hardware in the Loop). Dabei wird das komplett integrierte System, bestehend aus Hard- und Software, mit einer Simulation der Umgebung gekoppelt und in Echtzeit ausgeführt. Grundlegender Nachteil dieser Herangehensweise ist, dass die notwendige Hardware erst relativ spät im Entwicklungsprozess zur Verfügung steht und dass die Spezialhardware zur Simulation der Umgebung sowie die Bereitstellung der elektrischen Schnittstellen einen Ressourcenengpass darstellen.
Eine andere Vorgehensweise bietet der SiL-Testansatz (Software in the Loop). Hier wird eine teilweise integrierte Software mit einer Simulation der Umgebung gekoppelt. Im Gegensatz zum HiL-Testansatz findet die Kopplung nicht über die elektrischen Schnittstellen statt, sondern erfolgt auf Betriebssystem-Ebene über Softwareschnittstellen, eine direkte informationstechnische Kommunikation mit der Simulation bereitstellen. Dies bietet eine höhere Flexibilität für die Ausführung der Tests und erfordert keine Spezialhardware. Der SiL-Testansatz lässt sich somit frühzeitig während der Softwareentwicklung einsetzen und bietet die Möglichkeit, Tests bereits auszuführen bevor die Hardware zur Verfügung steht. Der Nachteil des Testansatzes ist das geänderte Zeitverhalten der Software, welches sich aber durch ein Synchronisationsverfahren mit einer simulierten Echtzeituhr kompensieren lässt.
Im Rahmen der vom BMBF (Bundesministerium für Bildung und Forschung) geförderten Forschungsoffensive "Software Engineering 2006" hat die DLR-Einrichtung Simulations- und Softwaretechnik zur Weiterentwicklung des SiL-Testansatzes das Projekt SiLEST durchgeführt. Dabei wurden die unterschiedlichen X-in-the-Loop-Testansätze miteinander verglichen und eine Testautomatisierungsumgebung für diesen Einsatzbereich entwickelt.
Die SiLEST-Testautomatisierungsumgebung bietet eine Unterstützung für die selbständige Ausführung von in einer Testsuite zusammengestellten Testfällen ohne manuelle Eingriffe. Die Unterstützung ist dabei unabhängig von dem gewählten X-in-the-Loop-Testansatz. Die Testautomatisierung wird dabei über Plugins eng an ein beliebiges Testmanagementwerkzeug und an ein Konfigurationsmanagement angebunden. Für den Test lassen sich aus dem Konfigurationsmanagement autonom Testfälle und Testobjekt auslesen. Die produzierten Testresultate und -reports können dann wiederum im Konfigurationsmanagement gespeichert werden. Die Testresultate werden aber auch automatisch dem Testmanagementsystem für eine weitergehende Auswertung übergeben.
Zur Beschreibung der Testfälle wurde ein XML-basiertes Datenformat mit dazu passenden Bearbeitungswerkzeugen entwickelt, welches unabhängig von den einzelnen X-in-the-Loop-Testansätzen ist. Ebenfalls ist ein Mapping zwischen den benannten Schnittstellen im Testfall, im Testobjekt und in der Umgebungssimulation vorgesehen. Dies gewährleistet über den kompletten Lebenszyklus einer Software als auch über den Bestand von Projekten hinaus eine hohe Wiederverwendbarkeit von Testfällen.
Bei der Testfallbeschreibung wurde besonderer Wert auf die Möglichkeit gelegt, dass beliebige zeitkontinuierliche Signalverläufe in einem Testfall beschrieben werden können, welche sich als Teststimuli oder zur Überprüfung des korrekten Verhaltens verwenden lassen. Des Weiteren bietet das Testfallformat die Möglichkeit, Signale innerhalb der Simulation zu modifizieren oder zu ersetzen, um so die Robustheit des zu testenden Systems gegenüber Sensor- und Aktuatorfehler zu überprüfen.
Zur Simulation solcher Fehler wurde eine Simulationsbibliothek definiert, welche Signale entsprechend der Angaben im Testfall modifizieren und ersetzen kann. Exemplarisch wurde der SiLEST-Testprozess anhand der Lageregelung des Kompaktsatelliten BIRD und eines Motorsteuergeräts überprüft. Dabei zeigte sich, dass die automatische Testausführung vor allem zu einer erheblichen Reduzierung des Testaufwands bei Regressionstests führte und hierdurch den Testingenieur nachhaltig entlastete. Somit besteht mit dem SiLEST-Ansatz der verbleibende Aufwand für die Durchführung von X-in-the-Loop im Wesentlichen in der Entwicklung der Umgebungsimulation.
Mehr Informationen zum Projekt sind auf der offiziellen Webseite von SiLEST oder dem Abschlussbericht zu finden.
Projektpartner
Projektdauer
01.01.2004 - 30.04.2007