 |
 | |  |  | | Beschreibung |  | Wird ein Programm einem Test unterzogen, so wird das Ergebnis der Programmausführung (Ist-Ergebnis) bzw. das zu Tage getretene Verhalten des Testobjekts (Ist-Verhalten) protokolliert und mit dem gewünschten Ergebnis (Soll-Ergebnis) bzw. gewünschten Verhalten (Soll-Verhalten) verglichen.
Entspricht das Ist-Ergebnis dem Soll-Ergebnis, so gilt der Test als bestanden (engl. pass). Sind dagegen Abweichungen festzustellen, und sind diese Abweichungen außerhalb der spezifizierten Toleranzgrenzen (z. B. maximale Schwankungsbreite beim Test von Ausführungszeiten), so ist der Test fehlgeschlagen (engl. fail) und es muß entschieden werden, ob ein Fehler (siehe auch Baustein Defekte, Mängel und Fehlhandlungen) gefunden wurde.
Wenn das Soll- und Ist-Ergebnis voneinander abweichen, so liegt nicht immer tatsächlich eine Fehlerwirkung des Testobjekts vor, da auch andere Faktoren wie z.B. Fehler in der Testspezifikation oder im Testfall selbst Ursache für eine beobachtete Differenz sein können.
Die Ermittlung des Sollergebnisses beim Testen ist von entscheidender Bedeutung, denn erfolgreiches Testen kann nur dann gelingen, wenn ein gültiges Referenzergebnis zum Vergleich vorliegt, und anhand dessen man Fehlverhalten des Testobjekts erkennen kann. Man sagt in diesem Zusammenhang auch, dass man ein "Testorakel" befragt, welches dann das Sollergebnis bzw. das Sollverhalten des Testlaufs angibt. Quellen für Sollwerte sind dabei insbesondere [Basiswissen Softwaretest, Spillner u.a.]:
- Spezifikation des Testobjekts
- Benutzungshandbücher
- Referenzimplementierung
Die Spezifikation umfasst hier alle Dokumente, die das System in seinen Eingabemöglichkeiten, seinen Reaktionen, und den erwarteten Ausgabewerten beschreiben. Dazu gehören auch Modelle und Diagramme (z. B. UML-Diagramme). Mit einer guten Spezifikation kann das Sollverhalten und das Sollergebnis bestimmt werden, das ein bestimmter Satz von Eingabewerten bei der Testdurchführung hervorruft. Spezifikationsbasiertes Testen wird in der Praxis am häufigsten verwendet.
Weiterhin können Sollwerte auch aus Benutzungshandbüchern abgeleitet werden, sofern diese vollständig und gut strukturiert sind. Gute Benutzungshandbücher können sogar als Spezifikation benutzt werden.
Eine weitere Möglichkeit besteht darin, Referenzimplementierungen als Testorakel zu verwenden. Eine Referenzimplementierung kann z. B. aus einer formalen Spezifikation abgeleitet und toolgestützt entwickelt werden, oder unabhängige Entwicklungsteams entwickeln das gleiche Programm parallel (Back-to-back-Test). Da sowohl formale Methoden als auch paralleles Entwickeln einen hohen Aufwand verursachen, werden solche Methoden nur für Projekte mit sehr hohen Qualitätsanforderungen eingesetzt. Dennoch lassen sich Back-to-back-Tests vorteilhaft einsetzen, wenn neue Programmversionen getestet werden müssen. Dabei werden die Ergebnisse der alten Version und der neuen Version bei denjenigen Programmteilen miteinander verglichen, die sich nachweislich nicht geändert haben.
Generell lässt sich feststellen, dass Sollwerte stets vor der eigentlichen Testausführung und Testbewertung bestimmt werden sollten. Es ist nicht ratsam, das zu testende Objekt selbst als Testorakel zu verwenden, und Sollwerte direkt anhand des Testobjektes abzuleiten. Ziel des Testens ist es ja, Abweichungen des Verhaltens der erstellten Software von ihrer Spezifikation zu identifizieren, und deswegen muss sich auch die Testfallgewinnung an der Spezifikation orientieren. Zudem sollte, wenn möglich, der Soll-Ist-Vergleich mit geeigneten Werkzeugen automatisiert durchgeführt werden. |  |
 | |  |  | |  | |  | |  |  | | Kommentare | | Es wurden 1 Kommentar und 0 Bewertungen abgegeben |  | | Kommentare |  | Inka Marold, 30.07.2003 | | "schöne seite" |  | | sehr schöne informationen und ganz viel, was die dozenten uns in der ausbildung vorenthalten haben. vielen dank dafür. | | | |
|  |  | | Zu dieser Seite wurden noch keine Bewertungen abgegeben. |
|  | |  | |  |  |   | Übergeordnet |  |  |  | |  |  |  |  |  | Soll- und Istverhalten |  |  |  |  |  | Literaturhinweise |  |  |  | |  |  |  |  |  |  |
|