Paarweises Testen

R 2.0.0

Was ist paarweises Testen?

Was ist paarweises Testen?

Ein Black-Box-Testverfahren, bei dem die Testfälle so entworfen werden, dass Paare von Parameter-Wertepaaren ausgeführt werden.

Beschreibung

Einer der sieben Grundsätze des Testens nach ISTQB besagt, dass vollständiges Testen unmöglich ist. Außer bei sehr trivialen Testobjekten ist es nicht notwendig und nicht verhältnismäßig, alle möglichen Kombinationen zu prüfen. Bei den Versuchen, die größtmögliche Abdeckung dieser Eingabewerte herzustellen, kommt es schnell zu einer sogenannten „Testfallexplosion“. Es zeigt sich jedoch, dass die meisten Fehler aufgrund der inkorrekten Verarbeitung einer einzelnen oder maximal zwei unabhängigen Variablen entstehen. Nur in sehr seltenen Fällen, die deswegen vernachlässigt werden können, haben Fehler das Zusammentreffen von drei oder mehr Faktoren als Ursache. Deshalb lässt sich der Test aller möglichen Kombinationen auf die Anzahl der Testfälle durch die Betrachtung aller gültigen Paarkombinationen signifikant reduzieren.

Der Einsatz dieses kombinatorischen Testverfahrens ist insbesondere dann sinnvoll, wenn verschiedene Kombinationen von Eingabewerten vorliegen und getestet werden sollen. Nehmen wir als einfaches Beispiel ein Formular aus einem Online-Shop, welches unterschiedliche Möglichkeiten zur Eingabe im Bestellvorgang ermöglicht. Hier könnte beispielsweise eine Auswahl des Kundentyps, der Region und der Bezahlfunktion vorliegen. (Testende werden es in der Regel mit einer viel größeren Anzahl und Komplexität von zu testenden Eingabe- und Ausgabewerten zu tun haben.)

Beispiel für paarweises Testen

Für die Tests des Bestellvorgangs gibt es in unserem Beispiel des Online-Shops drei unabhängige Variablen mit den unterschiedlichen Ausprägungen:

Region: Europa, USA, Asien, Australien

Bezahlfunktion: VISA, MasterCard, PayPal

Kundentyp: Individual, Firma

Die gesamte Zahl der möglichen Kombinationen beläuft sich in diesem sehr einfachen Beispiel auf 24 (4x3x2). In einem so überschaubaren Fall lässt sich die Auswahl der Testfälle noch manuell bilden. Dazu gibt es die folgenden Vorgehensweisen.

Variante A

ALT MISSING
Abb. 1: Variablen und Ausprägungen

Schritt 1: Die Variable mit den meisten Werten (Region – 4 Werte) wird zunächst als erstes notiert, und zwar gruppiert. Die Gruppen dieser Variable besteht aus so vielen Zeilen wie die zweite Gruppe Werte hat (Bezahlfunktion – 3 Werte).

ALT MISSING
Abb. 2: Gruppen der Variablen

Schritt 2: Die 2. Spalte wird nun mit den Werten der 2. Variablen (Bezahlfunktion) aufgefüllt:

ALT MISSING
Abb. 3: zweite Variablen ergänzt

Schritt 3: Die 3. Spalte wird anschließend mit den Werten der 3. Variablen (Individual, Firma) gefüllt:

ALT MISSING
Abb. 4: dritte Variablen ergänzt

Da hier deutlich wird, dass für die Kombination VISA/Firma und MasterCard/Individual keine Paare gebildet wurden, wird diese Kombination getauscht.

ALT MISSING
Abb. 5: Tausch der dritten Variable

Somit sind wieder alle Wertepaare in der Tabelle vertreten.

Schritt 4: Die Werte in der 3. Spalte werden passend aufgefüllt, in den letzten beiden Zeilen ist egal, welcher Wert genommen wird, da alle Kombinationen bereits vorliegen:

ALT MISSING
Abb. 6: Auffüllen dritte Variable

Variante B

Schritt 1: Es bilden sich in unserem Beispiel folgende drei Gruppen mit den jeweils gültigen Paarkombinationen:

ALT MISSING
Abb. 7: gültige Paarkombinationen

Die Aufgabe besteht nun darin, aus der Gesamtliste der möglichen Paarkombinationen die Auswahl so zu treffen, dass jedes Paar aus den drei Tabellen nur genau einmal vorkommt. So soll z.B. aus der ersten Zeile beispielsweise die Kombination Europa und VISA in keiner weiteren Zeile vorhanden sein. Die Zusammenstellung erfolgt individuell und kann entsprechend von unserem Beispiel abweichen, solange die Anforderung an die Bildung der eindeutigen Paare angewandt wird.

Schritt 2: In unserem Fall hilft die Gesamtliste der möglichen Kombinationen, beginnend mit der Spalte mit den meisten Einträgen, der die Kombinationen der anderen Werte sortiert zugeordnet werden:

