Middle
Hoe kan je een equivalente verdeling toepassen voor een tekeninvoerveld?
sobes.tech AI
Antwoord van AI
De invoerveld voor tekens kan worden onderverdeeld in de volgende equivalentieklassen:
- Toegestane klassen:
- Een tekenreeks bestaande uit toegestane tekens (bijvoorbeeld letters, cijfers, bepaalde speciale tekens toegestaan door de specificatie).
- Een tekenreeks die voldoet aan de minimale toegestane lengte.
- Een tekenreeks die voldoet aan de maximale toegestane lengte.
- Een tekenreeks met een geldig formaat (indien nodig, bijvoorbeeld een e-mailadres).
- Niet-toegestane klassen:
- Een tekenreeks die niet-toegestane tekens bevat.
- Een lege tekenreeks (of een tekenreeks die korter is dan de minimale toegestane lengte).
- Een tekenreeks die langer is dan de maximale toegestane lengte.
- Een tekenreeks met een ongeldig formaat.
- Een tekenreeks die alleen uit spaties bestaat.
- Een tekenreeks die alleen uit speciale tekens bestaat (indien niet toegestaan).
Voorbeelden van testgevallen gebaseerd op de verdeling in equivalentieklassen:
| Equivalentieklasse | Invoergegevens | Verwacht resultaat |
|---|---|---|
| Toegestane tekens, geldige lengte | "TestString123" | Geaccepteerd |
| Alleen toegestane tekens, minimale lengte | "a" | Geaccepteerd |
| Alleen toegestane tekens, maximale lengte | "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!"#$%&'()*+,-./:;<=>?@[\]^_`{ | }~"{/* ... (string met maximale lengte) ... */}" |
| Niet-toegestane tekens | "Test!@#$%^&*" | Afgewezen (validatiefout) |
| Lege string | "" | Afgewezen (validatiefout) |
| String langer dan de maximale lengte | "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!"#$%&'()*+,-./:;<=>?@[\]^_`{ | }~"{/* ... (string langer dan de limiet) ... */}" |
| Alleen spaties | " " | Afgewezen (validatiefout of trimming, afhankelijk van de eisen) |
Bij het selecteren van testgegevens uit elke klasse moet ook een analyse van grenswaarden worden toegepast (bijvoorbeeld minimale lengte, maximale lengte, tekens aan de grenzen van de toegestane ASCII/Unicode-bereiken).