- TPT (Software)
-
Time Partition Testing (TPT) Basisdaten Entwickler PikeTec GmbH Aktuelle Version 3.4.2
(August 2011)Betriebssystem Windows Kategorie Testsoftware Lizenz proprietär Deutschsprachig nein TPT TPT (Time Partition Testing) ist eine Methode und ein Software-Werkzeug der Firma PikeTec für den automatisierten Softwaretest oder die Softwareverifikation eingebetteter Systeme. Meist werden eingebettete Systeme mit Hilfe von Testskripten getestet – bei TPT werden Testfälle grafisch modelliert. TPT ist ein modellbasiertes Testwerkzeug für den Modultest, Integrationstest, Systemtest und Regressionstest . TPT unterstützt unter anderem auch Tests von Regelungssystemen und Systemen mit kontinuierlichem Verhalten (Echtzeitsysteme, die mit ihrer Umgebung physikalische Werte bzw. Signale austauschen, die in einem Zeitraster zeitdiskret empfangen oder versandt werden). Die meisten Steuerungs- und Regelungssysteme gehören zu dieser Systemklasse.
TPT umfasst die folgenden Aufgabenbereiche:
- Testfallmodellierung,
- Testdurchführung (vollautomatisch) auf verschiedenen Plattformen mit z. B. MATLAB/Simulink, ASCET, TargetLink, C-Code oder unter Nutzung von Kommunikationsstandards wie CAN, LIN, EtherCAT
- Testauswertung (vollautomatisch)
- Testdokumentation (vollautomatisch)
- Testverwaltung
- Nachverfolgbarkeit von Anforderungen aus Telelogic DOORS und Testfällen
Inhaltsverzeichnis
Reaktive Tests
Mit TPT kann jeder Testfall während des Testablaufs gezielt auf das Systemverhalten reagieren, um beispielsweise genau bei Eintreten eines bestimmten Zustands eingreifen und weitere, testrelevante Systemzustände provozieren zu können. Soll beispielsweise für eine Motorsteuerung bei Überschreiten der Leerlaufdrehzahl ein Sensorausfall simuliert werden, um das Verhalten der Motorsteuerung bei dieser Situation zu testen, muss in der Beschreibung des Testfalls auf das Ereignis „Leerlaufdrehzahl überschritten“ reagiert werden können.
Die Reaktivität zusammen mit der Echtzeitfähigkeit der Testausführung erlaubt die Programmierung von zeitdiskreten dynamischen Systemen wie beispielsweise die Implementierung von Filterfunktionen und Regelalgorithmen mit TPT.
Grafische Testfallmodellierung
Der Ablauf von Testfällen wird bei TPT grafisch mit Hilfe spezieller Zustandsautomaten modelliert. Diese Beschreibungstechnik für Testfälle ist für das Einsatzfeld eingebetteter Systeme besonders naheliegend, weil Testfälle immer aus einzelnen, zeitlich aufeinander folgenden Schritten bestehen. Die Testfälle sind dadurch intuitiv lesbar, auch wenn sie sehr komplex sind.
Einfache Sequenzen (Test Step Listen)
Einfache Abfolgen von Testschritten wie beispielsweise Signal setzen (set channel), Signalrampe (ramp channel), Parameter setzen (set parameter), Warten (wait) können mit Testschritten einfach modelliert werden. In die Sequenzen können Abfragen für das erwartete Testergebnis zur Testbewertung als Testorakel eingefügt werden. Die Testsequenzen können auch mit anderen Modellierungsmethoden kombiniert werden.
Systematische Testfälle
TPT wurde speziell für den Test des kontinuierlichen und reaktiven Verhaltens eingebetteter Systeme entwickelt. Selbst für sehr komplexe Systeme, deren gründlicher Test eine große Menge an Testfällen erfordert, gewährleistet TPT durch sein systematisches Vorgehen bei der Testfallermittlung den Überblick und ermöglicht es so, Schwachstellen im zu testenden System mit einer optimalen Menge von Testfällen aufzudecken. Die zugrunde liegende Idee der Systematik von TPT ist die Separierung von Gemeinsamkeiten und Unterschieden zwischen den Testfällen: Die meisten Testfälle sind einander in ihrem strukturellen Ablauf sehr ähnlich und unterscheiden sich „nur“ in wenigen, aber entscheidenden Details. TPT macht sich diese Tatsache zunutze, indem gemeinsame Strukturen auch gemeinsam modelliert und genutzt werden. Dadurch werden zum einen Redundanzen vermieden. Zum anderen wird sehr klar herausgestellt, worin sich die Testfälle tatsächlich unterscheiden – das heißt, welche spezifischen Aspekte sie jeweils testen. Durch diesen Ansatz wird die Vergleichbarkeit der Testfälle und damit die Übersicht deutlich verbessert und das Hauptaugenmerk des Testers auf das Wesentliche – die differenzierenden Merkmale der Testfälle – gelenkt. Durch die hierarchische Struktur der Testfälle lassen sich komplexe Testprobleme in Teilprobleme zerlegen, was die Übersichtlichkeit und dadurch die Qualität des Tests ebenfalls verbessert. Mit diesen Modellierungstechniken wird der Tester dabei unterstützt, die tatsächlich relevanten Fälle zu finden, Redundanzen zu vermeiden und selbst bei einer großen Menge an Testfällen den Überblick zu bewahren.
Testausführung
TPT-Testfälle sind unabhängig von ihrer Ausführung. Die Testfälle sind mittels einer sogenannten Virtuellen Maschine (VM) quasi auf jeder Plattform automatisch und wenn nötig in Echtzeit ausführbar. Beispiele für die Anwendung sind Model in the Loop (MiL) mit MATLAB/Simulink, TargetLink, ASCET, C-Code, CAN, LIN (mit Restbussimulation), EtherCAT, AUTOSAR-Komponenten[1]., INCA, LABCAR, SiL und HiL.
TPT kann als Signalgenerator auch zum "Ausprobieren" der Implementierung während der Entwicklungsphase benutzt werden. Durch die Möglichkeit beliebige Signale zu generieren kann TPT auch als Signalgenerator benutzt werden. In MATLAB/Simulink können damit Schalter und Signalgeneratoren komfortabel ersetzt werden. Die Ergebnisse sind wiederholbar und führen zu einer verbesserten Qualität der Entwicklung.
Das testsynchrone Messen steuergeräteinterner Messgrößen erfolgt über die ASAM (Automobilbau) MCD-3 Schnittstelle. Damit können Tools wie INCA oder CANape angesprochen werden und die Messergebnisse stehen zur Testfallbewertung zur Verfügung[2].
Bei der Testdurchführung steht eine konfigurierbare grafische Benutzeroberfläche mit Anzeigen und Steuerelementen zur Verfügung. Damit können in Echtzeit parallel zur Testausführung Werte vom Benutzer stimuliert oder angezeigt werden.
Programmierte Testauswertung
Neben der oben angesprochenen Testfallmodellierung kann mit Hilfe einer eigenen Programmiersprache auf Python-Basis und/oder mit MATLAB-Skripten die Testfallprüfung programmiert werden oder mit einem graphischen Interface erfolgen. Zeitliches und funktionales Verhalten des Testobjekts kann daher nicht nur strikt quantitativ, sondern auch qualitativ einfacher beurteilt werden. Die visuelle Inspektion nach jedem Testdurchlauf entfällt.
Eine Auswertung anderweitig erhaltener Messergebnisse ist gleichfalls möglich. Die Messdaten modellinterner TargetLink- oder Simulink-Signale sowie Daten anderer Messgeräte sind automatisch auswertbar.
Einsatzgebiete
TPT wird vorrangig in der Automobilindustrie eingesetzt. Die ursprüngliche Idee ist bei der Daimler AG und Mercedes Benz für die eigene Fahrzeugentwicklung entstanden. Mit den ersten Versionen des Testwerkzeugs wurde dort schon im Jahr 2000 gearbeitet. Inzwischen arbeiten auch andere Automobilfirmen und -zulieferer wie Bosch, Hella und Conti Temic mit dem Testwerkzeug. Daimler hat die Weiterentwicklung von TPT jahrelang selbst koordiniert und TPT dabei für den Automobilsoftwarebereich optimiert.
Nachverfolgbarkeit von Anforderungen
Internationalen Standards für sichere Systeme wie IEC 61508, DO-178B, EN 50128 und ISO 26262 fordern Nachverfolgbarkeit von Anforderungen und Tests. Mit TPT können Requirements aus Telelogic DOORS importiert werden, Testfälle mit den Anforderungen verlinkt werden und die Daten miteinander synchronisiert werden.
Literatur
- ↑ Jens Lüdemann: AUTOSAR-Komponententest mit TPT, In: 2. Elektronik automotive congress in Ludwigsburg, Germany, 2010. PDF-Artikel
- ↑ Jens Lüdemann: Automatic ASAM MCD-3 supported Test, In: Open Technology Forum at the Testing Expo in Stuttgart, Germany, 2009. PDF-Artikel
Weblinks
Kategorien:- Testsoftware
- Steuerungs- und Regelungstechnik
Wikimedia Foundation.