Modellbasierte Erzeu... Examensarbeiten Testfallerzeugung na...

Studienarbeit

Testfallbewertung zur strukturellen Testüberdeckung objektorientierter Java-Programme

 

Zusammenfassung

Beim Testen von Software mit Hilfe von Strukturtestverfahren steht der Testingenieur vor der Herausforderung, einen möglichst hohen Überdeckungsgrad zu erzielen, d. h. den Code strukturell so erschöpfend wie möglich auszuführen. Neue Testfälle zu finden, die einen noch nicht ausgeführten Teil des Kontrollflusses überdecken, stellt keine leichte Aufgabe dar.
Eine Herangehensweise, die sich hier empfiehlt, ist die Anpassung bereits ausgeführter Testinputs mit der Absicht, den Kontrollfluss zu verändern und ihn so die gewünschte Richtung einschlagen zu lassen. Testfälle, die das Testziel (einen noch nicht ausgeführten Knoten oder eine noch nicht ausgeführte Kante) nur mit geringem Abstand verfehlt haben, sind dabei geeigneter als solche, die sehr deutlich am Ziel vorbeilaufen; der Aufwand für die Anpassung ist kleiner. Um solche vielversprechenden Kandidaten zu finden, ist eine Bewertungsmethode erforderlich, die die bereits ausgeführten Testfälle nach ihrer Eignung zur gezielten Modifikation beurteilt.
Im Rahmen dieser Arbeit wurde dafür ein Testbewertungswerkzeug für Java implementiert. Das eingesetzte Verfahren stützt sich dabei auf eine statische und eine dynamische Analyse. Die statische Analyse konstruiert aus dem ursprünglichen Java-Quellcode Kontrollflussgraphen. Die dynamische Analyse ermittelt durch Aufruf des instrumentierten Quellcodes, welche Teile der zu testenden Software ausgeführt wurden. Sodann kann festgestellt werden, welche (graphentheoretische) Annäherungsstufe im Hinblick auf einen bestimmten Zielknoten erreicht wurde, und mit Hilfe geeigneter Abstandsfunktionen eine Bewertung des Testfalls abgegeben werden.

Bearbeiter: Tobias Meyer

Betreuer: Dr.-Ing. Norbert Oster