BOLLETTINO OPERATIVO · MAR 14 LUG 2026 · 02:50 CET EN / IT / RSS / NEWSLETTER

Tecniche di test black-box: partizionamento di equivalenza e analisi dei valori limite

Nel testing del software non è possibile provare tutte le combinazioni di input possibili: anche un semplice campo numerico apre la porta a milioni di valori. Le tecniche di test black-box servono proprio a questo: ridurre l’enorme spazio degli input a un numero gestibile di casi di test, senza perdere capacità di trovare difetti. Tra le tecniche più usate e più richieste all’esame ISTQB Foundation Level ci sono il partizionamento di equivalenza e l’analisi dei valori limite. In questo articolo vediamo come funzionano, come si applicano insieme e quali errori evitare.

Cosa significa testare in black-box

Una tecnica si dice black-box (o basata sulle specifiche) quando i casi di test vengono derivati dai requisiti e dal comportamento atteso del sistema, senza guardare il codice interno. Il tester ragiona su input e output: dato un certo ingresso, cosa deve restituire il software? Questo approccio è complementare alle tecniche white-box (basate sulla struttura del codice) e ha un grande vantaggio: può essere applicato a qualsiasi livello di test, dall’unità all’accettazione, anche quando non si dispone del sorgente.

Il fondamento teorico è semplice: i difetti tendono a concentrarsi in zone specifiche dello spazio degli input. Individuare quelle zone e provarle in modo mirato è più efficiente che generare test a caso.

Il partizionamento di equivalenza

Il partizionamento di equivalenza (in inglese equivalence partitioning) parte da un’idea intuitiva: dividere l’insieme dei possibili input in gruppi, chiamati classi di equivalenza, in cui ci si aspetta che il sistema si comporti allo stesso modo. Se un valore di una classe rivela un difetto, è ragionevole supporre che lo facciano anche gli altri valori della stessa classe; se non lo rivela, probabilmente non lo faranno nemmeno gli altri. Per questo basta scegliere un solo rappresentante per classe.

Classi valide e classi non valide

Le partizioni si dividono in due categorie:

  • Classi valide: contengono valori che il sistema deve accettare ed elaborare correttamente.
  • Classi non valide: contengono valori che il sistema deve rifiutare o gestire con un messaggio d’errore.

Entrambe vanno testate. Un errore frequente tra chi inizia è concentrarsi solo sugli input “buoni”: ma molti difetti si annidano proprio nella gestione degli input scorretti.

Un esempio concreto

Immaginiamo un campo che accetta l’età per l’iscrizione a un servizio, valida da 18 a 65 anni. Possiamo individuare almeno tre partizioni:

  • Valori minori di 18 → classe non valida (es. 10);
  • Valori da 18 a 65 → classe valida (es. 40);
  • Valori maggiori di 65 → classe non valida (es. 80).

Invece di provare decine di numeri, ne bastano tre, uno per partizione. Se il campo accetta anche lettere o valori vuoti, si aggiungono ulteriori classi non valide. Il principio si applica anche a input non numerici: categorie, stati, tipi di documento o intervalli di date possono tutti essere partizionati.

L’analisi dei valori limite

L’analisi dei valori limite (boundary value analysis) è un raffinamento del partizionamento di equivalenza e si basa su un’osservazione empirica: i difetti tendono a comparire ai bordi delle partizioni, più che al loro centro. Errori tipici come l’uso di < al posto di <=, gli sfasamenti “off-by-one” o le condizioni di confine mal scritte si manifestano esattamente sui valori di frontiera.

Due valori o tre valori?

Esistono due varianti diffuse della tecnica. Nella versione a due valori limite si testano, per ogni confine, il valore sul bordo e il valore immediatamente adiacente fuori dalla partizione. Nella versione a tre valori limite si aggiunge anche il valore adiacente interno. Riprendendo l’esempio dell’età con intervallo valido 18-65:

  • Confine inferiore: 17, 18, 19;
  • Confine superiore: 64, 65, 66.

Il syllabus ISTQB Foundation descrive entrambi gli approcci; la scelta dipende dal livello di rigore richiesto e dal rischio associato alla funzionalità. La versione a tre valori è più completa ma genera più casi di test.

Usare le due tecniche insieme

Partizionamento e valori limite non sono alternativi: si usano in combinazione. Il flusso di lavoro tipico è:

  • Identificare le partizioni valide e non valide a partire dai requisiti;
  • Scegliere un rappresentante per ogni partizione (partizionamento di equivalenza);
  • Aggiungere i valori di confine tra partizioni adiacenti (analisi dei valori limite).

Così si ottiene una copertura ampia con un numero contenuto di casi: i rappresentanti coprono il “cuore” di ogni classe, i valori limite coprono i punti più fragili. Attenzione però: i valori limite si applicano solo a partizioni ordinabili, cioè dove esiste una relazione di ordine (numeri, date, lunghezze). Per insiemi puramente categorici, come una lista di tipi di pagamento, il concetto di “confine” non ha senso e ci si ferma al partizionamento.

Errori comuni da evitare

  • Dimenticare le classi non valide: testare solo gli input corretti lascia scoperta gran parte della logica di validazione.
  • Confondere i confini: il limite è l’ultimo valore dentro la partizione, non il primo fuori. Definire male l’intervallo nei requisiti porta a test sbagliati.
  • Trascurare i limiti impliciti: lunghezza massima di una stringa, capacità di un buffer, valori minimi e massimi di un tipo di dato. Spesso non sono scritti nei requisiti ma esistono comunque.
  • Non documentare le partizioni: senza una traccia chiara delle classi individuate è difficile valutare la copertura ottenuta.

Perché contano per l’esame e per il lavoro

Queste due tecniche sono tra le più rappresentate nelle domande dell’esame ISTQB Certified Tester Foundation Level, spesso con esercizi pratici in cui occorre contare i casi di test minimi o individuare il valore di confine corretto. Padroneggiarle significa rispondere con sicurezza e, soprattutto, portarsi a casa un metodo che si usa ogni giorno nel lavoro reale: progettare test efficaci, giustificare le scelte davanti al team e ottenere buona copertura senza sprecare tempo in casi ridondanti.

Mettiti alla prova

Il modo migliore per consolidare partizionamento di equivalenza e analisi dei valori limite è esercitarsi su domande in stile esame. Prova il nostro Simulatore ISTQB gratuito per verificare subito quanto hai compreso con quiz a risposta multipla simili a quelli ufficiali. Se vuoi una preparazione strutturata, dalle basi alle tecniche avanzate, dai un’occhiata al Corso ISTQB di smartworkers: teoria, esempi pratici ed esercizi guidati per arrivare all’esame con metodo.