Die Methode Time Partition Testing wird seit einigen Jahren erfolgreich bei der Daimler AG in einer Reihe von Projekten im Rahmen der modellbasierten Funktionsentwicklung verwendet. So wird TPT z.B. bei der Entwicklung von Komfort- und Innenraumfunktionen für die aktuelle C-Klasse von Mercedes-Benz eingesetzt. Bei der MB-technology GmbH wird TPT in unterschiedlichen Projekten eingeführt und angewendet. Ein Beispiel ist die modellbasierte Software-Entwicklung der Power Control Unit eines Diesel-Hybrid-Linienbusses.
Modellbasierte Funktionsentwicklung mit Matlab und TPT
Bei diesen Projekten geht die Entwicklung eines Matlab/Simulink-Modells der eigentlichen Software-Implementierung voraus, um die Anforderungsspezifikation möglichst früh validieren zu können. Dieser Ansatz bietet folgende Vorteile:
Bild 1 verdeutlicht den Entwicklungsprozess. Die Erstellung der Steuergeräte- Software beginnt mit der Entwicklung eines Matlab/Simulink- Modells auf Basis der Anforderungsspezifikation. Daraus wird die Testspezifikation abgeleitet und ein Modell- Testsystem auf Basis von TPT erstellt. Fertig gestellte Funktionsmodelle werden an den Zulieferer übergeben. Dieser erzeugt aus den Funktionsmodellen mit Hilfe automatischer Code-Generatoren produktionstauglichen C-Code und sorgt für dessen Implementierung auf dem Steuergerät. Die Implementierung wird beim Zulieferer mit TPT verifiziert (Software-inthe- Loop), um mögliche Implementierungsfehler aufzudecken. Über mehrere Zyklen wird schließlich ein stabiler Release-Stand erreicht.
Im Vergleich zu früheren Software- Projekten ist durch die Modellierung einer ausführbaren Spezifikation ein zusätzlicher Entwicklungsschritt hinzugekommen. Dafür ist der Aufwand für die Implementierung gesunken, da die Code-Generierung automatisch aus dem Modell heraus erfolgen kann. Jedoch ist auch der Beitrag von TPT zur Produktivität des Teams nicht von der Hand zu weisen: Während der Implementierung gewonnene Erkenntnisse führen wiederholt zu Änderungen der Anforderungsspezifikation. Diese erfordern Anpassungen der Testspezifikation und des Testsystems. Mit Hilfe von TPT kann der dafür notwendige Aufwand im Vergleich zu früher verwendeten Werkzeugen reduziert werden. TPT erlaubt es, Änderungen einfach in das Testsystem einzupflegen. Erreicht wird dies durch eine übersichtliche Stimulusgenerierung sowie eine effiziente Testauswertung.
TPT im praktischen Einsatz
Im Folgenden wird anhand eines Beispiels aus der C-Klasse-Entwicklung der praktische Einsatz von TPT erläutert. Hierbei handelt es sich um eine Scheinwerfersteuerung, die wahlweise manuell oder automatisch (gesteuert durch einen Helligkeitssensor) arbeiten kann. Bild 2 zeigt eine Auswahl der Anforderungen an die Steuerung und die daraus abgeleiteten Testfälle. Ein Testingenieur, der die Testfälle implementiert, würde die folgenden Schritte durchführen.
Deklaration
Ein TPT-Testprojekt beginnt mit der Deklaration von Parametern, Konstanten und Variablen unter Verwendung des Deklarationseditors (im Verlaufe des Projektes können weitere hinzugefügt werden). Neben Parametern und Konstanten werden vier Kanäle definiert. Sie dienen als interne Variablen im Testsystem. Deklarationen bestehen aus einem Namen und einem Typ wie Byte, Integer und Double.