Glossar · Testdesign
Pairwise-Testing
Englisch: Pairwise testing
Auch genannt: paarweises Testen, All-Pairs-Testing, Paarweise Kombination
Definition
Eine kombinatorische Technik, die eine kleine Menge von Testfällen auswählt, in der jedes Paar von Parameterwerten mindestens einmal gemeinsam vorkommt.
Pairwise-Testing (paarweises Testen, All-Pairs-Testing) reduziert die Zahl der nötigen Kombinationen, wenn ein Feature mehrere Parameter hat. Statt jede mögliche Kombination zu testen, wählt es eine Menge von Tests, in der jeder Wert jedes Parameters mindestens einmal mit jedem Wert jedes anderen Parameters gepaart wird. Die Idee beruht auf einer praktischen Beobachtung: Die meisten konfigurationsbedingten Fehler werden durch einen einzelnen Parameter oder durch das Zusammenspiel von zwei Parametern ausgelöst, und weit weniger erfordern drei oder mehr bestimmte Werte gleichzeitig.
Beispiel
Eine Web-App muss mit diesen Optionen funktionieren:
- Browser: Chrome, Firefox, Safari
- Betriebssystem: Windows, macOS, Linux
- Sprache: Englisch, Deutsch, Japanisch
Alle Kombinationen ergeben 3 x 3 x 3 = 27 Tests. Eine paarweise Auswahl braucht nur 9:
| # | Browser | Betriebssystem | Sprache |
|---|---|---|---|
| 1 | Chrome | Windows | Englisch |
| 2 | Chrome | macOS | Deutsch |
| 3 | Chrome | Linux | Japanisch |
| 4 | Firefox | Windows | Deutsch |
| 5 | Firefox | macOS | Japanisch |
| 6 | Firefox | Linux | Englisch |
| 7 | Safari | Windows | Japanisch |
| 8 | Safari | macOS | Englisch |
| 9 | Safari | Linux | Deutsch |
Prüfen Sie zwei beliebige Spalten: Jedes Paar kommt vor. Chrome mit Linux steht in Zeile 3, macOS mit Japanisch in Zeile 5, Safari mit Deutsch in Zeile 9. Mit mehr Parametern wächst die Ersparnis schnell. Zehn Parameter mit je drei Werten ergeben 59.049 Kombinationen, während eine paarweise Auswahl je nach Generator alle Paare mit etwa 15 bis 20 Tests abdecken kann.
Constraints
Reale Systeme haben unmögliche Kombinationen. Safari gibt es nicht für Linux, also muss Zeile 9 ersetzt werden. Gute Generatoren erlauben es, solche Einschränkungen (Constraints) zu deklarieren und die Menge dann neu aufzubauen, sodass jedes gültige Paar weiterhin abgedeckt ist. Zu den Tools, die paarweise Testmengen erzeugen, gehören PICT von Microsoft und die AllPairs-Skriptfamilie.
Wann Sie sich nicht darauf verlassen sollten
- Bekannte riskante Kombinationen. Wenn eine bestimmte Dreierkombination wichtig ist (Zahlungsart, Währung und Land), ergänzen Sie sie explizit.
- Regeln, die von mehreren Eingaben gemeinsam abhängen. Nutzen Sie eine Entscheidungstabelle, um Geschäftslogik zu erfassen; Pairwise dient der Abdeckung von Konfigurationen und unabhängigen Optionen.
- Einzelne kritische Parameter. Pairwise ersetzt nicht die Äquivalenzklassenbildung und Grenzwertanalyse für die Werte jedes einzelnen Parameters.
Varianten mit höherer Stärke (3-wise oder allgemein t-wise) decken jedes Tripel oder größere Tupel ab, auf Kosten von mehr Tests.