Achtung! Dieser Artikel ist etwas technischer als sonst.. Wenn Sie also Tester sind oder sich für Qualitätssicherung interessieren, lesen Sie bitte weiter, wenn nicht, na ja, lesen Sie bitte trotzdem weiter, denn das Thema ist ziemlich interessant!
In diesem Artikel betrachten wir drei Konzepte und wie diese Konzepte beim Testen zusammenarbeiten:
Grenzwertanalyse
Äquivalenzpartitionierung
Entscheidungstabellen.
Wenn es um Softwaretests geht, besteht die Kunst darin, die richtigen Testfälle zu erstellen. Dies ist von entscheidender Bedeutung, um kritische Probleme, Fehler und Logikfehler frühzeitig zu erkennen.
Wie gehen Tester, darunter auch Technikfreaks, bei der Gestaltung dieser Testfälle vor?
Die Magie der Grenzwertanalyse (BVA)
Nehmen wir an, Sie stehen am Rand einer Klippe. Sie möchten doch nicht zu nah am Rand sein, oder? Beim Testen von Software verstecken sich Bugs gerne an den Klippen! Hier kommt die Grenzwertanalyse (BVA) ins Spiel.
BVA konzentriert sich auf das Testen der „Ränder“ oder Grenzen von Eingabebereichen, da Systeme oft anfangen zu wackeln, wenn man zu nahe an den Rand kommt. Indem wir diese Grenzen testen, können wir die heimtückischen Fehler erkennen, die uns sonst entgehen könnten.
Arten von Grenzen:
Inklusive: Exakte Minimal- und Maximalwerte.
Exklusiv: Knapp außerhalb des gültigen Bereichs.
Intern: Punkte innerhalb des Bereichs, die ihn in kleinere Teile unterteilen.
Beispiel: Für eine Alterseingabe von 18–60 Jahren würden die BVA-Testfälle Folgendes umfassen:
17 (ausschließliche untere Grenze)
18 (einschließlich Untergrenze)
19 und 59 (innere Grenzen)
60 (einschließlich Obergrenze)
61 (ausschließliche Obergrenze)
Wenn das System diese Grenzfälle bewältigen kann, ist es wahrscheinlich in einem guten Zustand!
Äquivalenzpartitionierung (ÄP): Die Kunst der Gruppierung
ÄP hilft Ihnen, die Anzahl der Testfälle zu reduzieren, indem es Eingaben in „Äquivalenzklassen“ oder Partitionen unterteilt. Von jeder Klasse wird erwartet, dass sie sich gleich verhält, sodass Sie nur einen Vertreter jeder Gruppe testen müssen. Das bedeutet weniger Arbeit, aber dennoch viel Abdeckung!
Gemeinsame Verwendung von EP und BVA zur Ableitung von Testfällen.
Stellen wir uns vor, wir testen ein Feld, das nur Ganzzahlen zwischen 1 und 99 zulässt. Wir können ein Diagramm verwenden, um den Entwurfsprozess unsers Tests zu visualisieren.
Ungültig – Zu niedrig | Gültig | Ungültig – zu hoch |
0 | 1 -99 | 100+ |
Auf einen kurzen Blick erkennt das Diagramm zwei gültige Tests: “1” und “99” – Überprüfen Sie die inklusiven Grenzen.
Sie können mindestens drei weitere gültige Tests ableiten: Indem Sie die Partitionen isolieren und einen Wert eingeben, der in jeden der drei Bereiche fällt (zu niedrig, gültig und zu hoch).
2 ungültige Tests: “0” und “100” – Überprüfen Sie die exklusiven Grenzen.
Jetzt können Sie drei weitere ungültige Tests ableiten: indem Sie versuchen, Buchstaben, Dezimalzahlen und Sonderzeichen zu verwenden.
Jetzt können Sie die Leistungsfähigkeit dieser Methoden erkennen, da Sie jetzt über insgesamt 10 potenzielle Testfälle verfügen!
Entscheidungstabellen: Der ultimative Kombiplaner
Entscheidungstabellen helfen Ihnen, alle möglichen Kombinationen von Bedingungen und die entsprechenden Aktionen abzubilden. Diese Methode stellt sicher, dass Sie keine kritischen Szenarien übersehen, insbesondere wenn es um komplexe Geschäftsregeln geht.
Erstellen einer Entscheidungstabelle:
Identifizieren Sie alle Bedingungen und ihre möglichen Werte.
Identifizieren Sie alle möglichen Aktionen oder Ergebnisse.
Erstellen Sie eine Tabelle mit Spalten für Bedingungen, Aktionen und Regeln.
Listen Sie alle möglichen Kombinationen von Bedingungen und die entsprechenden Aktionen auf.
Beispiel für eine Entscheidungstabelle:
Die Hauptidee besteht darin, herauszufinden, welche Testfälle aus den verschiedenen Kombinationen von Bedingungen abgeleitet werden können.
Das Beispiel, das wir verwenden werden, ist wie folgt: Buchung eines Hotelzimmers
Benutzer müssen über eine gültige ID verfügen
Stammbesucher erhalten 5 % Rabatt
Ein Zimmer muss verfügbar sein
Frauen, die häufig zu Besuch sind, erhalten eine Hautpflege-Geschenktasche
Entscheidungstabellenrahmen.
Schritt 1: Identifizieren Sie Bedingungen und Aktionen.
Schritt 2: Wie identifizieren Sie alle alternativen Bedingungskombinationen?
Diese Entscheidungstabelle verwendet boolesche Werte (JA/NEIN, EIN/AUS, Wahr/Falsch), sodass es für jede Bedingung immer nur zwei Zustände gibt. Mathematisch können Sie dies ausdrücken, indem Sie die Anzahl Ihrer Zustände mit der Potenz Ihrer Zustandsanzahl multiplizieren: 2^4 = 16 mögliche Alternativen.
An dieser Stelle können Sie Ihre alternativen Spalten hinzufügen. Um sie zu füllen, müssen Sie die binäre Partitionierung verwenden. Wenn Sie beispielsweise 16 Spalten in der ersten Bedingung verwenden, wird Zeile 8 als wahr markiert, die restlichen 8 werden als falsch markiert.
Für die nächste Bedingung: Teilen Sie jedes der T- und F-Segmente erneut in zwei Hälften. Füllen Sie das erste Viertel mit T, das zweite mit F, das dritte mit T und das vierte mit F.
Fahren Sie mit diesem Muster fort, bis Sie die Tabelle gefüllt haben.
Diese Tabelle stellt nun alle möglichen alternativen Bedingungen dar. Möglicherweise haben Sie auch bemerkt, dass unsere erste Bedingung lautete: „Gültige ID“. Wenn der Benutzer keine gültige ID hat, kann der Test nicht einmal fortgesetzt werden. Brauchen wir also alle Testfälle mit ungültigen IDs?
Die kurze Antwort lautet „Nein“, damit wir die Tabelle reduzieren und unsere Testlast verringern können.
Schritt 3: Verwenden Sie die Geschäftslogik, um den Aktionsabschnitt zu füllen
Mit der obigen Geschäftslogik können wir die Aktionen ausfüllen:
Jetzt sehen wir, dass nicht alle Bedingungen eine Aktion auslösen, also können wir diese Tabelle wieder auf die Tests reduzieren, die alle Fallergebnisse abdecken.
Und sobald Sie aus Ihren Bedingungen 7 Testfälle abgeleitet haben, sollten die entfernten Testfälle nicht ausgeführt werden, da dies gegen den zweiten Grundsatz des Testens verstoßen würde: Erschöpfendes Testen ist unmöglich. Da Sie beispielsweise bei 8 Bedingungen 256 Bedingungsalternativen haben, ist dies nicht sinnvoll, da die Fertigstellung sehr lange dauern wird.
Alles zusammenbringen
Grenzwertanalyse, Äquivalenzpartitionierung und Entscheidungstabellen klingen vielleicht nach Fachjargon, aber wenn man sie aufschlüsselt, handelt es sich allesamt um Konzepte, die zum Testen logisch sind.
Durch das Verständnis und die Anwendung dieser Techniken können Sie die Qualität Ihrer Testfälle erheblich verbessern und Ihre Chancen erhöhen, Fehler frühzeitig im Entwicklungsprozess zu finden.