Zum Inhalt springen

Suchen...

Pairwise Testing: Der kombinatorische Test

27 Kombinationen, aber nur Budget für neun Tests? Pairwise Testing zeigt, welche neun es sein müssen, und warum die trotzdem die meisten Interaktionsfehler finden.

Fachlich geprüft von Richard Seidl · 31. Juli 2026

Was ist Pairwise Testing?

NIST/NASA-Spannweiten zu Fehlerursachen, Pairwise TestingBereichsdiagramm der NIST- und NASA-Befunde zu Fehlerursachen in neun untersuchten Systemen (Kuhn/Wallace/Gallo 2004): Einzelwerte lösen je nach System zwischen 29 und 82 Prozent der Fehler aus, Paar-Interaktionen zwischen 47 und 97 Prozent, Dreier-Interaktionen zwischen 89 und 99 Prozent. Die Studie berichtet keine feste Kurve, die Bandbreite wird mit zunehmendem Interaktionsgrad enger, während der größte Zugewinn durchgängig beim Schritt von Einzelwerten zu Paaren liegt.025 %50 %75 %100 %82 %29 %Einzelwerte(t=1)97 %47 %Paar-Interaktionen(t=2)99 %89 %Dreier-Interaktionen(t=3)größter ZugewinnKuhn/Wallace/Gallo 2004, neun untersuchte Systeme (medizinische Geräte,Browser, HTTP-Server, verteilte Datenbanken)Werte streuen je nach System stark, die Autoren verweigern ausdrücklich eine verallgemeinerte Kurve.

Zum vollständigen Anzeigen nach rechts wischen oder mit den Pfeiltasten scrollen.

Pairwise Testing (deutsch: paarweises Testen, die wichtigste Spielart des kombinatorischen Tests) ist ein Testverfahren, das aus allen möglichen Wertekombinationen mehrerer Parameter eine kleine Testmenge auswählt, in der jede Paarung zweier Parameterwerte mindestens einmal vorkommt. Statt das komplette kartesische Produkt abzuarbeiten, wird das Zusammenspiel je zweier Parameter geprüft, und zwar garantiert für jedes Paar. Die Werkzeuge optimieren dabei kräftig, das theoretische Minimum treffen sie aber nicht zuverlässig; die Suche danach ist rechnerisch hart. Entscheidend ist die Garantie, nicht die letzte eingesparte Zeile.

Warum das trägt, ist empirisch untersucht, wenn auch nicht so glatt, wie es oft dargestellt wird. Kuhn, Wallace und Gallo haben 2004 für NIST und die NASA die Fehlerdatenbanken von neun realen Systemen ausgewertet, vom medizinischen Embedded-Gerät über Webbrowser und HTTP-Server bis zu einer verteilten wissenschaftlichen Datenbank. Der gemeinsame Befund: Fast alle Fehler hängen an wenigen zusammenwirkenden Parametern.

Die Zahlen dahinter gehen allerdings weit auseinander. Einzelne Parameterwerte lösten je nach System zwischen 29 und 82 Prozent der Fehler aus. Rechnet man Paar-Interaktionen dazu, liegt man zwischen 47 und 97 Prozent, bei Dreier-Interaktionen zwischen 89 und 99 Prozent. Die Studie berichtet nirgends eine feste Kurve, und die Autoren schreiben ausdrücklich, dass für eine Verallgemeinerung deutlich mehr Datensätze nötig wären.

Für die Praxis bleibt trotzdem ein klarer Schluss: Der Sprung von Einzelwerten zu Paaren bringt in jedem untersuchten System den mit Abstand größten Zugewinn, der Schritt zu Dreier-Interaktionen deutlich weniger. Wo genau die eigenen Zahlen liegen, hängt vom System ab. Dass Pairwise der wirtschaftlichste Einstieg ist, gilt über alle neun.

Der kombinatorische Test zählt zu den datenbasierten Testentwurfsverfahren. Über das Paar hinaus lässt er sich verallgemeinern: Bei der t-way-Überdeckung kommt jedes Tupel aus t Parameterwerten mindestens einmal vor, Pairwise ist der Fall t gleich 2.

