Testentwurfsverfahren

R 2.0.0

Was sind Testentwurfsverfahren?

Was sind Testentwurfsverfahren?

Die Aktivität, die Testfälle aus Testbedingungen ableitet und spezifiziert.

Anwendungsbeispiel

Anwendungsbeispiel
ALT MISSING

Der sonnige Morgen versprach mit blauem Himmel eine Verlängerung des sommerlichen Wetters, das nun bereits seit vergangener Woche anhielt. Theo beschloss daher, an diesem schönen Tag mit dem Fahrrad zur Arbeit ins Haupthaus der Behörde zu fahren, was er sich seit Längerem vorgenommen hatte. Die Millionenstadt bildete im Sommer eine Wärmeinsel inmitten der Tiefebene aber etwas frischen Wind gab es meist dennoch bei der Fahrt über die Rheinbrücke vom Ortsteil auf der „falschen“ Seite, wie viele Bewohner es scherzhaft nannten. Sein Fahrrad stand einige Zeit unbenutzt im Keller und bevor er die Fahrt antrat, prüfte er stets Ausrüstung und Zustand. Bremsen, Licht, Helm und Luftdruck mussten passen, um die Risiken auf den teilweise sehr belebten Straßen der Stadt zu minimieren.

ALT MISSING

Zunächst hatte er jedoch eine ganz andere Herausforderung zu meistern. Er scheiterte an dem Zahlenschloss, mit dem er den Drahtesel im öffentlichen Fahrradkeller des Mehrfamilienhauses ordnungsgemäß verschlossen hatte. Mist, hatte er doch die Kombination der 6 Zahlen vergessen, die er im letzten Winter für das Schloss ausgewählt hatte. 10 Zahlen auf jedem der 6 Ringe bedeuteten 10^6 = 1.000.000 Möglichkeiten und die Zeit sie alle zu probieren gab es nicht, wollte er heute noch pünktlich zum Gespräch mit Hilde, der Projektleiterin erscheinen. Ein Datum war es seiner Erinnerung nach auf alle Fälle, was die Anzahl der möglichen Kombinationen glücklicherweise deutlich eingrenzte. Das Geburtsdatum seiner Freundin, sein eigenes? Fehlanzeige.

ALT MISSING

Ironischerweise fand er in dieser Situation auch Themen wieder, die für das heutige Gespräch mit Hilde auf der Agenda standen. Es war ihr erstes gemeinsames Projekt und Theo war als engagierter Testmanager neu im Einsatz. Sein Herz schlug für die Qualitätssicherung und sein Anspruch war es, alles zu tun, um das Risiko für den Praxiseinsatz dieser durchaus wichtigen Software so weit es ging einzugrenzen. Natürlich war er sich auf der anderen Seite darüber im Klaren, dass ein absichernder Test aller möglichen Kombinationen der Eingabewerte für die zu entwickelnde Anwendung nicht darstellbar und wirtschaftlich war. Genau dieser Gedanke war es, der ihm anfangs ein ungutes Bauchgefühl machte.

ALT MISSING

Es galt also einen Testentwurf auf die Beine zu stellen, der auch die zeitlich begrenzte Verfügbarkeit der Tester aus dem Fachbereich berücksichtigte und gleichzeitig eine gute Abdeckung der fachlichen Inhalte bot, um die Risiken zu minimieren. Dazu hatte Hilde den Einsatz entsprechender Verfahren zur Entwicklung geeigneter Testfälle empfohlen. Im Rahmen einer Schulung konnte Theo bereits erste Beispiele kennenlernen und ausprobieren. Es wurde beispielsweise die Bildung von Werteklassen besprochen, aus denen der Tester jeweils nur eine Stichprobe testen muss, da der Einsatz von anderen Werten aus dieser Klasse jeweils zum selben Ergebnis führte und der Test somit keine weiteren Erkenntnisse brachte. Außerdem wurde dabei festgestellt, dass Werte aus den Grenzbereichen dieser Klassen fehleranfällig waren und daher besonders intensiv betrachtet werden mussten. Diese Einblicke ließen ihn beruhigter auf die heute anstehende Testplanung schauen und er war gespannt darauf, die Methoden auch im Projektkontext einsetzen zu können.

ALT MISSING

Jetzt fiel es ihm wieder ein – es war das Kennenlerndatum, zu dem er seine Freundin in ihr Lieblingsrestaurant einladen wollte. Gut, dass er sich heute für das Fahrrad entschieden hatte und erinnert wurde, denn es jährte sich bereits kommende Woche und der Tisch musste noch reserviert werden…

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:

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.

ALT MISSING
Abb. 1: Spezifikationsorientierte Testentwurfsverfahren

Quellen