03.11.2012 Aufrufe

2. Verifikation, Validierung und Testen - Praktische Informatik ...

2. Verifikation, Validierung und Testen - Praktische Informatik ...

2. Verifikation, Validierung und Testen - Praktische Informatik ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Der Tester kennt beim Black-Box-Test nur was eine Funktion macht aber nicht<br />

wie diese Funktion arbeitet. Der Tester muss nicht Programmierkenntnisse<br />

haben <strong>und</strong> er orientiert sich nur am Benutzerhandbuch, Lastheft der Software,<br />

Spezifikation der Software, um die Testfälle als Eingabe zu definieren. Die<br />

Ausgabe wird danach verglichen, ob sie gleich ist mit der richtigen Ausgabe, die<br />

in der Spezifikation steht.<br />

Um alle Fehler zu finden, muss ein vollständiger Test ausgeführt werden. Das<br />

bedeutet, dass nicht nur alle zulässigen Eingaben getestet werden müssen,<br />

sondern die fehlerhaften Eingaben müssen auch getestet werden.<br />

Für die Testfallbestimmung gibt es drei wichtige Verfahren:<br />

* Äquivalenzklassenbildung (Equivalence Partitioning)<br />

* Grenzwertanalyse (Bo<strong>und</strong>ary Value Analysis)<br />

* Test spezieller Werte (Error-Guessing)<br />

3.1 Äquivalenzklassenbildung (Equivalence Partitioning)<br />

Eine Äquivalenzklasse ist eine Menge von Eingabewerten, die auf ein<br />

Programm eine gleichartige Wirkung ausüben. Das bedeutet, dass wenn ein<br />

Element in einer Äquivalenzklasse als Eingabe zu einem Fehler führt, alle<br />

anderen Elemente in dieser Klasse mit der größten Wahrscheinlichkeit zu dem<br />

gleichen Fehler führen werden.<br />

Wenn ein Testfall in einer Äquivalenzklasse keinen Fehler entdeckt, so erwartet<br />

man, dass alle anderen Testfälle keine Fehler entdecken.<br />

Wir betrachten das erste Beispiel<br />

Das Testprogramm sieht so aus:<br />

/* COPYRIGHT © 1994 by George E. Thaller<br />

All rights reserved<br />

Function : Black Box<br />

Equivalence Partitioning<br />

*/<br />

#include <br />

main ()<br />

{<br />

int i, z, day, month, year ;<br />

printf(“\nTAG MONAT WOCHENTAG\n\n”);<br />

/* Test Case 1 */<br />

day = 22; month = 6; year = 1994;

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!