Testdesign ist der Prozess der Entwicklung von Testskripten und -daten auf der Grundlage von Anforderungen, Spezifikationen und Produktanalysen. Es entstand aus der Notwendigkeit, Tests so zu strukturieren, dass eine maximale Abdeckung gewährleistet und der Aufwand minimiert wird.
Geschichte des Themas:
Früher wurden Tests intuitiv erstellt, was zu Lücken in den Prüfungen und einer ineffizienten Ressourcennutzung führte. Testdesign-Methoden ermöglichen es, die Qualität und Vollständigkeit der Abdeckung zu erhöhen.
Problem:
Ohne formalisierte Techniken besteht das Risiko, dass ähnliche Tests übertrieben oder kritische Fälle versäumt werden. Es ist auch schwierig, die Angemessenheit der Tests vor der Veröffentlichung nachzuweisen.
Lösung:
Die Einführung von Testdesign-Techniken ermöglicht eine rationelle Verteilung der Ressourcen, die Identifizierung der wichtigsten Prüfungen und die Kontrolle der Abdeckung. Schlüsseltechniken:
Schlüsselmerkmale:
Reicht es aus, nur an den Grenzwerten für eine vollständige Abdeckung zu testen?
Nein, es sollten auch positive/negative Szenarien, Prüfungen der Geschäftslogik und nicht-äquivalente Fälle berücksichtigt werden.
In welchen Fällen ist es besser, Pairwise statt Äquivalenzklasse zu verwenden?
Wenn es mehrere Parameter mit unterschiedlichen Wertbereichen gibt – Pairwise ist effektiver darin, Interaktionsfehler zwischen den Parametern zu identifizieren.
Ist das Testen mit veralteten Spezifikationen ausreichend?
Nein, die Spezifikationen müssen aktualisiert werden, sonst entspricht die Testabdeckung nicht dem aktuellen Produkt.
Das Testen des Feldes „Alter“ wurde nur mit 18, 25, 40 Jahren durchgeführt, während kritische Fehler an den Grenzen (0, 100) bis zur Veröffentlichung nicht bemerkt wurden.
Vorteile:
Nachteile:
Verwendung der Methode der Äquivalenzklassen und Grenzwerte: Tests deckten 0, 1, 17, 18, 99, 100, 101 sowie typische Werte innerhalb des Bereichs ab.
Vorteile:
Nachteile: