- Time Partition Testing
-
Time Partition Testing (TPT) Entwickler: PikeTec GmbH Aktuelle Version: 3.1
(April 2009)Betriebssystem: Windows Kategorie: Testsoftware Lizenz: proprietär Deutschsprachig: nein TPT TPT (Time Partition Testing) ist ein Software-Werkzeug für den 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. TPT unterstützt unter anderem auch Tests von Regelungssystemen und Systemen mit kontinuierlichem Verhalten (Systeme, 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, TargetLink und LabVIEW oder unter Nutzung von Kommunikationsstandards wie CAN, LIN
- 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.
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.
Programmierte Testauswertung
Neben der oben angesprochenen Testfallmodellierung kann mit Hilfe einer eigenen Programmiersprache auf Python-Basis 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.
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 MiL (Model in the Loop) mit MATLAB/Simulink,TargetLink, CAN, LIN, SiL und HiL.
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.
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.
Weblinks
Wikimedia Foundation.