Wat is de techniek van de analyse van equivalenceklassen en hoe wordt deze toegepast in softwaretesten?
sobes.tech AI
Antwoord van AI
De techniek van analyse van equivalenceklassen (Equivalence Partitioning) is een testontwerp-methode gebaseerd op het verdelen van invoergegevens (of uitgangsvoorwaarden) in klassen, waarvan vertegenwoordigers door het programma op vergelijkbare wijze worden verwerkt. Het wordt als voldoende beschouwd om één vertegenwoordiger uit elke klasse te testen om de hele klasse te dekken.
Belangrijkste idee: Als een test op een vertegenwoordiger van een klasse een fout ontdekt, zal waarschijnlijk een test op een andere vertegenwoordiger van dezelfde klasse ook een fout ontdekken. Als een test op een vertegenwoordiger geen fout ontdekt, zal waarschijnlijk een test op een andere vertegenwoordiger van dezelfde klasse ook geen fout ontdekken.
Toepassing:
- Identificatie van equivalenceklassen:
- Bepaal toegestane en niet-toegestane klassen voor elk invoerveld (numeriek bereik, reeks strings, booleaanse waarden, enzovoort).
- Voor numerieke bereiken:
- Toegestane bereik.
- Nummers kleiner dan de ondergrens (niet-toegestane klasse).
- Nummers groter dan de bovengrens (niet-toegestane klasse).
- Voor reeks waarden:
- Toegestane waarden.
- Niet-toegestane waarden (bijvoorbeeld strings in een numeriek veld).
- Bijvoorbeeld, voor het veld "Leeftijd" van 18 tot 65 jaar:
- Toegestane klasse: 18-65 (bijvoorbeeld 25, 40, 60)
- Niet-toegestane klasse: < 18 (bijvoorbeeld 17, 0)
- Niet-toegestane klasse: > 65 (bijvoorbeeld 66, 100)
- Creëer testgevallen:
- Kies één vertegenwoordiger uit elke geïdentificeerde klasse (toegestaan en niet-toegestaan).
- Maak testgevallen met de geselecteerde vertegenwoordigers als invoergegevens.
Voorbeeld:
Bestelformulier, veld "Hoeveelheid", toegestane waarde van 1 tot 99.
| Equivalenceklasse | Type | Vertegenwoordigers voor testen |
|---|---|---|
| Minder dan 1 | Niet-toegestaan | 0, -5 |
| Van 1 tot 99 | Toegestaan | 1, 50, 99 |
| Meer dan 99 | Niet-toegestaan | 100, 1000 |
| Niet-numerieke waarden | Niet-toegestaan | "abc", " " |
Van elke klasse wordt ten minste één vertegenwoordiger gekozen om een testgeval te maken. Bijvoorbeeld, voor dit veld zullen er minimaal 4-6 testgevallen zijn die alle geïdentificeerde klassen dekken.
Voordelen:
- Vermindert de redundantie van testgevallen.
- Helpt het testproces te systematiseren.
- Zorgt voor een goede testdekking met minder gevallen in vergelijking met het testen van elke mogelijke invoerwaarde.
Nadelen:
- Kan fouten op grenswaarden niet detecteren (wordt vaak in combinatie met grenswaardetesten gebruikt).
- De effectiviteit hangt af van de juiste identificatie van de equivalenceklassen.