Unsere Werkzeuge im Bereich Modellbasiertes Testen
Fraunhofer-Institut für Experimentelles Software Engineering IESE
Der erfolgreiche Transfer einer Methode hängt stark vom Vorhandensein geeigneter, reifer Werkzeuge ab. Modellbasierte Testtechniken benötigen umfangreichen Support für die Erstellung und Analyse des Modells, für die Erzeugung von Testfällen, die Durchführung von Tests und für die Evaluierung. Aufgrund der großen Vielfalt an Testzielen, Modellierungsnotationen und Ausführungsplattformen für eingebettete Systeme und Software existiert eine Vielzahl von Werkzeugen. Dank unserer umfangreichen Projekterfahrung können wir Ihrem Unternehmen dabei behilflich sein, eine geeignete Werkzeugkette für Ihr modellbasiertes Testen aufzusetzen, anzupassen und zu entwickeln. Typische modellbasierte Testwerkzeugketten aus einigen unserer Projekte in der Vergangenheit sind im Folgenden beschrieben:
Modellbasiertes Model-in-the-Loop Testen (Variante 1)
Die Einführung von Modellen in den Entwicklungsprozess von eingebetteten Systemen und Software erlaubt es, ausführbare Komponenten und Subsystementwurfsmodelle frühzeitig zu testen und zu simulieren (so genanntes Model-in-the-Loop (MiL) Testen), bevor die eigentliche Implementierung beginnt. Je nach Anwendungsdomäne gibt es verschiedene Modellierungs- und Simulationsumgebungen (z.B. Matlab/Simulink/Stateflow). Wir haben die modellbasierten Spezifikations- und Testfallerzeugungswerkzeuge Proto_Seq und JUMBL mithilfe unserer eigenen Werkzeuglösung SimoTest mit Simulink und Stateflow verbunden, was die Erzeugung und Evaluierung von kontinuierlichen und diskreten Signalen ermöglicht. Folgende Werkzeuge wurden eingesetzt:
- System- und Softwarespezifikation: Microsoft Office®
- Testmodellierung: Proto_Seq
- Testfallerzeugung: JUMBL and SimoTest
- Testausführung: Simulink®/ Stateflow®
- Messen der Testabdeckung: Simulink Verification and Validation Toolbox
- Testevaluierung und Zuverlässigkeitsschätzung: JUMBL
Modellbasiertes Model-in-the-Loop Testen (Variante 2)
Die Erzeugung gültiger Testfälle für eingebettete Systeme kann schwierig werden, wenn komplexe Input- und Output-Muster für kontinuierliche Signale beschrieben werden müssen. In solchen Fällen kann ein formaler Verifikationsansatz verwendet werden. Der Ansatz wandelt textuelle Systemanforderungen in verifizierbare Systemeigenschaften um. Es gibt starke Modellchecker für verschiedene Modellierungsnotationen, die die formale Verifikation der formalisierten Anforderungen in Komponenten- und Subsystemmodellen erlauben. Die Werkzeugkette besteht aus folgenden Komponenten:
- System- und Softwarespezifikation: DOORS®
- Formalisieren der Anforderungen und Testmodellierung: Reactis Validator®
- Testausführung: Simulink®/ Stateflow® with Reactis Validator®
- Messen der Testabdeckung und Berichterstattung: Reactis Validator®
Modellbasiertes Hardware-in-the-Loop Testen
Integrierte elektronische Steuereinheiten werden während der so genannten Hardware-in-the-Loop (HiL) Testphase mit Echtzeitprüfständen, Simulationskomponenten und spezieller Steuersoftware getestet. Die Ausführung und Evaluierung von Testfällen ist in diesem Stadium bereits stark automatisiert. Das Problem liegt in der automatisierten Erzeugung von Testfällen aus den vorhandenen Input-Quellen. Wir verwenden die folgenden Werkzeuge, um dieses Problem zu lösen:
- System- und Softwarespezifikation: Microsoft Office®
- Testmodellierung: Proto_Seq
- Testfallerzeugung: JUMBL
- Testausführung: ProveTechTA and dSpace HiL test stand
- Testevaluierung und Zuverlässigkeitsschätzung: JUMBL
Modellbasiertes Testen bei agiler Entwicklung
Agile Produktentwicklung ist auch für einige Domänen des Bereichs eingebettete Systeme zu einem Trend geworden. Der agile Testprozess mit kurzen Releasezyklen und neuen Arten von Artefakten unterscheidet sich komplett von der traditionellen Entwicklung auf Basis des V-Modells. Für die Testwerkzeugkette müssen besondere Projektmanagement- und Spezifikationswerkzeuge berücksichtigt werden, die sich aus folgenden Komponenten zusammensetzen:
- Agile System- und Softwarespezifikation: Rally
- Testmodellierung: yEd (grafischer Editor)
- Testfallerzeugung: GraphWalker
- Testfallausführung und Berichterstattung: Robot Framework or Fitnesse




Social Bookmarks