Wann ist das Verfahren geeignet?

Überall dort, wo mehrere Parameter mit klar definierten Werten zusammenspielen und vollständiges Testen unwirtschaftlich wäre. Typische Felder: Konfigurationstests über Browser, Betriebssystem, Auflösung und Sprache; Geschäftsregeln mit mehreren Faktoren; Schnittstellen mit vielen optionalen Parametern; systematische Berechtigungstests.

Voraussetzung ist, dass sich der Eingaberaum als endliche Liste von Parametern mit endlich vielen Werten beschreiben lässt. Kontinuierliche Wertebereiche werden vorab per Äquivalenzklassenbildung auf wenige Repräsentanten reduziert. Beide Verfahren greifen also ineinander: Der Wertebereichstest geht in die Tiefe einzelner Klassen und ihrer Grenzen, der kombinatorische Test in die Breite über mehrere Parameter.

Der Spareffekt wächst mit der Parameterzahl. Bei zwei Parametern gibt es nichts zu holen, da ist die Vollkombination selbst klein. Ab drei Parametern mit mehreren Werten wird der Unterschied spürbar, ab vier Parametern liegt oft ein Faktor fünf bis zehn zwischen Vollkombination und Pairwise-Suite.

Vorgehen in fünf Schritten

  1. Parameter identifizieren. Welche Eingabeparameter beeinflussen das Verhalten gemeinsam?
  2. Werte pro Parameter bestimmen. Bei kontinuierlichen Bereichen vorab durch Äquivalenzklassen reduzieren.
  3. Interaktionsstufe wählen. Üblich ist Pairwise (t gleich 2); bei hoher Risikostufe oder bekannten Dreifach-Abhängigkeiten t gleich 3.
  4. Testfallmenge erzeugen. Ein Werkzeug berechnet den optimierten Testsatz, der alle Paare abdeckt.
  5. Ausführen und auswerten. Fällt bei Fehlerwirkungen ein bestimmtes Parameterpaar auf, deutet das auf einen Interaktionsfehler hin.

Ein kompaktes Beispiel

Pairwise-Matrix Mietwagen-BuchungDrei 3-mal-3-Pairwise-Matrizen für das Mietwagen-Beispiel, untereinander angeordnet, mit den Parametern Fahrzeugklasse (Kompakt, Kombi, SUV), Zahlungsart (Kreditkarte, PayPal, Rechnung) und Abholstation (Flughafen, Bahnhof, Innenstadt). Jede der drei möglichen Parameterpaarungen ist vollständig abgedeckt: Jede Zelle jeder Matrix trägt genau eine der neun Testfallnummern TF-1 bis TF-9. Kontrastiert mit der Vollkombination von 27 möglichen Kombinationen aller drei Parameter zusammen.Fahrzeugklasse × ZahlungsartKreditkartePayPalRechnungKompaktTF-1TF-2TF-3KombiTF-4TF-5TF-6SUVTF-7TF-8TF-9Zahlungsart × AbholstationFlughafenBahnhofInnenstadtKreditkarteTF-1TF-4TF-7PayPalTF-8TF-2TF-5RechnungTF-6TF-9TF-3Fahrzeugklasse × AbholstationFlughafenBahnhofInnenstadtKompaktTF-1TF-2TF-3KombiTF-6TF-4TF-5SUVTF-8TF-9TF-727 mögliche Kombinationen (3 × 3 × 3).Pairwise deckt alle mit nur 9 Testfällen ab.

Zum vollständigen Anzeigen nach rechts wischen oder mit den Pfeiltasten scrollen.

Die Buchungsstrecke eines Mietwagen-Portals hat drei Parameter mit je drei Werten: Fahrzeugklasse (Kompakt, Kombi, SUV), Zahlungsart (Kreditkarte, PayPal, Rechnung) und Abholstation (Flughafen, Bahnhof, Innenstadt). Die Vollkombination ergäbe 3 × 3 × 3 = 27 Testfälle. Eine paarweise optimierte Suite kommt mit neun aus:

