Vai al contenuto
SDETRole
SDETRole

Glossario · Fondamenti del testing

Verifica e validazione

In inglese: Verification and validation

Detto anche: V&V, verifica vs validazione, differenza tra verifica e validazione

Definizione

La verifica chiede "stiamo costruendo il prodotto nel modo giusto?" rispetto alla specifica; la validazione "stiamo costruendo il prodotto giusto?"

Verifica e validazione sono due controlli complementari, di solito descritti con la formulazione di Barry Boehm. La verifica controlla che un prodotto di lavoro sia conforme alla sua specifica: stiamo costruendo il prodotto nel modo giusto? La validazione controlla che il prodotto soddisfi le reali esigenze dei suoi utenti nell’ambiente in cui verrà usato: stiamo costruendo il prodotto giusto? Un sistema può superare completamente la verifica e fallire comunque la validazione, se la specifica era sbagliata.

Esempio

Un requisito dice: “Il pulsante di esportazione genera un file CSV con tutti gli ordini.”

  • Verifica: il team revisiona il design, ispeziona il codice e verifica che cliccando su Esporta si ottenga un CSV formattato correttamente con tutti gli ordini. Funziona, quindi la verifica è superata.
  • Validazione: il team finance prova a usarlo e scopre che in realtà gli servono gli ordini filtrati per mese, con le tasse in una colonna separata, e che il suo modello di foglio di calcolo si aspetta il punto e virgola come separatore. La funzionalità rispetta la specifica ma non l’esigenza. La validazione fallisce.

La differenza in sintesi

Verifica Validazione
Domanda Stiamo costruendo il prodotto nel modo giusto? Stiamo costruendo il prodotto giusto?
Confrontata con Requisiti, design, standard Esigenze degli utenti e uso previsto
Attività tipiche Review, walkthrough, ispezioni, analisi statica, test unit, di integrazione e di sistema User acceptance testing, beta test, studi di usabilità, demo, feedback dalla produzione
Serve software funzionante? Non sempre: anche le review sono verifica In genere sì, oppure un prototipo realistico
Svolta principalmente da Sviluppatori e QA Utenti, clienti, product owner

Le tecniche statiche, come le review dei requisiti e del codice, sono sempre verifica. Anche la maggior parte dei test dinamici svolti dal QA rispetto alla specifica è verifica. La validazione coinvolge le persone a cui il prodotto è destinato.

Perché è importante

I team che si concentrano solo sulla verifica possono rilasciare software che corrisponde esattamente a un requisito sbagliato. Le pratiche shift-left aiutano su entrambi i fronti: rivedere presto i criteri di accettazione con gli utenti è una validazione economica, e i test automatici a ogni commit sono una verifica continua. Nei settori regolamentati, come i dispositivi medici, V&V sono attività separate e documentate, e gli auditor si aspettano evidenze di ciascuna.

Scrivi per cercare in tutto SDETRole.

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