Selektion, Mutation und Kreuzung sind Begriffe, die aus Darwins Evolutionstheorie bekannt sind. Fraunhofer FIRST demonstriert vom 3.-5. März auf der embedded world in Nürnberg, wie diese Prinzipien der Natur zur Verbesserung von Softwaretests beitragen.
Evolutionsbiologische Gesetze wie Selektion, Kreuzung und Mutation sorgen in der Natur für die Anpassung von Pflanzen und Lebewesen an veränderte Umweltbedingungen. Damit sichern sie das Überleben der Arten. Wie man sich diese Gesetze zunutze machen kann, um Softwarequalität zu verbessern, zeigen Forscher des Fraunhofer FIRST vom 3.-5. März auf der embedded world 2009 in Halle 11, Stand 11-101. Softwaretests bestehen aus vielen einzelnen Testfällen, die bestimmte Aspekte des zu testenden Systems überprüfen. Für den Erfolg von Softwaretests ist die Qualität der einzelnen Testfälle entscheidend. In dem europäischen Projekt EvoTest entwickelt Fraunhofer FIRST mit Partnern aus Industrie und Forschung eine Software, die automatisch Testfälle für Softwaretests erzeugt. Dabei werden die Testfälle nicht zufällig generiert, sondern mit Hilfe von Selektion, Mutation und Kreuzung optimal auf das Testziel angepasst. Dies steigert die Effizienz der immer umfangreicher werdenden Testphase.
Masse mit Klasse
Testfälle werden üblicherweise manuell erstellt oder zufällig generiert. Das erste Verfahren ist sehr aufwändig und damit auch kostenintensiv. Bei zufällig erzeugten Testfällen müssen sehr viele Testfälle generiert und ausgeführt werden, damit ein einigermaßen akzeptabler Teil des Softwarecodes überprüft wird. Mit EvoTest ist es jetzt möglich, qualitativ hochwertige Testfälle automatisch zu generieren, auszuführen und zu bewerten.
Zum Einsatz von EvoTest muss, wie in jedem systematischen Testprozess, als erster Schritt ein Testziel festgelegt werden. Anschließend wird eine adäquate Fitness-Funktion bestimmt, die die Qualität der einzelnen Testfälle in Bezug auf das Testziel bewertet. Sie analysiert zunächst die in Anlehnung an die Evolutionsbiologie so genannte Ausgangspopulation von Testfällen. Das sind bereits vorhandene Testfälle, die zum Beispiel manuell erzeugt wurden. Wenn das definierte Testziel durch die erste Generation bereits erreicht wird, so ist der evolutionäre Prozess beendet. Andernfalls werden einzelne Testfälle ausgewählt, leicht verändert oder miteinander kombiniert. Wie in der Evolutionslehre werden diese Prozesse als Selektion, Mutation und Kreuzung bezeichnet. Die zweite Generation wird anschließend erneut der Fitness-Bewertung unterzogen und das weitere Verfahren läuft wie in der ersten Runde ab. Bei jeder Wiederholung entsteht also eine neue, dem Testziel näher kommende Generation von Testfällen.
EvoTest kann beispielsweise in Hardware-in-the-Loop-Testumgebungen für sicherheitsrelevante eingebettete Systeme, für C-Code von Steuergeräten und auch für den Test von Desktop-Software eingesetzt werden. Die Software kann in alle bestehenden Testsysteme integriert werden. Die etablierten Testverfahren müssen nicht ersetzt werden. Sie werden durch die neue Methode verbessert und effizienter gestaltet.
EvoTest wird von der EU im 6. Forschungsrahmenprogramm gefördert. In dem Projekt arbeiten acht Partner aus Industrie und Forschung unter der Leitung des Instituto Tecnológico de Informática in Valencia, Spanien zusammen. Das dreijährige Projekt endet im September 2009.
Auf der embedded world stellt Fraunhofer FIRST zudem die Vorteile des spezifikationsbasierten Testens vor. Nähere Informationen finden Sie unter: http://www.first.fraunhofer.de/veranstaltung/embeddedworld09
Bildmaterial und eine Infografik stellen wir Ihnen auf Anfrage gern zur Verfügung. Weitere Informationen erteilt Ihnen gern:
Mitra Motakef-Tratar
Referentin Institutskommunikation
Tel.: 030/6392-1814
E-Mail: mitra.motakef-tratar@first.fraunhofer.de
Merkmale dieser Pressemitteilung:
Informationstechnik
regional
Forschungsergebnisse, Forschungsprojekte
Deutsch
Sie können Suchbegriffe mit und, oder und / oder nicht verknüpfen, z. B. Philo nicht logie.
Verknüpfungen können Sie mit Klammern voneinander trennen, z. B. (Philo nicht logie) oder (Psycho und logie).
Zusammenhängende Worte werden als Wortgruppe gesucht, wenn Sie sie in Anführungsstriche setzen, z. B. „Bundesrepublik Deutschland“.
Die Erweiterte Suche können Sie auch nutzen, ohne Suchbegriffe einzugeben. Sie orientiert sich dann an den Kriterien, die Sie ausgewählt haben (z. B. nach dem Land oder dem Sachgebiet).
Haben Sie in einer Kategorie kein Kriterium ausgewählt, wird die gesamte Kategorie durchsucht (z.B. alle Sachgebiete oder alle Länder).