Vai al contenuto
SDETRole
SDETRole

Glossario · Progettazione dei test

Partizionamento in classi di equivalenza

In inglese: Equivalence partitioning

Detto anche: classi di equivalenza, equivalence class partitioning, partizioni di equivalenza, ECP

Definizione

Una tecnica di progettazione dei test che divide gli input in gruppi che il sistema deve trattare allo stesso modo, e testa un valore rappresentativo per gruppo.

Il partizionamento in classi di equivalenza (equivalence partitioning, detto anche equivalence class partitioning) divide i possibili input in partizioni in cui ogni valore dovrebbe produrre lo stesso comportamento. Se un valore di una partizione funziona, si assume che funzionino anche gli altri; se uno fallisce, probabilmente gli altri falliscono allo stesso modo. Quindi testi un rappresentante per partizione invece di ogni valore possibile.

Esempio: età accettata da 18 a 60

Un form accetta età da 18 a 60 incluse, come numeri interi.

Partizione Valida? Rappresentante Atteso
Minore di 18 Non valida 10 Rifiutato: “Devi avere almeno 18 anni”
Da 18 a 60 Valida 35 Accettato
Maggiore di 60 Non valida 75 Rifiutato
Non numerico Non valida abc Rifiutato: “Inserisci un numero”
Vuoto Non valida (vuoto) Rifiutato: “L’età è obbligatoria”
Decimale Non valida 25.5 Rifiutato
Negativo Non valida -5 Rifiutato

Sette test coprono concettualmente l’intero spazio degli input. L’analisi dei valori limite aggiunge poi 17, 18, 60 e 61 ai bordi delle partizioni numeriche, dove i difetti sono più probabili. Le due tecniche si usano quasi sempre insieme.

Partizionare gli output e altri input

Le partizioni non si limitano ai numeri:

  • Categorie: un campo paese di spedizione potrebbe dividersi in nazionale, UE, resto del mondo e paesi sotto embargo, ciascuno con regole diverse.
  • Output: se un calcolatore di imposte ha tre scaglioni, scegli input che ricadano in ciascuno scaglione.
  • Formati: gli indirizzi email si dividono in validi, senza @, senza dominio e troppo lunghi.

Testare le partizioni non valide una alla volta

Quando un form ha più campi, combina liberamente le partizioni valide, ma testa ogni partizione non valida da sola, con tutti gli altri campi validi. Se invii insieme un’età non valida e un’email non valida, il primo errore di validazione può nascondere il secondo, e non puoi sapere se entrambi i controlli funzionano.

Errori comuni

  • Partizioni sbagliate. Le partizioni derivano dalla specifica e dal modo in cui il sistema si comporta davvero. Se il codice tratta in modo diverso le età da 18 a 25 (per esempio con un prezzo assicurativo diverso), quella è una partizione separata anche se il form le accetta tutte.
  • Solo partizioni valide. La maggior parte dei difetti nella gestione degli input si trova in quelle non valide.
  • Fermarsi alle partizioni. Un valore per partizione non intercetta un errore off-by-one sul bordo. Aggiungi i valori limite.

Scrivi per cercare in tutto SDETRole.

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