Äquivalenzklassen-Partitionierung

Äquivalenzklassen-Partitionierung
MIN
04 Sep. 2023

Beim Testen jeder Art von Anwendung ist es fast unmöglich oder sehr zeitaufwändig, alle Eingabekombinationen zu testen. Um die Anwendung effizient zu testen, verwenden wir daher Softwaretesttechniken wie die Split-Class-Equivalence-Technik.

Mit dieser Technik können wir Softwareanwendungen mit einer begrenzten Anzahl von Testdaten effizient testen. Schauen wir uns diese Technik nun im Detail an.

Wie ist die Verteilung der Äquivalenzklassen?

Die Äquivalenzklassenpartitionierung ist eine Black-Box-Test- oder spezifikationsbasierte Testtechnik, bei der wir die Eingabedaten in logische Partitionen, so genannte Äquivalenzklassen, einteilen.

Es wird davon ausgegangen, dass alle Daten, die in der Äquivalenzklasse liegen, von der zu testenden Softwareanwendung auf die gleiche Weise verarbeitet werden, wenn sie als Eingabe übergeben werden.

Anstatt alle Kombinationen von Eingabetestdaten zu testen, können wir also beliebige Testdaten aus einer bestimmten Äquivalenzklasse auswählen und an die Anwendung weitergeben und davon ausgehen, dass sich die Anwendung bei anderen Testdaten dieser Klasse genauso verhält.

Beispiel

Nehmen wir das Beispiel einer Anwendung, die als Eingabe eine numerische Zahl mit einem Wert zwischen 10 und 100 annimmt und deren andere Seite erkennt. Nun können wir mit Hilfe der Äquivalenzklassenprüfung die folgenden Äquivalenzklassen erstellen:

ÄquivalenzklasseErläuterung
Zahlen von 10 bis 100Diese Klasse enthält Testdaten für das positive Szenario.
Ziffern von 0 bis 9Diese Klasse enthält Testdaten, die durch die Anwendung begrenzt sind, da sie nur mit den Zahlen 10 bis 100 arbeiten soll.
Größer als 100Diese Klasse enthält wiederum Testdaten, die durch die Anwendung eingeschränkt sind, diesmal jedoch für Tests mit oberen Grenzen.
Negative ZahlenDa negative Zahlen anders gehandhabt werden können, werden wir eine andere Klasse für negative Zahlen erstellen, um die Robustheit der Anwendung zu überprüfen.
BriefeDiese Klasse wird verwendet, um die Robustheit einer Anwendung mit nicht-numerischen Zeichen zu testen.
Besondere ZeichenWie bei der Äquivalenzklasse für Buchstaben können wir auch für Sonderzeichen eine eigene Äquivalenzklasse einrichten.

Identifizierung von Äquivalenzklassen

Erörtern wir nun einige Punkte bzw. bewährte Verfahren zur Ermittlung von Äquivalenzklassen:

  • Es müssen alle Arten von Testdaten für positive und negative Testszenarien erfasst werden. Die Testdatenklassen sollten so erstellt werden, dass sie alle Testszenarien abdecken, aber gleichzeitig keine Redundanz aufweisen.
  • Wenn die Möglichkeit besteht, dass Prüfdaten in einer bestimmten Klasse unterschiedlich behandelt werden, dann ist es besser, diese Äquivalenzklasse aufzuteilen.

Im obigen Beispiel funktioniert die Anwendung nicht mit Zahlen, die kleiner als 10 sind. Anstatt also eine Klasse für Zahlen unter 10 zu erstellen, haben wir zwei Klassen erstellt – Zahlen 0-9 und negative Zahlen. Es besteht nämlich die Möglichkeit, dass die Anwendung mit negativen Zahlen anders arbeitet.

Vorteile der Prüfung gleichwertiger Klassen

  • Durch die Verwendung von Äquivalenzklassentests wird die Anzahl der Testfälle bei gleichbleibender Testabdeckung erheblich reduziert.
  • Diese Testtechnik hilft, ein Qualitätsprodukt in kürzester Zeit zu liefern.
  • Es eignet sich hervorragend für Softwareprojekte, bei denen Zeit- und Ressourcenbeschränkungen bestehen.

Nachteile der Prüfung gleichwertiger Klassen

  • Der gesamte Erfolg der Äquivalenzklassenprüfung hängt von der Identifizierung der Äquivalenzklassen ab. Die Identifizierung dieser Klassen hängt von den Fähigkeiten der Tester ab, die die Klassen und die darauf basierenden Testfälle erstellen.
  • Bei komplexen Anwendungen ist es sehr schwierig, die gesamte Menge der Äquivalenzklassen zu ermitteln, und erfordert ein hohes Maß an Fachwissen seitens des Prüfers.
  • Falsch identifizierte Äquivalenzklassen können zu einer geringeren Testabdeckung und der Möglichkeit eines Fehlerlecks führen.