Schriftliche Ausarbeitung - Alexander Willner | Masterarbeit
Schriftliche Ausarbeitung - Alexander Willner | Masterarbeit
Schriftliche Ausarbeitung - Alexander Willner | Masterarbeit
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
5.3. Dynamische Testverfahren<br />
5.3.1. Einleitung<br />
5. Implementierung und Test<br />
Unter dynamischen Testverfahren wird das Testen von Software durch Ausführung von<br />
Testobjekten beschrieben. Dabei wird ein Teil der Software über definierte Schnittstellen<br />
mit vorgegebenen Eingaben ausgeführt und das Ergebnis mit zuvor spezifizierten Erwartungswerten<br />
verglichen. Das Ziel des dynamischen Testens ist der Nachweis der Erfüllung<br />
von festgelegten Anforderungen durch das implementierte Programmstück und die Aufdeckung<br />
von eventuellen Abweichungen und Fehlerwirkungen (vgl. [52, 53]). Dynamische<br />
Testverfahren werden ebenfalls bei der inkrementellen Softwareentwicklung benötigt.<br />
Während der Überarbeitung der Programmstruktur als Reaktion auf neue Anforderungen,<br />
darf sich das Verhalten der restlichen Funktionen nicht ändern. Um dies gewährleisten zu<br />
können, sind entsprechende Testverfahren erforderlich.<br />
Im Gegensatz zu automatisierten Quelltextanalysen ist ein vollständiger Test der Anwendung<br />
im Allgemeinen jedoch nicht möglich. Die Überprüfung aller in Frage kommenden<br />
Eingabedaten und deren Kombinationen, unter Berücksichtigung jeder Randbedingung,<br />
ergäben eine nahezu unbegrenzte Anzahl an Möglichkeiten (vgl. [66]). Daher beschränken<br />
sich Tests auf eine systematisch festgelegte Teilmenge der Eingabewerte. Die<br />
Testergebnisse des entwickelten Systems finden sich in Anhang B.2.<br />
5.3.2. Testverfahren<br />
Um eine sinnvolle Teilmenge der möglichen Eingabewerte zu bestimmen, bieten sich bei<br />
der Testfallgenerierung je nach Verfügbarkeit der Quelltexte drei systematische Verfahren<br />
an. Von diesen wurde in der vorliegenden Arbeit jeweils Gebrauch gemacht; sie werden<br />
im Folgenden kurz beschrieben. Eine ausführlichere Schilderung der Verfahren ist im Rahmen<br />
dieser Arbeit nicht möglich, daher sei auf die einschlägige Fachliteratur verwiesen<br />
(vgl. [67, 68, 66]).<br />
Blackbox-Verfahren. Bei Blackbox-Verfahren ist der innere Aufbau der Testobjekte nicht<br />
bekannt. Sinnvolle Werte für Testbeschreibungen werden aus Spezifikationen ermittelt<br />
und anhand verschiedener Methoden geprüft. So werden Eingabewerte, bei denen davon<br />
ausgegangen wird, dass sich das Testobjekt jeweils gleich verhält, in Äquivalenzklassen<br />
eingeteilt. Da Fehlerzustände in Programmen häufig an Grenzbereichen dieser Äquivalenzklassen<br />
auftreten, werden in der Grenzwertanalyse die äußersten Werte der Klassen<br />
einer Prüfung unterzogen. Zusätzlich können viele Testobjekte unterschiedliche Zustände<br />
annehmen, die z.B. von Funktionsaufrufen ausgelöst werden. Daher werden häufig ebenfalls<br />
zustandsbezogene Tests durchgeführt. Die Grundlage zur Anwendung von Blackbox-<br />
Verfahren bieten in diesem Zusammenhang unter anderem die Aktivitätsdiagramme aus<br />
55