Testentwurfsverfahren
R 2.0.0
Beschreibung
Übergeordnetes Ziel des Softwaretestens ist das Messen der realen Qualität eines Systems. Dazu werden i.d.R. umgesetzte Anforderungen anhand von zuvor definierten Akzeptanzkriterien durch Testfälle geprüft. Als Ergebnis eines Testentwurfsverfahrens sollen geeignete Testfälle und -daten entstehen, die dazu beitragen, die Testziele und -bedingungen zu erreichen. Daher muss eine sinnvolle Auswahl getroffen werden, um überflüssige oder lückenhafte Arbeiten zu vermeiden. Die Anzahl der möglichen Testfälle, die aus einer vorgegebenen Testbasis abgeleitet werden können, wird ohne Einsatz einer solchen Methode in der Praxis zu hoch sein.
Bei der Erstellung der Testfälle ist zu beachten, dass Abweichungen idealerweise so früh und kostengünstig wie möglich entdeckt werden sollen. Es gilt, einen angemessenen Mix aus Überdeckung, Zeit und Kosten für die Testmaßnahmen zu finden. Das Ziel ist die systematische Verringerung der Testfälle und damit die Reduzierung des Testaufwandes bei gleichzeitig hoher Abdeckung der Fachlichkeit.
Einordnung der Verfahren
Unterschieden werden die folgenden Testentwurfsverfahren:
-
Spezifikationsorientiert (Black-Box, Testobjekt „undurchsichtig“)
-
Strukturorientiert (White-Box, Testobjekt „durchsichtig“)
-
Erfahrungsbasiert (Wissen und Erfahrungen von Menschen nutzen)
Spezifikationsorientierte Testentwurfsverfahren
Spezifikationsorientierte Testentwurfsverfahren kommen in den dynamischen Black-Box-Tests zum Einsatz, bei denen das Verhalten der Software durch Ausführen auf einem Rechner von außen geprüft wird. Dazu bedarf es keiner Kenntnisse zur Programmlogik oder zur internen Struktur der Anwendung. Bei den dynamischen Tests wird die Ausführbarkeit der Anwendung vorausgesetzt. Es wird eine Eingabe bereitgestellt, eine Ausgabe empfangen und mit dem erwarteten Ergebnis verglichen. Im Gegensatz zu dieser praktischen Arbeit mit dem System kommt es bei statischen Tests zu einer analytischen Prüfung des erstellten Artefakts, ohne die Software jedoch auszuführen. (Codereviews, Einhaltung von Programmierrichtlinien usw.).
Die Testfälle werden üblicherweise unter Verwendung der funktionalen Anforderungen des Testobjekts erstellt und daran auch der Überdeckungsgrad gemessen.
Für die praktische Ausführung des Testobjekts benutzt der Tester während der Testdurchführung zuvor festgelegte Eingabewerte. Diese sind in den auszuführenden Testfällen dokumentiert.
Es existieren bestimmte Methoden, anhand derer geeignete Eingabewerte-Kandidaten im Rahmen des spezifikationsorientierten Testentwurfs der Testfälle ermittelt werden können.
Folgende spezifikationsorientierten Testentwurfsverfahren kommen zu diesem Zweck zum Einsatz:
Diese Verfahren sollen dabei helfen, effiziente Testfälle ohne fachlich überflüssige Dopplungen zu erstellen und gleichzeitig eine hohe Überdeckung zu erreichen.
Die erwarteten und zu prüfenden Ausgabewerte der Tests basieren auf den zuvor definierten fachlichen Anforderungen bzw. Akzeptanzkriterien.
Quellen
-
Abbildungen Anwendungsbeispiel: FLATICON, Freepik Company S.L. Autor*in: juicy_fish, abgerufen am 27.11.2024
-
ISTQB Glossary Testentwurf, abgerufen am 19.08.2024
-
A. Spillner, T. Linz - Basiswissen Softwaretest, 7. Auflage, 2024