Bessere Software-Tests durch Evolutions-Prinzip

Quellcode, Code, Programmierung, Programmiersprache
Informatiker der Universität des Saarlandes haben ein System entwickelt, das automatisches Testen von Software ohne Fehlalarme ermöglichen soll. Mithilfe eines genetischen Algorithmus simuliert es so lange Benutzereingaben, bis das Programm vollständig überprüft ist.
Damit soll ein verbreitetes Problem in der praktischen Software-Entwicklung beseitigt werden: Wenn Entwickler eine Software unter Termindruck fertig stellen, wird häufig bei der Qualitätskontrolle, also dem gründlichen Testen, gespart. Automatische Softwaretests sind zwar möglich, werden aber unter anderem deswegen nicht eingesetzt, weil sie immer wieder Fehlalarme produzieren, die unnütz Zeit kosten. Denn solche Tests beschreiben oft für die jeweilige Software-Komponente einen Fall, der bei einer realen Ausführung des Programms nie auftreten würde, berichteten die Forscher.

"Man kann das mit einem IKEA-Regal vergleichen, das aus vielen einzelnen Teilen besteht", erklärte Florian Groß, Doktorand am Lehrstuhl für Softwaretechnik. Eine denkbare Falschmeldung wäre dann zum Beispiel: "Drei vertikal gestapelte Regalböden ergeben einen Systemabsturz", obwohl Regalböden im fertigen Regal nie vertikal gestapelt werden. Ein echter Fehler hingegen wäre die Variante: "Es fehlt eine Schraube. Die Böden im Regal sind schräg. Bücher rutschen herunter."

Die Saarbrücker Informatiker setzen daher darauf, die Testfälle nicht für einzelne Komponenten, sondern für Systemschnittstellen wie die grafische Benutzeroberfläche zu generieren. Da der Anwender darüber das Programm bedient, muss dieses unter jeder denkbaren Eingabe fehlerfrei funktionieren. "Das bedeutet im Umkehrschluss, dass jede auf diese Art aufgedeckte Fehlfunktion auch auf einen echten Fehler hindeutet", so Groß und fügt hinzu, dass sich dieser durch eine geringe Anzahl von Bedienschritten beschreiben lasse, was ihn wiederum leicht nachvollziehbar und leicht wiederholbar mache.

Wie das aussehen könnte, zeigt der Prototyp des Systems, den die Forscher aufgrund ihres Ansatzes "Explorative System Testing" (Exsyst) getauft haben. Er präsentiert die Bedienoberfläche des zu testenden Programms und lässt Textfragmente eingeben und Bedienelemente anklicken. Darüber zeigen ein grüner Fortschrittsbalken und eine zweistellige Ziffer an, wieviel Prozent des Programmcodes bereits getestet wurden.

Möglich macht dies ein genetischer Algorithmus. "Er funktioniert ähnlich wie die biologische Evolution. Eine Menge von Testfällen wird zufällig erzeugt. Daraus werden diejenigen ausgewählt, die als sinnvoll erscheinen. Das System verändert sie geringfügig und kombiniert sie miteinander, um eine neue Generation von Benutzereingaben zu erzeugen", erläuterte der Informatiker. Diese und folgende Generationen müssen dann ebenfalls Auslese und Rekombination über sich ergehen lassen.

Dabei stellen die Forscher über eine spezielle Optimierungsfunktion sicher, dass ein maximaler Anteil des Programmcodes getestet wird. Aufgedeckte Fehlfunktionen werden an den Entwickler weitergegeben. "Wir erreichen damit eine bessere Codeabdeckung als herkömmliche Methoden zur Testfallgenerierung", sagte Groß weiter. Dieses Ergebnis habe nicht nur die Saarbrücker Forscher, sondern auch weitere Experten auf diesem Gebiet überrascht. Quellcode, Code, Programmierung, Programmiersprache Quellcode, Code, Programmierung, Programmiersprache
Diese Nachricht empfehlen
Kommentieren20
Jetzt einen Kommentar schreiben


Alle Kommentare zu dieser News anzeigen
Kommentar abgeben Netiquette beachten!

Jetzt als Amazon Blitzangebot

Ab 00:00 Uhr tax 2017 Professional (für Steuerjahr 2016)
tax 2017 Professional (für Steuerjahr 2016)
Original Amazon-Preis
29,99
Im Preisvergleich ab
28,99
Blitzangebot-Preis
22,99
Ersparnis zu Amazon 23% oder 7

Video-Empfehlungen

WinFuture Mobil

WinFuture.mbo QR-Code Auch Unterwegs bestens informiert!
Nachrichten und Kommentare auf
dem Smartphone lesen.

Folgt uns auf Twitter

WinFuture bei Twitter

Interessante Artikel & Testberichte

WinFuture wird gehostet von Artfiles

Forum

Tipp einsenden