Ein Werkzeug für den White-Box-Test

Ein Werkzeug für den White-Box-Test


Beim White-Box-Test versucht man eine Menge von Testfällen zu konstruieren, sodass alle Anweisungen bzw. alle Pfade des zu testenden Programms mindestens einmal durchlaufen werden. Während die Anweisungsabdeckung einfach zu bewerkstelligen ist, bereitet die Pfadabdeckung Probleme, da die Anzahl der Pfade exponentiell mit der Anzahl der Verzweigungen im Programm wächst. Ziel dieser Diplomarbeit ist es, ein Werkzeug zu implementieren, das für gegebene Programmstücke prüft, wieviele Pfade es durch das Programmstück gibt, und welche davon in einer Menge von Testläufen bereits durchlaufen wurden. Die noch nicht durchlaufenen Pfade sollen in lesbarer Form angezeigt werden, sodass der Tester für sie gezielt Testfälle konstruieren kann.

Um die Aufgabe zu vereinfachen, können folgende Einschränkungen vorgenommen werden:

  • Die Pfade durch eine Anweisungsfolge werden nur überprüft, wenn die Anweisungsfolge weniger als 8 in Sequenz stehende Abfragen enthält und weder return noch eine Schleife mit break aufweist. Mögliche Exceptions und catch-Blöcke werden vorerst ignoriert.
  • Enthält eine Anweisungsfolge eine Schleife, so ist in dieser Anweisungsfolge nur zu prüfen, ob die Schleife betreten wurde oder nicht. Die Anweisungsfolge innerhalb der Schleife ist getrennt zu prüfen, falls es mehr als einen Pfad in ihr gibt.
  • Zusammengesetzte boolesche Ausdrücke in Abfragen dürfen wie eine einzige Verzweigung behandelt werden.

Das Werkzeug ist in C# und für C#-Programme zu implementieren. Besonderes Augenmerk ist auf die Benutzeroberfläche zu richten. Der Benutzer soll auf einfache Weise feststellen können, welche Pfade bereits durchlaufen sind und welche noch zu testen sind. Die Informationen über bereits getestete Pfade sollen so abgespeichert werden, daß die Tests zu jedem beliebigen Zeitpunkt wieder fortgesetzt werden können.

Betreuer: Prof. Dr. H. Mössenböck, Ausgabe: 1.3.2002

Bearbeiter: Markus Löberbauer

Abgeschlossen: März 2003