TFFahrzeugklasseZahlungsartAbholstation
1KompaktKreditkarteFlughafen
2KompaktPayPalBahnhof
3KompaktRechnungInnenstadt
4KombiKreditkarteBahnhof
5KombiPayPalInnenstadt
6KombiRechnungFlughafen
7SUVKreditkarteInnenstadt
8SUVPayPalFlughafen
9SUVRechnungBahnhof

Nachzählen lohnt sich: Jede Fahrzeugklasse trifft jede Zahlungsart genau einmal, jede Zahlungsart jede Station, jede Klasse jede Station. Alle 27 Wertepaare sind abgedeckt, mit einem Drittel der Vollkombination.

Angenommen, im Testlauf schlägt TF 6 fehl: Beim Kauf auf Rechnung mit Abholung am Flughafen unterbleibt die Bonitätsprüfung, die für Rechnungszahlung vorgeschrieben ist, weil die Flughafen-Station einen eigenen, älteren Checkout-Pfad nutzt. Das ist eine Interaktion aus genau zwei Werten (Rechnung und Flughafen), unabhängig von der Fahrzeugklasse. Solche Paar-Fehler findet die Pairwise-Suite nicht zufällig, sondern garantiert, denn das Paar kommt in mindestens einem Testfall vor.

Überdeckung und Erfolgskriterien

Testfallzahlen im Vergleich, kombinatorischer TestBalkenvergleich der drei Testfallzahlen im Mietwagen-Beispiel: Vollkombination 27 Testfälle, Pairwise-Überdeckung 9 Testfälle, Basisauswahlüberdeckung 7 Testfälle.27Vollkombination9Pairwise-Überdeckung7Basisauswahl-überdeckungMietwagen-Beispiel: 3 Parameter × 3 Werte

Zum vollständigen Anzeigen nach rechts wischen oder mit den Pfeiltasten scrollen.

Zwei Kriterien ergänzen sich in der Praxis. Die Basisauswahlüberdeckung startet mit einem Basistestfall aus den repräsentativsten Werten und variiert dann je Parameter jeden weiteren Wert einzeln; im Mietwagen-Beispiel ergibt das 1 + (2 + 2 + 2) = 7 Testfälle. Sie stellt sicher, dass jeder Wert einmal vorkommt, sagt aber nichts über Wechselwirkungen. Die paarweise Überdeckung misst dagegen den Anteil der abgedeckten Wertepaare an allen möglichen; Ziel sind 100 Prozent.

Was die Stufen konkret bedeuten, zeigt das Beispiel: Drei Testfälle reichen, um alle neun Einzelwerte einmal zu zeigen, decken aber höchstens neun der 27 Paare ab, also ein Drittel. Die Pairwise-Suite mit neun Testfällen erreicht alle 27 Paare und nebenbei neun der 27 Dreier-Kombinationen. Wer alle Dreier-Kombinationen will, landet bei drei Parametern zwangsläufig bei der Vollkombination, denn 3-way und Vollkombination fallen hier zusammen. Als Faustregel bewährt sich: Pairwise als Standard, plus gezielte Zusatztests für einzelne Kombinationen mit besonderem Risiko.

Stärken und Grenzen

Die Stärke liegt auf der Hand: garantierte Paar-Abdeckung bei einem Bruchteil des Aufwands, gut automatisierbar, und das Parameter-Modell lässt sich über Releases wiederverwenden. Kommt eine vierte Fahrzeugklasse dazu, wird das Modell um einen Wert erweitert und die Suite neu generiert, statt Testfälle von Hand nachzuziehen.

Drei Grenzen gehören dazu. Erstens findet Pairwise keine Fehler, die ausschließlich aus dem Zusammenspiel von drei oder mehr Parametern entstehen; für bekannte Dreifach-Abhängigkeiten braucht es t gleich 3 oder gezielte Ergänzungen. Zweitens verlangen Constraints, also unzulässige Wertekombinationen (etwa: am Bahnhof keine SUV-Abholung), Werkzeugunterstützung, sonst enthält die Suite unausführbare Tests. Drittens ist die Paar-Überdeckung nur so gut wie die gewählten Repräsentanten; schlecht geschnittene Äquivalenzklassen bleiben schlecht, egal wie clever man sie kombiniert.

