Black-Box-Test bezeichnet eine Methode zum Testen von Software. Die Tests werden anhand der Spezifikation/Anforderung entwickelt.
Bei einem Blackbox-Test werden Testfälle aufgrund der Anforderungen erstellt. Der Aufbau des Sourcecodes wird dabei nicht beachtet. Das Programm wird als Blackbox betrachtet, die auf einen bestimmten Input einen erwarteten Output liefern soll.
Als Basis für die Testfälle dienen uns
Um eine Software systematisch zu testen, müssen die Testfälle reproduzierbar sein. Ein Testfall legt fest:
Zu einem Testfall gehören die Angaben:
Um den Aufbau der Testfälle zu demonstrieren, zeige ich dies an einem konkreten Beispielprogramm.
Das Programm berechnet eine Seite eines rechtwinkligen Dreiecks.
Nr | Testfall | Input | Erwartetes Resultat | ||
---|---|---|---|---|---|
Seite a | Seite b | Seite c | |||
1 | Berechnung der Seite c | 3 | 4 | -1 | Seite c: 5 |
2 | Berechnung der Seite a | -1 | 4 | 5 | Seite a: 3 |
3 | Seitenlänge a ist 0 | 0 | 15 | 7 | Eine der Seiten hat die Länge 0: Berechnung nicht möglich |
4 | Alle Seiten angegeben | 3 | 4 | 5 | Alle drei Seiten wurden angegeben: Berechnung nicht möglich |
Jede Zeile enthält die Angaben zu einem Testfall. Diese Form ist sehr kompakt und für einfache Programme gut geeignet.
Nr | 1 | |
---|---|---|
Testfall | Berechnung der Seite c | |
Input | Seite a | 3 |
Seite b | 4 | |
Seite c | -1 | |
Erwartetes Resultat | Seite c: 5 | |
Nr | 2 | |
Testfall | Berechnung der Seite a | |
Input | Seite a | -1 |
Seite b | 4 | |
Seite c | 5 | |
Erwartetes Resultat | Seite a: 3 | |
Nr | 3 | |
Testfall | Seitenlänge a ist 0 | |
Input | Seite a | 0 |
Seite b | 15 | |
Seite c | 7 | |
Erwartetes Resultat | Eine der Seiten hat die Länge 0: Berechnung nicht möglich | |
Nr | 4 | |
Testfall | Alle Seiten angegeben | |
Input | Seite a | 3 |
Seite b | 4 | |
Seite c | 5 | |
Erwartetes Resultat | Alle drei Seiten wurden angegeben: Berechnung nicht möglich |
Diese Form ist weniger kompakt und eher für Programme mit komplexem Input/Output geeignet.
Sobald das Programm fertig ist, führen wir einen Testdurchlauf mit allen Testfälle durch. Das Testprotokoll hält die Ergebnisse aus einem Testdurchlauf fest.
In der Regel werden wir beim Testen noch Fehler entdecken. Diese Fehler kann der Programmierer nach dem Testdurchlauf anhand des Testprotokolls korrigieren. Anschliessend führen wir einen neuen Testdurchlauf mit allen Testfällen durch und erstellen ein neues Testprotokoll.
Ein Testprotokoll enthält die Angaben:
Programm | Dreieckseite berechnen | Version | 1.2 |
---|---|---|---|
Datum | 15.10.2014 | Uhrzeit | 15:00 |
Tester | Marcel Suter | ||
Nr | Effektives Resultat | Bewertung | Bemerkung |
1 | Seite c: 5.00 | N | Nachkommastellen überflüssig |
2 | Seite a: 2.9998 | H | Resultat ungenau |
3 | Absturz | H | Jede Seite mit Länge 0 führt zu einem Absturz. |
4 | Alle drei Seiten wurden angegeben: Berechnung nicht möglich | OK | |
Fazit | Das Programm funktioniert mit bestimmten Eingaben nicht korrekt. Es muss überarbeitet und neu getestet werden. |
OK | Das effektive Resultat ist identisch mit dem erwarteten Resultat. |
H | Hauptfehler: Die Funktion des Programms ist nicht korrekt. Der Fehler muss korrigiert werden. |
N | Nebenfehler: Das Programm arbeitet korrekt. Die Anzeige enthält Schönheitsfehler. Das Programm sollte bei Gelegenheit überarbeitet werden. |
Im Feld “Bemerkung” können zusätzliche Angaben zu einem Fehler gemacht werden. Diese Bemerkungen können dem Programmierer helfen, den Fehler zu lokalisieren.
Vielleicht erkennen Sie beim Testen, dass ein Fehler nur bei bestimmten Werten auftritt.
Beispiel: “Rundungsfehler treten nur bei Seitenlängen > 50 auf.”
<bootnote important> Das Bemerkungsfeld soll nur Beobachtungen des Testers enthalten. Vermeiden Sie es, dem Programmierer die Lösung auf's Auge zu drücken. </bootnote>
Das Fazit fasst die Resultate zusammen und enthält die Empfehlung des Testers zum weiteren Vorgehen.