Middle
Jak lze aplikovat ekvivalentní rozdělení pro vstupní pole znaků?
sobes.tech AI
Odpověď od AI
Do vstupního pole pro znaky lze rozdělit do následujících tříd ekvivalentnosti:
- Povolené třídy:
- Řetězec složený z povolených znaků (například písmena, číslice, určité speciální znaky povolené specifikací).
- Řetězec odpovídající minimální povolené délce.
- Řetězec odpovídající maximální povolené délce.
- Řetězec s platným formátem (je-li potřeba, například e-mailová adresa).
- Nepovolené třídy:
- Řetězec obsahující nepovolené znaky.
- Prázdný řetězec (nebo řetězec kratší než minimální povolená délka).
- Řetězec delší než maximální povolená délka.
- Řetězec s neplatným formátem.
- Řetězec složený pouze z mezer.
- Řetězec obsahující pouze speciální znaky (pokud nejsou povoleny).
Příklady testovacích případů založených na rozdělení do tříd ekvivalentnosti:
| Ekvivalentní třída | Vstupní data | Očekávaný výsledek |
|---|---|---|
| Povolené znaky, platná délka | "TestString123" | Přijato |
| Pouze povolené znaky, minimální délka | "a" | Přijato |
| Pouze povolené znaky, maximální délka | "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!"#$%&'()*+,-./:;<=>?@[\]^_`{ | }~"{/* ... (řetězec s maximální délkou) ... */}" |
| Nepovolené znaky | "Test!@#$%^&*" | Zamítnuto (chyba validace) |
| Prázdný řetězec | "" | Zamítnuto (chyba validace) |
| Řetězec delší než maximální | "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!"#$%&'()*+,-./:;<=>?@[\]^_`{ | }~"{/* ... (řetězec delší než limit) ... */}" |
| Pouze mezery | " " | Zamítnuto (chyba validace nebo oříznutí, podle požadavků) |
Při výběru testovacích dat z každé třídy je třeba také použít analýzu hraničních hodnot (například minimální délka, maximální délka, znaky na hranicích povolených ASCII/Unicode rozsahů).