Zeitkritische Software- Anforderungen effizient testen Modell- und Software- Verifikation vereinfacht

Testfälle für Software-Funktionen werden typischerweise durch Skripte oder Signalverläufe implementiert. Sie sind kompliziert zu erstellen, aufwendig zu warten und nur durch visuelle Inspektion zu bewerten. Außerdem können sie in anschließenden Stufen des Entwicklungsprozesses...

Zeitkritische Software- Anforderungen effizient testen

Testfälle für Software-Funktionen werden typischerweise durch Skripte oder Signalverläufe implementiert. Sie sind kompliziert zu erstellen, aufwendig zu warten und nur durch visuelle Inspektion zu bewerten. Außerdem können sie in anschließenden Stufen des Entwicklungsprozesses nur selten wieder verwendet werden. Intuitive Methoden und Werkzeuge zur grafischen, regelbasierten Implementierung komplexer Testabläufe waren bisher nicht verfügbar. In diese Lücke zielt die Methode „Time Partition Testing” (TPT).

Zur grafischen modellbasierten Entwicklung von Funktions- Software wird in vielen Bereichen Matlab/Simulink verwendet. Mit Hilfe automatischer Code-Generierung können diese Modelle schnell in echtzeitfähige Software überführt werden. Die frühzeitige Simulation der Modelle ermöglicht es, in jedem Entwicklungsschritt die Eigenschaften der Software systematisch zu überprüfen und sicherzustellen. Die dabei eingesetzten Testwerkzeuge verwendeten statische Signalverläufe, die rückwirkungsfrei das zu testende System stimulieren. Die anschließende Testauswertung erfolgte durch manuelle Analyse der sich ergebenden Signalverläufe oder durch eine entwicklungsbegleitende Regressionsanalyse. Diese Vorgehensweise weist eine Reihe von Nachteilen auf:

  • Komplexe Funktionsalgorithmen erfordern aufwendige, komplexe Signalverläufe zu ihrer Absicherung. Diese sind wenig intuitiv und nur schwer verständlich.
  • Durch die statischen, vom Systemzustand unabhängigen Stimuli sind Tests reaktiver Funktionen zeitintensiv und oft nur iterativ ermittelbar.
  • Die Ableitung von Referenzsignalverläufen erfolgt durch Freigabe von manuell als richtig erkannten Testobjektausgaben.
  • Die Differenzbildung zwischen Testergebnissen und Referenzsignalen ist empfindlich gegenüber Änderungen des Testobjekts.

Diese Faktoren adressiert Time Partition Testing (TPT), das ursprünglich von der Forschung der Daimler AG entwickelt wurde und heute in Form eines kommerziellen Software-Werkzeugs durch die PikeTec GmbH weiterentwickelt wird, in dreifacher Hinsicht:

  • Testdefinition mittels hierarchischer Automaten: Das Testsystem ist einfach parametrier- und wartbar; es wird auch für Nicht-Programmierer verständlich.
  • Testauswertung durch eine besondere Auswertesprache: Zeitliches und Funktions-Verhalten des Testobjekts kann nicht nur strikt quantitativ, sondern auch qualitativ einfacher beurteilt werden. Die visuelle Inspektion nach jedem Testdurchlauf entfällt.
  • Verkopplung von Testsystem und Testobjekt (Closed-Loop-Test): Während der Testdurchführung wird auf das Systemverhalten in Echtzeit reagiert. Rückgekoppelte Systeme wie Regelkreise können in einer Iteration getestet werden.