Die Rechenarbeit übernehmen Werkzeuge: ACTS (frei, von NIST gepflegt), PICT (frei, von Microsoft) oder Hexawise (kommerziell). Pairwise-Suiten von Hand zu konstruieren ist heute nur noch als Fingerübung interessant.

Verwandte Verfahren

Der Wertebereichstest liefert die Vorarbeit: Er bildet pro Parameter die Äquivalenzklassen, deren Repräsentanten der kombinatorische Test dann verbindet. Lösen die Kombinationen klare Geschäftsregeln aus, ergänzt der Entscheidungstabellentest, weil er jede Regel explizit macht. Einen Überblick über alle elf Verfahren gibt die Seite Testentwurfsverfahren.

Häufig gestellte Fragen

Pairwise Testing ist ein kombinatorisches Testverfahren, bei dem jede Paarung zweier Parameterwerte mindestens einmal in einem Testfall vorkommt, ohne dass alle Kombinationen aller Parameter getestet werden. Aus den 27 möglichen Kombinationen dreier Parameter mit je drei Werten werden so neun Testfälle, die trotzdem den Großteil der Interaktionsfehler finden.

Eine Untersuchung von Kuhn, Wallace und Gallo (NIST/NASA, 2004) an neun realen Systemen zeigt: Die meisten Fehler in mehrparametrigen Systemen entstehen durch das Zusammenspiel weniger Parameter. Einzelne Parameterwerte lösten je nach System 29 bis 82 Prozent der Fehler aus, mit Paar-Interaktionen zusammen 47 bis 97 Prozent, mit Dreier-Interaktionen 89 bis 99 Prozent. Der größte Zugewinn liegt in jedem untersuchten System beim Schritt von Einzelwerten zu Paaren; jede weitere Stufe bringt abnehmenden Grenznutzen bei steigendem Aufwand.

Die Vollkombination testet das komplette kartesische Produkt aller Parameterwerte, bei drei Parametern mit je drei Werten also 27 Testfälle. Pairwise Testing wählt daraus eine kleine Menge, in der jedes Wertepaar zweier Parameter mindestens einmal vorkommt, im selben Beispiel neun Testfälle. Garantiert ist dabei die Paar-Abdeckung, nicht das theoretische Minimum an Testfällen. Fehler, die erst durch drei oder mehr Parameter gemeinsam entstehen, findet Pairwise allerdings nicht garantiert.

Etablierte Werkzeuge sind ACTS (frei, von NIST gepflegt), PICT (frei, von Microsoft) und Hexawise (kommerziell). Sie berechnen aus Parametern und Werten optimierte Testsätze, unterstützen Constraints für unzulässige Kombinationen und können paarweise mit höhergradiger Überdeckung mischen.

Ab etwa drei Parametern mit jeweils mehreren Werten wird der Effekt deutlich, ab vier Parametern dramatisch. Typische Anwendungsfälle sind Konfigurationstests (Browser, Betriebssystem, Sprache), Geschäftsregeln mit mehreren Faktoren und Schnittstellen mit vielen optionalen Parametern. Bei nur zwei Parametern reicht meist die Vollkombination.

Die Basisauswahlüberdeckung wählt pro Parameter einen repräsentativen Basiswert und bildet daraus einen Basistestfall. Anschließend wird je Parameter jeder weitere Wert einmal variiert, während die übrigen Parameter auf ihrem Basiswert bleiben. Sie garantiert, dass jeder Parameterwert einmal vorkommt, prüft Wechselwirkungen aber nicht systematisch.

Erst die Basis schaffen

Der kombinatorische Test setzt auf Äquivalenzklassen und solidem Testentwurfs-Handwerk auf. Genau diese Basis schaffst du im ISTQB Foundation Level, systematisch und praxisnah.