ALT MISSING
Abb. 8: Gesamtliste der Kombinationen

Schritt 3: Um von einer Tabelle mit allen Kombinationsmöglichkeiten zu einer Tabelle nach der Paarweisen-Methode zu gelangen, kann folgendes Verfahren eingesetzt werden.

Die Liste wird Zeile für Zeile von oben geprüft und die bestehenden Paare abgeglichen. Es werden diejenigen Reihen gestrichen, zu denen in der Liste noch weitere der geprüften Paarkombination vorliegen, um Duplikate auszuschließen. Dieser Vorgang wird solange wiederholt, bis schließlich alle gültigen Paarkombinationen für die Testfälle nur noch jeweils einmal vorhanden sind.

ALT MISSING
Abb. 9: vollständige Paarkombinationen

In der Tabelle sind für die erste Zeile die Kombination der Paare (Europa/VISA, VISA/Firma, Firma/Europa) andere mögliche Paare in der Liste ersichtlich, daher kann diese Zeile gestrichen werden. In der zweiten Zeile (Europa/VISA, VISA/Individual, Individual/Europa) taucht Europa/VISA an anderer Stelle der Liste nicht mehr auf, weshalb die Zeile erhalten bleibt. Zeile 5 bleibt erhalten, da die Kombination Firma/Europa nur noch hier vorliegt. Stattdessen wird Zeile 6 entfernt, deren Kombinationen an anderer Stelle in der Liste zu finden sind.

ALT MISSING
Abb. 10: Entfernen vorhandener Kombinationen

Dieses Verfahren wird durchgängig angewandt, bis am Ende die gültigen Paare übrigbleiben. In unserem Beispiel sind es schließlich die folgenden 12 Zeilen, die erhalten bleiben:

ALT MISSING
Abb. 11: gültige Paare

Durch die Kombination aller gültigen Paare im Bestellvorgang entstehen schließlich 12 Testfälle, deren Zusammenstellung eine hohe systematische Abdeckung bietet.

Welche der beiden Methoden verwendet wird, hängt einerseits von der persönlichen Neigung ab, andererseits ist Variante B ab einer hohen Anzahl von Kombinationsmöglichkeiten weniger übersichtlich und schwieriger zu handhaben.

Problem Testfallexplosion

Bereits durch eine kleine Erweiterung dieses Beispiels wird deutlich, wie schnell es zur bereits genannten „Testfallexplosion“ kommen kann. Erweitert man die Möglichkeiten geringfügig, steigt die Anzahl der Möglichkeiten von vorher 24 bereits auf 300 (3x5x5x2x2):

ALT MISSING
Abb. 12: Testfallexplosion

Die beschriebene paarweise Zusammenstellung reduziert die Anzahl der Möglichkeiten in diesem Beispiel auf 25.

Die Anzahl insgesamt möglicher Testfälle wird bei komplexeren Sachverhalten sehr schnell durch eine größere Auswahl an unabhängigen Variablen in die Höhe schnellen. Die Technik des Paarweisen Testens macht diese Menge beherrschbar.

Zur Ermittlung der gültigen Kombinationen der Testfälle für das Paarweise Testen sollte in diesen umfangreichen Fällen unterstützend ein Werkzeug zur automatisierten Erstellung eingesetzt werden.

Mehrwert

Durch die Technik des Paarweisen Testens gelingt es, bei richtiger Auswahl der Testfälle eine hohe Testabdeckung bei gleichzeitiger Reduktion der Kombinationen sicherzustellen.

In Ergänzung zu anderen Techniken, wie z.B. dem Risikobasierten Testen ist das Paarweise Testen eine effektive Methode zur Auswahl der Testfälle. Beruhend auf der o.g. Beobachtung, dass Fehler häufig durch das Zusammenspiel von höchstens zwei Faktoren entstehen, reduziert sich die Anzahl der Testfälle. Dadurch können Tests kostengünstiger, schneller und einfacher durchgeführt werden.

Fehler, die durch das Zusammenspiel von drei oder mehr Faktoren entstehen sind so selten, dass sie den größeren Investitionsaufwand in die Suche i.d.R. nicht rechtfertigen.

Herausforderungen

Die Methode des Paarweisen Testens ist kein Selbstläufer, sondern muss nach Analyse der Testenden um deren Wissen um die Funktionen der Software und die geeigneten Werte ergänzt werden. So kann die Effektivität der Paarweisen Tests z.B. bei unbekannten Abhängigkeiten der Variablen untereinander oder bei unrealistischen Wertekombinationen eingeschränkt sein.

Werkzeuge

Es existiert eine Reihe quelloffener und kostenloser Tools zur Unterstützung bei der Erstellung der Testfälle mit den paarweisen Kombinationen. Diese Werkzeuge erleichtern die paarweise Zusammenstellung, können allerdings nicht die genannte fachliche Expertise bei der Ermittlung und Priorisierung der wirksamsten Eingabewerte ersetzen.

Quellen