Systementwicklung Evolutionäres Testen von Steuergeräten

Beim Testen elektronischer Steuergeräte werden betriebliche Situationen unter unterschiedlichen Bedingungen, die durch Systemzustände und Eingangsgrößen definiert sind, geprüft. Da jedoch Tests nur Stichproben sein können, bleibt die Gefahr, dass ein Fehlverhalten bis zum Einsatz des Steuergerätes nicht erkannt wird. Etablierte analytische Methoden helfen dabei, relevante Eingangsparameter zu finden. Aufgrund der Komplexität heutiger Steuergeräte ist die vollständige Erfassung des Systemverhaltens jedoch nicht realistisch. Das Ziel evolutionären Testens ist es deshalb, in einem stetigen Optimierungsprozess die Eingangsparameter der Testfälle automatisiert zu verändern, bis das Steuergerät ein Fehlverhalten aufweist.

Evolutionäre Algorithmen orientieren sich an der biologischen Evolution. Die Prinzipien der Evolution werden dabei auf technische Optimierungsprobleme angewendet. In einem iterativen Prozess werden die Eingangsparameter modifiziert und die damit einhergehenden Auswirkungen ausgewertet. Jeweils am Ende einer Iteration erfolgt die Auswertung mit Hilfe einer so genannten Fitness-Funktion, die bewertet, wie gut die Eingangsdaten für die Lösung eines Problems geeignet sind. Ein aus der theoretischen Informatik bekanntes Beispiel, bei dem evolutionäre Algorithmen erfolgreich eingesetzt werden können, ist das Handlungsreisendenproblem. Die Aufgabe ist dabei, den kürzesten Weg eines Handlungsreisenden zu ermitteln, der eine Menge von Städten besuchen soll. Bei der evolutionären Methode wird hier zunächst eine Menge (z.B. 30) von zufälligen Städteverbindungen (Initialpopulation) erzeugt und jeweils deren zurückgelegte Strecke (Fitness) ermittelt. Dann werden die besten (z.B. 5) Städteverbindungen ausgewählt (Selektion) und diese anschließend verändert, indem einzelne Wege modifiziert werden (Mutation). Auch können ganze Streckenabschnitte untereinander ausgetauscht werden (Rekombination). Die dabei entstehenden neuen Städteverbindungen, deren Anzahl wieder der Anzahl der Initialpopulation entspricht, werden erneut bewertet und verändert.

Im biologischen Sinne entsteht bei jeder dieser Iterationen eine neue Generation von optimierten Städteverbindungen. Dieses Vorgehen wird wiederholt, bis eines der Abbruchkriterien erfüllt ist. Abbruchkriterien sind hier beispielsweise, dass die Länge des Weges einen bestimmten Wert unterschreitet, dass der Weg in den letzten zehn Generationen sich nicht weiter verkürzt hat oder dass eine bestimmte maximale Anzahl an Generationen erzeugt wurde.

Evolutionäre Algorithmen sind bei der Optimierung von Eingangsparametern komplexer Systemen bereitsetablierte Methoden. Bei Testverfahren hingegen werden diese Methoden erst seit jüngerer Zeit eingesetzt. Aufgrund der zunehmend hohen Komplexität von elektronischen Steuergeräten, bietet sich die Anwendung evolutionärer Algorithmen beim Testen der Steuergeräte an. Ergänzend zu dem Kreislauf der evolutionären Algorithmen werden beim evolutionären Testen aus den Individuen Testfälle generiert, die ausgeführt werden (Bild 1).