Middle
Как може да се приложи еквивалентно разделяне за поле за въвеждане на символи?
sobes.tech AI
Отговор от AI
Може да разделите полето за въвеждане на символи на следните класове на еквивалентност:
- Разрешени класове:
- Стринг, състоящ се от разрешени символи (например букви, цифри, определени специални символи, разрешени от спецификацията).
- Стринг, който съответства на минимално разрешената дължина.
- Стринг, който съответства на максимално разрешената дължина.
- Стринг с валиден формат (ако е необходимо, например имейл адрес).
- Нерегламентирани класове:
- Стринг, съдържащ недопустими символи.
- Празен стринг (или стринг по-къс от минимално разрешената дължина).
- Стринг, по-дълъг от максимално разрешената дължина.
- Стринг с невалиден формат.
- Стринг, състоящ се само от интервали.
- Стринг, съдържащ само специални символи (ако не са разрешени).
Примери за тестови случаи, базирани на разделянето на класове на еквивалентност:
| Клас на еквивалентност | Входни данни | Очакван резултат |
|---|---|---|
| Разрешени символи, валидна дължина | "TestString123" | Прието |
| Само разрешени символи, минимална дължина | "a" | Прието |
| Само разрешени символи, максимална дължина | "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!"#$%&'()*+,-./:;<=>?@[\]^_`{ | }~"{/* ... (стринг с максимална дължина) ... */}" |
| Недопустими символи | "Test!@#$%^&*" | Отхвърлено (грешка при валидирането) |
| Празен стринг | "" | Отхвърлено (грешка при валидирането) |
| По-дълъг от максималната | "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!"#$%&'()*+,-./:;<=>?@[\]^_`{ | }~"{/* ... (по-дълъг от лимита) ... */}" |
| Само интервали | " " | Отхвърлено (грешка при валидирането или изрязване, в зависимост от изискванията) |
При избора на тестови данни от всеки клас трябва да се прилага и анализ на граничните стойности (например, минимална дължина, максимална дължина, символи на границите на допустимите ASCII/Unicode диапазони).