Bessere Software-Tests durch Evolutions-Prinzip
"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.
Thema:
Beliebte Downloads
Jetzt als Amazon Blitzangebot
Ab 11:35 Uhr
Zkcreation Smartwatch Damen - Smart Watch Damenuhr mit Anruffunktion Fitnessuhr

Original Amazon-Preis
69,68 €
Blitzangebot-Preis
55,67 €
Ersparnis zu Amazon 20% oder 14,01 €
Nur bei Amazon erhältlich
Video-Empfehlungen
Beliebt im Preisvergleich
- cat swpr_prog:
Neue Nachrichten
Beliebte Nachrichten
Videos
Christian Kahle
Redakteur bei WinFuture
Ich empfehle ...

Meist kommentierte Nachrichten
Forum
-
Programm als Admin starten ohne Admin-Rechte
Stefan_der_held - Heute 20:00 Uhr -
Raspberry Pi 5 - mit neuem System-on-Chip (SoC), mehr Leistung....
el_pelajo - Heute 18:20 Uhr -
WIN 11 Deinst löschen
Reteibeg - Heute 13:41 Uhr -
Mainboard Empfehlung - seit 2014 unveränderte Hardware
Tox - Heute 13:14 Uhr -
Probleme mit Umwandlung VIDEO_TS zu Video-DCD
Ler-Khun - Gestern 23:25 Uhr
❤ WinFuture unterstützen
Sie wollen online einkaufen?
Dann nutzen Sie bitte einen der folgenden Links,
um WinFuture zu unterstützen:
Vielen Dank!
Alle Kommentare zu dieser News anzeigen