Reinventing Quality

ERROR: Content Element with uid "6674" and type "dce_dceuid16" has no rendering definition!

DSL-basiertes Test-Framework für Satellitensoftware

In diesem Erfahrungsbericht wird gezeigt, wie die Einführung eines DSL-basierten Test-Frameworks die Validierung komplexer Satellitensoftware effizienter macht.

Die Qualitätsanforderungen an die On-Board-Software von Raumfahrtsystemen sind naturgemäß hoch - das System „Satellit“ muss in sehr hohem Maße autonom agieren und reagieren können. Fehler im operationellen Betrieb (im Orbit) beinhalten ein hohes Ausfallrisiko und Fehlerkorrekturen bzw. Einflussnahme durch die Bodenstation sind nur sehr eingeschränkt möglich.

Die im Laufe der Plattformentwicklung immer komplexer werdenden Systeme stellen eine Herausforderung im Softwaretest dar: selbst funktional relativ einfache Prüfungen führen häufig zu sehr umfangreichen, schwer überprüfbaren Testskripten. Es stellte sich folglich die Aufgabe, die Komplexität so weit zu abstrahieren, dass das Testteam sich auf das Wesentliche konzentrieren kann.

Dieser Bericht zeigt, welchen Lösungsweg ein großer Satellitensystemintegrator gewählt hat, um u. a. die folgenden Anforderungen zu erfüllen:

  • Testfälle sollen einfach implementiert und überprüft werden
  • Fokus auf gute Lesbarkeit der Testskripte
  • Wiederverwendbarkeit
  • Übertragbarkeit der Skripte zwischen Projekten (nach Möglichkeit ohne Änderung)
  • Automatisierbarkeit
  • möglichst generischer Ansatz

Aus der Perspektive der Testabteilung wird die Entwicklung und Implementierung der neuen Testumgebung innerhalb eines kommerziellen Satellitenprojekts gezeigt. Der Berichtszeitraum umfasst von der Spezifikation über Implementierung und Projekterprobung bis zum Transfer in ein Folgeprojekt die Ergebnisse und Lessons Learned der letzten 4 Jahre. Das zu validierende System - die On-Board-Software der Satelliten - enthält über 3400 Anforderungen, die mit Testfällen abgedeckt werden müssen. Das Validierungsteam besteht aus 4 bis 7 Personen.

Gewählt wurde eine Architektur, die aus einer domänenspezifischen Sprache und einem Framework besteht. Der Tester implementiert basierend auf der Testspezifikation das Testskript, welches übersetzt und im Framework als Teil der Testumgebung ausgeführt wird. Im Rahmen der Ausführung wird auf einer grafischen Oberfläche zuerst eine Testsuite aus den implementierten Skripten zusammengestellt und die Einstellung des Frameworks an die Anforderungen der Suite angepasst. Schließlich wird die Suite ausgeführt, indem die einzelnen Komponenten des Frameworks miteinander agieren. Dabei übernimmt eine besondere Komponente, der sogenannte Checker die Hauptaufgaben: das Überprüfen und das Loggen der Telemetriedaten.

Die Präsentation zeigt Einblicke in den Aufbau und die Grammatik der Sprache, sowie in die Architektur des Frameworks im Kontext der Testumgebung.

Die Vorteile dieser Lösung haben sich bereits nach einem Drittel der Projektzeit signifikant gezeigt. Das Implementieren neuer Testfälle wurde um den Faktor 3 bis 5 beschleunigt, während der Umfang der Skripte (LOC) im gleichen Maße verkleinert werden konnte. Beim Transfer in das Zweitprojekt konnten Testfälle ohne  oder mit sehr geringem Änderungsaufwand übernommen werden.

Im Ausblick wird beleuchtet, welche Möglichkeiten bestehen, diese Lösung an andere Branchen anzupassen.

Tamás Ziegler, etamax space GmbH

Dipl.-Inf. (FH) Tamás Ziegler, Jahrgang 1982, hat das Studium der Informatik in Budapest 2006 abgeschlossen. Im Projekt RUBIN (Realisierung einer automatisierten U-Bahn in Nürnberg) hat er von 2006 bis 2008 an der  Entwicklung und Programmierung von C++-basierten Testszenarien zum Nachweis der Funktionalität des Systems gearbeitet.

Seit 2008 ist er Test- und Systemingenieur bei der etamax space GmbH und wirkte bei der Zusammenstellung und Inspizierung der Softwaredokumentation für einen Doppelstocktriebzug mit (EN50128). Es folgten weitere Projekte in der Funktionalen Sicherheit im Automobilumfeld (ISO26262). Herr Ziegler ist ISTQB® Certified Tester.

Seit 2011 gestaltet er aktiv das DSL-basierte Test-Framework für Satellitensoftware bei einem großen Satellitensystemintegrator (ECSS-E-70-41A).