Vai al contenuto
SDETRole
SDETRole

Glossario · Progettazione dei test

Analisi dei valori limite

In inglese: Boundary value analysis

Detto anche: BVA, test dei valori limite, boundary testing, valori limite

Definizione

Una tecnica black-box di progettazione dei test che sceglie gli input sui bordi degli intervalli validi e subito attorno, dove si concentrano gli errori off-by-one.

L’analisi dei valori limite (BVA, boundary value analysis) testa i valori ai bordi di ogni intervallo di input, perché è lì che gli sviluppatori sbagliano: > invece di >=, < 60 invece di <= 60, un ciclo che gira una volta di troppo. Di norma si applica dopo il partizionamento in classi di equivalenza, che individua gli intervalli; la BVA sceglie poi i valori esatti sopra e attorno a ogni bordo.

Esempio: età accettata da 18 a 60

Un form di registrazione accetta età da 18 a 60 inclusi.

BVA a due valori (il limite e il suo vicino più prossimo fuori dall’intervallo):

Input Atteso
17 Rifiutato
18 Accettato
60 Accettato
61 Rifiutato

BVA a tre valori aggiunge il vicino all’interno di ogni limite:

Input Atteso
17, 18, 19 Rifiutato, Accettato, Accettato
59, 60, 61 Accettato, Accettato, Rifiutato

Sei test invece di 43 età valide possibili, e questi sei intercettano gli errori di confronto più comuni. Se il codice dice age > 18, il test con 18 fallisce. Se dice age < 60, fallisce il test con 60.

Oltre gli intervalli numerici

I limiti esistono ovunque ci sia un vincolo:

  • Lunghezza: uno username da 3 a 20 caratteri significa testare 2, 3, 20 e 21 caratteri.
  • Date e orari: un link valido per 30 minuti significa testare a 29:59, 30:00 e 30:01. Controlla anche la mezzanotte, la fine del mese e gli anni bisestili quando rilevanti.
  • Collezioni: un carrello vuoto, un articolo e il numero massimo di articoli consentiti più uno.
  • Importi: 99,99 €, 100,00 € e 100,01 € per una regola “spedizione gratuita da 100 €”.
  • Limiti tecnici: dimensione massima dei file, overflow degli interi, dimensione di pagina nelle API paginate.

Errori comuni

  • Testare solo il lato valido. 17 e 61 contano quanto 18 e 60.
  • Dare per scontato il limite. “Fino a 60” può voler dire che 60 è incluso oppure no. Chiedi e registra la risposta nei criteri di accettazione.
  • Ignorare tipo e precisione. Se il campo accetta decimali, il valore subito sotto 18 potrebbe essere 17,99, non 17.
  • Dimenticare i limiti nascosti. Una colonna del database o un’API possono imporre un limite diverso da quello della UI. Testa i limiti a ogni livello.

Scrivi per cercare in tutto SDETRole.

Ricerca full-text con Pagefind · funziona nel tuo browser Apri la pagina di ricerca →