I casi limite sono input e condizioni inusuali o al confine dove i bug spesso si nascondono — input vuoti, confini, null, valori grandi, errori. I test efficaci vanno oltre il "percorso felice" per coprire questi, poiché i casi limite sono una fonte comune di difetti reali.
Perché è importante
The HAPPY PATH (normal, expected inputs) usually works. BUGS hide in EDGE CASES:
→ unusual inputs, boundaries, error conditions, unexpected states
→ testing only the happy path misses where defects actually occur
→ Thorough testing covers edge cases — that's where it adds the most value.
Categorie comuni di casi limite
EMPTY / NULL → empty string/list/collection, null/undefined, missing values
BOUNDARIES → min/max values, 0, -1, off-by-one (first/last element, limits)
LARGE / extreme → very large inputs, long strings, huge numbers, overflow
INVALID → wrong types, malformed data, out-of-range, special characters
ERROR conditions → network failures, exceptions, timeouts, unavailable dependencies
STATE → empty/initial state, concurrent access, unexpected sequences of actions
SPECIAL values → negative numbers, zero, duplicates, unicode/emoji, very small/large
