Was ist eine Testentwurfsspezifikation?
Eine Testentwurfsspezifikation ist ein zentrales Ergebnisdokument im Softwaretestprozess. Sie legt fest, wie ein Testobjekt getestet werden soll, welche Testbedingungen gelten und welche Testfälle zur Überprüfung herangezogen werden. Sie ist somit eine konkrete Umsetzung der Testplanung und dient als Leitfaden für die Testdurchführung.
In einer Testentwurfsspezifikation werden unter anderem festgehalten:
- Testobjekt: Welche Softwarekomponente oder Funktion getestet wird.
- Testbedingungen: Unter welchen Voraussetzungen die Tests durchgeführt werden (z. B. Daten, Systemzustand).
- Testvorgehensweise: Schritt-für-Schritt-Anleitung, wie die Tests ablaufen sollen.
- Logische Testfälle: Die einzelnen Testfälle mit Eingaben, erwarteten Ergebnissen und Durchführungsreihenfolge.
- Zuordnung von Ressourcen: Welche Tester welche Testfälle übernehmen.
Beispiel für eine Testentwurfsspezifikation
Ein Online-Shop-Modul soll die Rabattberechnung prüfen:
- Testobjekt: Rabattfunktion für Bestellungen über 100 €.
- Testbedingungen: Kunde ist registriert, Warenkorb = 120 €, gültiger Gutscheincode vorhanden.
- Testvorgehensweise:
- Warenkorb befüllen
- Rabattcode anwenden
- Endpreis berechnen
- Ergebnis mit erwarteten Rabatt vergleichen
- Logische Testfälle:
- Testfall 1: Warenkorb = 120 €, Rabatt 10 % → erwarteter Endpreis = 108 €
- Testfall 2: Warenkorb = 80 €, Rabatt 10 % → erwarteter Endpreis = 80 € (kein Rabatt)
Vorteile der Testentwurfsspezifikation
- Klare Dokumentation der Testvorgaben für alle Beteiligten.
- Einheitliche Durchführung der Tests, unabhängig vom Tester.
- Grundlage für Nachvollziehbarkeit und Reproduzierbarkeit von Testergebnissen.
- Hilft, Testabdeckung und Vollständigkeit zu prüfen.
Nachteile bzw. Herausforderungen
- Erstellung kann aufwendig sein, besonders bei komplexen Systemen.
- Gefahr der Überdokumentation, wenn jede Kleinigkeit erfasst wird.
- Muss regelmäßig gepflegt werden, um mit Änderungen am Testobjekt Schritt zu halten.
Tipps für die Praxis
- Verknüpfung mit Testmanagement: Dokumente sollten leicht in Testmanagement-Tools integriert werden, um Transparenz und Nachvollziehbarkeit zu gewährleisten.
- Struktur klar definieren: Einheitliche Vorlagen erleichtern Erstellung und Lesbarkeit.
- Testfälle priorisieren: Kritische Funktionen zuerst abdecken, um Risiken zu minimieren.
- Automatisierung einplanen: Wo möglich, Testfälle für automatisierte Ausführung vorbereiten.
- Regelmäßige Überprüfung: Testentwurfsspezifikationen an aktuelle Anforderungen und Änderungen im System anpassen.
