Sobes.tech
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).