Sobes.tech
Junior

Was ist die Technik der Äquivalenzklassenanalyse und wie wird sie in der Softwareprüfung angewendet?

sobes.tech KI

Antwort von AI

Die Technik der Äquivalenzklassenanalyse (Äquivalenzpartitionierung) ist eine Methode zur Gestaltung von Testfällen, die auf der Aufteilung der Eingabedaten (oder Ausgangsbedingungen) in Klassen basiert, deren Vertreter vom Programm ähnlich verarbeitet werden. Es gilt als ausreichend, einen Vertreter jeder Klasse zu testen, um die gesamte Klasse abzudecken.

Hauptidee: Wenn ein Test an einem Vertreter der Klasse einen Fehler aufdeckt, wird wahrscheinlich auch ein Test an einem anderen Vertreter derselben Klasse einen Fehler aufdecken. Wenn ein Test an einem Vertreter keinen Fehler aufdeckt, wird wahrscheinlich auch ein Test an einem anderen Vertreter derselben Klasse keinen Fehler aufdecken.

Anwendung:

  1. Identifikation der Äquivalenzklassen:
    • Es werden zulässige und unzulässige Klassen für jedes Eingabefeld bestimmt (numerischer Bereich, Zeichensatz, boolesche Werte usw.).
    • Für numerische Bereiche:
      • Zulässiger Bereich.
      • Zahlen kleiner als die untere Grenze (unzulässige Klasse).
      • Zahlen größer als die obere Grenze (unzulässige Klasse).
    • Für Wertmengen:
      • Zulässige Werte.
      • Unzulässige Werte (z.B. Zeichenketten in einem Zahlenfeld).
    • Beispiel: Für das Feld "Alter" von 18 bis 65 Jahren:
      • Zulässige Klasse: 18-65 (z.B. 25, 40, 60)
      • Unzulässige Klasse: < 18 (z.B. 17, 0)
      • Unzulässige Klasse: > 65 (z.B. 66, 100)
  2. Erstellung von Testfällen:
    • Es wird jeweils ein Vertreter aus jeder identifizierten Klasse ausgewählt (zulässig und unzulässig).
    • Es werden Testfälle mit den ausgewählten Vertretern als Eingabedaten erstellt.

Beispiel:

Bestellformular, Feld "Menge des Produkts", zulässiger Wert von 1 bis 99.

Äquivalenzklasse Typ Vertreter für Tests
Weniger als 1 Unzulässig 0, -5
Von 1 bis 99 Zulässig 1, 50, 99
Mehr als 99 Unzulässig 100, 1000
Nicht numerische Werte Unzulässig "abc", " "

Aus jeder Klasse wird mindestens ein Vertreter ausgewählt, um einen Testfall zu erstellen. Für dieses Feld ergeben sich mindestens 4-6 Testfälle, die alle identifizierten Klassen abdecken.

Vorteile:

  • Reduziert die Redundanz der Testfälle.
  • Hilft, den Testprozess zu systematisieren.
  • Gewährleistet eine gute Testabdeckung mit weniger Tests im Vergleich zum Testen jedes möglichen Eingabewerts.

Nachteile:

  • Kann Fehler bei Grenzwerten möglicherweise nicht erkennen (wird häufig in Kombination mit der Analyse von Grenzwerten verwendet).
  • Die Effektivität hängt von der korrekten Identifikation der Äquivalenzklassen ab.