Paarweises Testen
Kurz gesagt: Alle Kombinationen wachsen als Produkt: 3 × 3 × 3 × 3 = 81. Das paarweise Testen verlangt nur, dass sich jedes Paar von Werten zweier Parameter in mindestens einem Test trifft, und hier reichen 9. Die Erfahrung zeigt, dass die meisten Fehler von einem oder zwei Parametern abhängen. Die, die von drei gleichzeitig abhängen, können Paare übersehen.
Problem
27 Tests oder 9
Der Shop beginnt, in Griechenland und Rumänien zu verkaufen. Der Tester muss die Bestellung mit jeder Zahlungsart, jeder Lieferart und jedem Land prüfen:
- Zahlung: Karte, Nachnahme, Überweisung;
- Lieferung: an die Adresse, an eine Filiale des Paketdienstes, an eine Packstation;
- Land: Bulgarien, Griechenland, Rumänien.
Alle Kombinationen sind 3 × 3 × 3 = 27. Eine manuelle Bestellung von Anfang bis Ende dauert 10 Minuten. Viereinhalb Stunden. Morgen kommt ein vierter Parameter dazu, das Gerät (Handy, Tablet, Computer), und es werden 81.
Vollständiges Testen ist auch hier unmöglich, nur schneller.
Die Idee
Paare
Die meisten Fehler hängen nicht von allem gleichzeitig ab. Sie hängen von einem Wert ab („Überweisung funktioniert nicht“) oder von zwei („Nachnahme funktioniert für Rumänien nicht“). Fehler, die nur bei drei genauen Werten gleichzeitig auftreten, sind seltener.
Darauf baut das paarweise Testen auf. Es verlangt nicht alle Kombinationen. Es verlangt, dass sich jedes Paar von Werten zweier Parameter in mindestens einem Test trifft. Karte mit Filiale, Karte mit Rumänien, Filiale mit Rumänien und so weiter für alle Paare.
Hier reichen 9 Tests, für drei Parameter und für vier:
| # | Zahlung | Lieferung | Land | Gerät |
|---|---|---|---|---|
| 1 | Karte | an die Adresse | Bulgarien | Handy |
| 2 | Karte | an die Filiale | Griechenland | Tablet |
| 3 | Karte | an die Packstation | Rumänien | Computer |
| 4 | Nachnahme | an die Adresse | Griechenland | Computer |
| 5 | Nachnahme | an die Filiale | Rumänien | Handy |
| 6 | Nachnahme | an die Packstation | Bulgarien | Tablet |
| 7 | Überweisung | an die Adresse | Rumänien | Tablet |
| 8 | Überweisung | an die Filiale | Bulgarien | Computer |
| 9 | Überweisung | an die Packstation | Griechenland | Handy |
Nimm zwei beliebige Spalten. Jedes ihrer neun Paare steht irgendwo in der Tabelle, genau einmal. 81 Kombinationen, 9 Tests.
Probier es aus
Wie viele?
Die Idee
Was sie übersehen
Paare sind eine Wette. Wenn sich der Fehler nur bei drei Werten gleichzeitig zeigt (Nachnahme, an die Packstation, Rumänien) und dieses Tripel nicht unter den neun Zeilen ist, rutscht er durch.
Das Verfahren ist also nicht für alles:
- für viele, fast unabhängige Parameter ist es hervorragend: Einstellungen, Browser und Geräte, Zahlungs- und Lieferarten;
- für eine Regel mit einer Zahl gibt es Grenzwerte, für Kombinationen, die die Regel aufzählt, die Entscheidungstabelle, für einen Pfad den Zustandsautomaten;
- für riskante Tripel werden Tests von Hand ergänzt, oder es wird eine Tabelle von Tripeln gebaut.
Es gibt auch unmögliche Kombinationen. Wenn zum Beispiel Nachnahme an die Packstation nicht angeboten wird, ist dieses Paar verboten, und die Tabelle wird ohne es gebaut. Und ein eigener Test prüft, dass der Shop es wirklich nicht zulässt.
Die Tabelle oben ist einfach, weil alle Parameter je drei Werte haben. Im echten Leben haben sie das nicht, und Tabellen werden mit einem Werkzeug gebaut, nicht von Hand.
Genauer, für Neugierige
Im ISTQB CTFL v4.0 gehört das paarweise Testen nicht zum Lehrplan: Dort gibt es vier Blackbox-Verfahren (Äquivalenzklassen, Grenzwerte, Entscheidungstabellen, Übergänge). Kombinatorische Verfahren wie das paarweise Testen und der Klassifikationsbaum stehen in den höheren Lehrplänen, für den Testanalysten (Advanced Level Test Analyst). Sie sind hier, weil sie jeden Tag benutzt werden und weil sie die Frage beantworten: „Was mache ich, wenn die Entscheidungstabelle 1024 Spalten hat?“
Die Idee, dass die meisten Ausfälle durch das Zusammenspiel weniger Parameter ausgelöst werden, stützen NIST-Studien echter Systeme. Es gibt viele Werkzeuge für paarweise Tabellen: zum Beispiel PICT von Microsoft, das Open Source ist. Sie unterstützen auch Einschränkungen (verbotene Paare) und höhere Stärken: jedes Tripel, jedes Quadrupel.
Die Tabelle in der Lektion ist ein orthogonales Array L9: 9 Zeilen für 4 Parameter mit je 3 Werten. In ihr kommt jedes Paar genau einmal vor. Werkzeuge erzeugen meist Tabellen, in denen sich manche Paare wiederholen, weil die Parameter unterschiedlich viele Werte haben.
Übung
Das fehlende Paar
1. Die kaputte Tabelle. Jemand hat eine Zeile der paarweisen Tabelle geändert.
Test
Teste dich
Verwandte Lektionen
Abschnitt „Verwandte Lektionen“- Baut auf: Warum Programme versagen · Äquivalenzklassen · Entscheidungstabellen
- Aufgaben zum Thema: Testentwurfsverfahren