Seminare der PW-Akademie

Äquivalenzklassenanalyse und Grenzwertanalyse

In diesem Artikel werden wir über die grundlegenden Testentwurfstechniken zur Erstellung besserer Testfälle für beispielsweise Software sprechen. Grundsätzlich sind ausführliche Tests für alle möglichen Ein- und Ausgaben aus finanziellen und zeitlichen Gründen nicht möglich, auch wenn automatisierte Tests Zeit sparen. Es ist ein einfaches Verfahren erforderlich, um aus einem großen Datensatz Testfälle auszuwählen, die alle Testsituationen abdecken. Um dies zu erreichen, verwenden wir zwei Testverfahren in Kombination: Die Äquivalenzklassenbildung und die Grenzwertanalyse. Es ist wichtig, zuerst von der Äquivalenzklassenanalyse zu sprechen, bevor wir die Grenzanalyse erklären und verstehen können.

Beschreibung der Äquivalenzklassenbildung

Das Ziel der Äquivalenzklassenbildung ist die Reduzierung der Testfälle durch die Bildung von Äquivalenzklassen. Die Äquivalenzklassenbildung ist eine Technik, die dazu dient, die Anzahl der Testfälle zu reduzieren, die erforderlich sind, um die Handhabung von Eingängen, Ausgängen, internen Werten und zeitbezogenen Werten effektiv zu testen. Die Partitionierung wird verwendet, um Äquivalenzpartitionen (oft Äquivalenzklassen genannt) zu erstellen, die aus Mengen von Werten gebildet werden die auf dieselbe Weise verarbeitet werden müssen und können. Durch die Auswahl eines repräsentativen Wertes aus einer Partition wird die Abdeckung aller Elemente in derselben Partition angenommen. In der Regel bestimmen mehrere Parameter das Verhalten des Testobjekts. Innerhalb der Äquivalenzpartitionen können verschiedene Parametern zu Testfällen kombiniert werden.

 

Wann eignet sich die Testverfahren Äquivalenzklassenbildung

Diese Technik ist auf jeder Testebene anwendbar und ist geeignet, wenn alle Mitglieder einer zu prüfenden Wertemenge gleich behandelt werden sollen und die von der Anwendung verwendeten Wertesätze nicht interagieren. Eine Äquivalenzklassenbildung kann eine beliebige nicht-leerer Menge von Werten sein, z. B. geordnet, ungeordnet, diskret, kontinuierlich, unendlich, endlich, oder sogar ein Singleton. Die Auswahl gilt für gültige und ungültige Werte (Partitionen, die Werte enthalten, die für die zu prüfende Software als ungültig betrachtet werden sollten). 

Die Äquivalenzklassenbildung kann in verschiedenen möglichen Kombinationen durchgeführt werden, z.B mit der Testmethode der Grenzwertanalyse. In diesem Fall erweitern sich die Testwerte an den Rändern der Partitionen.

Schritte:

  • 1. Gruppierung von gleichwertig behandelten Testbedingungen in gültige Äquivalenzklassen.
  • 2. Das Bilden von ungültigen Äquivalenzklassen durch Negation der gültigen Klassen
  • 3. Für jede gültige Äquivalenzklasse wird nur ein Testfall stellvertretend ausgeführt (statt alle einzeln)
  • 4. Für jede ungültige Äquivalenzklasse wird ebenfalls nur ein Testfall durchgeführt

 

Äquivalenzklassenbildung Beispiele

Eine Spezifikation verlangt den fehlerfreien Betrieb in einem Spannungsfeld zwischen 8 und 14 Volt.

Sie müssen die Anzahl der Testfälle durch Bildung von gültigen und ungültigen Äquivalenzklassen bestimmen.

Bildung der gültigen Äquivalenzklassen (ÄK): 

Bildung der ungültigen Äquivalenzklassen durch Negation: „Alles außerhalb des Spannungsbereichs“.

 

Ergebnis

Eine Spezifikation fordert einen fehlerfreien Betrieb in einem Spannungsfeld zwischen 8 und 14 Volt.

Die Anzahl der Testfälle durch Bildung von gültigen und ungültigen Äquivalenzklassen muss bestimmt werden.

 

Bildung der gültigen Äquivalenzklassen (ÄK): 

🡪 Spannungsbereich 8-14 Volt

 

Bildung der ungültigen Äquivalenzklassen durch Negation bilden: „alles außerhalb des Spannungsbereichs“ 

🡪 zwei ungültige Äquivalenzklassen:<8 Volt und >14 Volt.

 

Anzahl Testfälle: 

🡪 drei Testfälle notwendig; z.B. für Spannung = {4V, 11V, 16V}.

 

Die Grenzwertanalyse als Software Test

Das Ziel der Grenzwertanalyse ist die Identifizierung von Implementierungs- und Interpretationsfehlern an den Grenzen der einzelnen Klassen. Die Grenzwertanalyse wird verwendet, um die korrekte Behandlung von Werten und erwarteten Ergebnissen zu prüfen, die an den Grenzen von geordneten Äquivalenzklassen vorhanden sind.

In der Grenzwertanalyse werden alle möglichen Testfälle in Klassen eingeteilt. Dies dient dazu, die Anzahl der Testfälle auf eine überschaubare Anzahl zu reduzieren, die dennoch kritische Anforderungen abdecken.

Bestimmung der Überdeckung der Grenzwertanalyse:

 

Grenzwertanalyse Methode

Für die Grenzwertanalyse Methode sind zwei Ansätze gebräuchlich: die Prüfung der zweiwertigen Grenze oder die Drei-Wert-Grenzwertprüfung. Bei der zweiwertigen Grenzprüfung werden der Grenzwert (auf der Grenze) und der Wert, der knapp außerhalb der Grenze liegt (mit der kleinstmöglichen Genauigkeit, basierend auf der erforderlichen Genauigkeit) verwendet. Wenn beispielsweise bei Beträgen in einer Währung mit zwei Dezimalstellen die Partition die Werte von 1 bis 10 umfassen würde, wären die beiden Testwerte für die obere Grenze 9.99, 10 und 10.01, 10.02. Die Testwerte für die untere Grenze wären 1, 1.01 und 0.99, 0.98. Die Grenzen werden definiert durch die Höchst- und Mindestwerte in der definierten Äquivalenzklasse. 

Bei der dreistufigen Grenzprüfung werden die Werte vor und über der Grenze verwendet. In dem vorherigen Beispiel würden die oberen Grenzwerttests 9.98, 9.99, 10 und 10.01, 10.02, 10.03 umfassen. Die Tests für die untere Grenze würden 1, 1.01, 1.02 und 0.99, 0.98, 0.97 einschließen. Die Entscheidung, ob zwei- oder dreistufige Grenzwerttests verwendet werden sollen.

Die Entscheidung, ob zwei- oder dreistufige Grenzwerttests verwendet werden sollen, sollte auf der Grundlage des mit der zu prüfenden Position verbundenen Risikos getroffen werden, wobei der dreistufige Grenzwert Ansatz für die Posten mit höherem Risiko verwendet wird.

Schritte:

  • 1. Identifizierung und Definition der Äquivalenzklassen (Bsp. 1-10)
  • 2. Identifizierung der Grenzen (Bsp. 1 und 10)
  • 3. Auswahl der Testfälle an den Grenzen (0,1,10,11)
  • 4. Zur besseren Risikoorientierung fügen Sie auch einen Wert innerhalb der Klasse hinzu (0,1,2,9,10,11)

 

Vorteile der Grenzwertanalyse:

  • Erhebliche Reduzierung der Testfälle
  • Boundaries sind oft besonders fehleranfällig (< statt <=)
  • Grenzen werden beim Testen oft vergessen
  • Identifizierung von Grenzen sehr nützlich für das Verständnis des Programms
  • Durch gezieltes Nachfragen beim Entwickler nach den Grenzen werden oft schon Fehler gefunden

 

Nachteile der Grenzwertanalyse:

  • Mögliche falsche Annahmen bei der Bildung der Klassen
  • Ungeeignet für mehrere Fehlermeldungen (es kann immer nur eine Fehlerart getestet werden)
  • Große Konzentration auf die Grenzen einer Klasse und Vernachlässigung des Kerns
  • Zeitaufwändiger als Äquivalenzklassenbildung (genauere Ausarbeitung und Anzahl der Testfälle)

 

Grenzwertanalyse Beispiele

Die gültigen Grenzwerte für den Spannungsbereich 8-14 Volt!

Identifizierung der Grenzwerte: 

Identifizierung der Testfälle:

 

Ergebnis

Ermitteln Sie gültige Grenzwerte für den Spannungsbereich 8-14 Volt!
Identifikation der Grenzwerte: 8 und 14 Volt

 

Identifizierung der Testfälle: (7,9), (8,0), (14,0), (14,1) Volt (kann um 8,1 und 13,9 Volt erweitert werden).  Für dieses Beispiel: Für eine vollständige Grenzwertanalyse sind vier (oder sechs) Testfälle erforderlich.

 

Seminare zur Grenzwertanalyse und weiteren Themen

Nehmen Sie gerne an unseren Online- und Vor-Ort-Seminaren und Schulungen (teilweise mit Zertifizierung) teil, um sich in den Kategorien Software Testing, Software Qualitätssicherung oder Produktmanagement weiterzubilden. Empfehlen können wir unter anderem den CPPM Kurs, die Scrum Schulung, die Projektmanagement Weiterbildung oder die Prince2 Project Management Schulung. Wenden Sie sich bei Fragen gerne an uns! Wir freuen uns auf Ihre Teilnahme!

Reference

ISTQB Certified Tester Foundation Level Syllabus Version 2018 V3.1

ISTQB Certified Tester Advanced Level Syllabus v3.1.1

 

Zusammenfassung

Was ist Äquivalenzklassenbildung?+

Die Äquivalenzklassenbildung ist eine Technik, die dazu dient, die Anzahl der Testfälle zu reduzieren, die erforderlich sind, um die Handhabung von Eingängen, Ausgängen, internen Werten und zeitbezogenen Werten effektiv zu testen.

Was ist das Ziel der Äquivalenzklassenbildung?+

Das Ziel der Äquivalenzklassenbildung ist die Reduzierung der Testfälle durch die Bildung von Äquivalenzklassen.

Was sind die Schritte der Äquivalenzklassenbildung?+

  • 1. Gruppierung von gleichwertig behandelten Testbedingungen in gültige Äquivalenzklassen.
  • 2. Bildung von ungültigen Äquivalenzklassen durch Negation der gültigen Klassen
  • 3. Für jede gültige Äquivalenzklasse wird nur ein Testfall stellvertretend ausgeführt (statt alle einzeln)
  • 4. Für jede ungültige Äquivalenzklasse wird ebenfalls nur ein Testfall durchgeführt

Was ist eine Grenzwertanalyse?+

Die Grenzwertanalyse wird verwendet, um die korrekte Behandlung von Werten zu prüfen, die an den Grenzen von geordneten Äquivalenzklassen vorhanden sind.
In der Grenzwertanalyse werden alle möglichen Testfälle in Klassen eingeteilt. Dies dient dazu, die Anzahl der Testfälle auf eine überschaubare Anzahl zu reduzieren, die dennoch kritische Anforderungen abdecken.

Was ist das Ziel der Grenzwertanalyse?+

Das Ziel der Grenzwertanalyse ist die Identifizierung von Implementierungs- und Interpretationsfehlern an den Grenzen der einzelnen Klassen.

Was sind die einzelnen Schritte der Grenzwertanalyse?+

  • 1. Identifizierung und Definition der Äquivalenzklassen (Bsp. 1-10)
  • 2. Identifizierung der Grenzen (Bsp. 1 und 10)
  • 3. Auswahl der Testfälle an den Grenzen (0,1,10,11)
  • 4. Zur besseren Risikoorientierung fügen Sie auch einen Wert innerhalb der Klasse hinzu (0,1,2,9,10,11)

Was sind die Vorteile der Grenzwertanalyse?+

  • Erhebliche Reduzierung der Testfälle
  • Boundaries sind oft besonders fehleranfällig (< statt <=)
  • Grenzen werden beim Testen oft vergessen
  • Identifizierung von Grenzen sehr nützlich für das Verständnis des Programms
  • Durch gezieltes Nachfragen beim Entwickler nach den Grenzen werden oft schon Fehler gefunden

Was sind die Nachteile der Grenzwertanalyse?+

  • Mögliche falsche Annahmen bei der Bildung der Klassen
  • Ungeeignet für mehrere Fehlermeldungen (es kann immer nur eine Fehlerart getestet werden)
  • Große Konzentration auf die Grenzen einer Klasse und Vernachlässigung des Kerns
  • Zeitaufwändiger als Äquivalenzklassenbildung (genauere Ausarbeitung und Anzahl der Testfälle)