Unsere Werkzeuge im Bereich Modellbasiertes Testen

Fraunhofer-Institut für Experimentelles Software Engineering IESE

Model-Based Testing

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:

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:

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:

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: