Middle
Jak można zastosować równoważny podział dla pola wejściowego znaków?
sobes.tech AI
Odpowiedź od AI
Można podzielić pole wejściowe na następujące klasy równoważności:
- Dozwolone klasy:
- Ciąg znaków składający się z dozwolonych znaków (np. litery, cyfry, określone znaki specjalne dozwolone przez specyfikację).
- Ciąg znaków odpowiadający minimalnej dozwolonej długości.
- Ciąg znaków odpowiadający maksymalnej dozwolonej długości.
- Ciąg znaków o poprawnym formacie (jeśli jest to wymagane, np. adres email).
- Niedozwolone klasy:
- Ciąg znaków zawierający niedozwolone znaki.
- Pusty ciąg znaków (lub ciąg krótszy od minimalnej dozwolonej długości).
- Ciąg znaków dłuższy od maksymalnej dozwolonej długości.
- Ciąg znaków o nieprawidłowym formacie.
- Ciąg znaków składający się wyłącznie z spacji.
- Ciąg znaków zawierający wyłącznie znaki specjalne (jeśli nie są dozwolone).
Przykłady przypadków testowych opartych na podziale na klasy równoważności:
| Klasa równoważności | Dane wejściowe | Oczekiwany wynik |
|---|---|---|
| Dozwolone znaki, poprawna długość | "TestString123" | Przyjęto |
| Tylko dozwolone znaki, minimalna długość | "a" | Przyjęto |
| Tylko dozwolone znaki, maksymalna długość | "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!"#$%&'()*+,-./:;<=>?@[\]^_`{ | }~"{/* ... (ciąg o maksymalnej długości) ... */}" |
| Niedozwolone znaki | "Test!@#$%^&*" | Odrzucono (błąd walidacji) |
| Pusty ciąg | "" | Odrzucono (błąd walidacji) |
| Ciąg dłuższy od maksymalnego | "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!"#$%&'()*+,-./:;<=>?@[\]^_`{ | }~"{/* ... (ciąg dłuższy od limitu) ... */}" |
| Tylko spacje | " " | Odrzucono (błąd walidacji lub przycięcie, w zależności od wymagań) |
Przy wyborze danych testowych z każdej klasy należy również stosować analizę wartości granicznych (np. minimalna długość, maksymalna długość, znaki na granicach dozwolonych zakresów ASCII/Unicode).