Product Design, Manufacturing & Innovation Resources
Casa » Verifica e convalida

Verifica e convalida

1980
  • Barry Boehm
Un gruppo di ingegneri discute di verifica e validazione nello sviluppo del software.

(Immagine generata a solo scopo illustrativo)

Verification and validation (V&V) are distinct processes. Verification ensures a product meets its specified requirements (“Are you building it right?”). Validation ensures the product meets the user’s actual needs and intended use (“Are you building the right thing?”). They are complementary activities within quality management, often performed sequentially or in parallel to ensure both correctness and usefulness. Verification against written requirements also exposes defects that a team might otherwise defend by saying it’s not a bug it’s a feature, whose meaning is simply that an unwanted behavior is relabeled as intended. The it’s not a bug it’s a feature meaning is a reminder that requirements must be explicit.

La distinzione tra verifica e convalida è fondamentale per l'assicurazione della qualità in qualsiasi disciplina ingegneristica complessa, in particolare nell'ingegneria del software e dei sistemi. La verifica è un processo interno di qualità incentrato sulla conformità alle specifiche. Comporta attività come revisioni, ispezioni e verifiche dei documenti di progettazione, del codice e dei requisiti. L'obiettivo è trovare i difetti nelle prime fasi del ciclo di vita dello sviluppo. Ad esempio, una revisione del codice verifica che il software sia conforme agli standard di codifica e che implementi correttamente un algoritmo specifico come descritto in un documento di progettazione.

La convalida, invece, è un processo di qualità esterno incentrato sull'idoneità allo scopo. Valuta se il prodotto finale è efficace nell'ambiente operativo a cui è destinato. In genere si tratta di testare il prodotto con utenti reali o in un ambiente reale simulato. Ad esempio, il test di accettazione da parte dell'utente (UAT) è un'attività di convalida in cui gli utenti finali testano il software per vedere se li aiuta a svolgere i loro compiti in modo efficiente ed efficace. Un sistema può essere perfettamente verificato, cioè non avere bug e soddisfare tutte le specifiche documentate, ma può comunque fallire la convalida se le specifiche sono errate o non catturano accuratamente le reali esigenze dell'utente.

Il lavoro di Barry Boehm ha sottolineato che queste due attività rispondono a domande diverse e sono cruciali per la realizzazione di un prodotto di successo. Trascurare la verifica porta a un prodotto buggato e inaffidabile, mentre trascurare la validazione porta a un prodotto che, pur essendo tecnicamente valido, è in definitiva inutile per il pubblico a cui è destinato. I due processi lavorano in tandem per garantire sia la correttezza che l'utilità.

UNESCO Nomenclature: 1203
- Informatica

Tipo

Sistema astratto

Interruzione

Sostanziale

Utilizzo

Uso diffuso

Precursori

  • i primi concetti di controllo della qualità nella produzione
  • logica formale e teoria delle prove
  • principi di programmazione strutturata
  • le prime metodologie di test del software

Applicazioni

  • metodologie agili di sviluppo del software
  • modelli del ciclo di vita dell'ingegneria dei sistemi (ad esempio, v-model)
  • protocolli di sviluppo di farmaci farmaceutici
  • certificazione di sistemi aerospaziali (ad esempio, DO-178C)
  • dispositivo medico processi di approvazione (ad esempio, regolamenti della FDA)

Brevetti:

NA

Idee e potenziali innovazioni

  • ai-driven user simulation for automated validation
  • continuous integration/continuous validation (ci/cv) pipelines
  • blockchain-based ledgers for immutable verification records in supply chains
  • gemello digitale models for pre-deployment validation of physical systems
  • automated requirement-to-code traceability tools for enhanced verification
  • gamified user acceptance testing platforms
  • crowdsourced validation for consumer software products
  • formal methods integrated into standard ide environments for real-time verification
Correlato a: verifica, validazione, assicurazione della qualità, ingegneria del software, ingegneria dei sistemi, requisiti, specifiche, test.

Contesto storico

Verifica e convalida

1970
1970-01-01
1975-06-01
1980
1980
1980
1982-07-01
1970
1970
1973
1980
1980
1980
1980
1986-01-01

(se la data è sconosciuta o non rilevante, ad esempio "meccanica dei fluidi", viene fornita una stima approssimativa della sua notevole comparsa)

decimo anno anniversario

Le immagini a grandezza naturale e i download sono disponibili, gratuitamente al 100%, solo per gli utenti registrati.

> Login <