exact difference between verification
Verifica e convalida: esplora le differenze con esempi
Suo tornando alle basi gente! Uno sguardo classico alla differenza tra Verifica e validazione .
C'è molta confusione e dibattito su questi termini nel mondo dei test del software.
In questo articolo vedremo cosa sono la verifica e la validazione dal punto di vista del test del software. Entro la fine di questo articolo, avremo la deriva delle differenze tra i due termini.
Di seguito sono riportati alcuni dei motivi importanti per comprendere la differenza:
- È un concetto fondamentale di QA, quindi è quasi l'elemento costitutivo per essere consapevoli del QA.
- Questa è una domanda comune Domanda di intervista sul test del software .
- Certificazione syllabus ha un buon numero di capitoli che ruotano attorno a questo.
- Infine, e praticamente mentre noi tester eseguiamo entrambi questi tipi di test, potremmo anche essere esperti in questo.
Cosa imparerai:
- Che cosa sono la verifica e la convalida nei test del software?
- Cos'è la verifica?
- Cos'è la convalida?
- Validazione e esempi di verifica
- V&V in diverse fasi del ciclo di vita dello sviluppo
- Differenza tra verifica e convalida
- Vari standard
- Quando utilizzare Validate and Verify?
- Conclusione
Che cosa sono la verifica e la convalida nei test del software?
Nel contesto dei test, ' Verifica e validazione 'Sono i due termini ampiamente e comunemente usati. La maggior parte delle volte, consideriamo entrambi i termini uguali, ma in realtà questi termini sono abbastanza diversi.
Ci sono due aspetti delle attività di V&V (verifica e convalida):
- Conferma ai requisiti (visione del produttore della qualità)
- Idoneo all'uso (qualità dei consumatori)
Il punto di vista del produttore sulla qualità , in termini più semplici, significa la percezione degli sviluppatori del prodotto finale.
I consumatori vedono la qualità indica la percezione dell'utente del prodotto finale.
Quando svolgiamo i compiti di V&V, dobbiamo concentrarci su entrambi questi punti di vista della qualità.
Cominciamo prima con le definizioni di verifica e convalida e poi andremo a comprendere questi termini con esempi.
Nota: Queste definizioni sono, come menzionato nel CSTE CBOK del QAI (controlla questo link per saperne di più sul CSTE).
Cos'è la verifica?
La verifica è il processo di valutazione dei prodotti di lavoro intermedi di un ciclo di vita di sviluppo software per verificare se siamo sulla strada giusta per creare il prodotto finale.
In altre parole, possiamo anche affermare che la verifica è un processo per valutare i prodotti mediatori del software per verificare se i prodotti soddisfano le condizioni imposte durante l'inizio della fase.
Ora la domanda qui è: Quali sono i prodotti intermediario o mediatore?
Bene, questi possono includere i documenti che vengono prodotti durante le fasi di sviluppo come, specifica dei requisiti, documenti di progettazione, progettazione di tabelle di database, diagrammi ER, casi di test, matrice di tracciabilità , eccetera.
A volte tendiamo a trascurare l'importanza di rivedere questi documenti, ma dovremmo capire che la revisione stessa può scoprire molte anomalie nascoste quando, se trovate o risolte nella fase successiva del ciclo di sviluppo, può essere molto costosa.
La verifica garantisce che il sistema (software, hardware, documentazione e personale) sia conforme agli standard e ai processi di un'organizzazione, basandosi sulla revisione o su metodi non eseguibili.
Dove viene eseguita la verifica?
Specifici per i progetti IT, di seguito sono riportati alcuni degli ambiti (devo sottolineare che non è tutto) in cui viene eseguita la verifica.
Situazione di verifica | Attori | Definizione | Produzione |
---|---|---|---|
Revisione della documentazione di prova (revisione tra pari) | Membri del team QA | Una revisione tra pari è il luogo in cui i membri del team esaminano il lavoro degli altri per assicurarsi che non ci siano errori nella documentazione stessa. | Documentazione di prova pronta per essere condivisa con i team esterni. |
Revisione dei requisiti aziendali / funzionali | Team di sviluppo / cliente per requisiti aziendali. | Questo è un passaggio necessario non solo per assicurarsi che i requisiti siano stati raccolti e / o correttamente, ma anche per assicurarsi che siano fattibili o meno. | Requisiti finalizzati pronti per essere consumati dalla fase successiva: la progettazione. |
Revisione del progetto | Dev team | Dopo la creazione del design, il team di sviluppo lo esamina accuratamente per assicurarsi che i requisiti funzionali possano essere soddisfatti tramite il design proposto. | Il design è pronto per essere implementato in un sistema IT. |
Procedura dettagliata del codice | Sviluppatore individuale | Il codice una volta scritto viene rivisto per identificare eventuali errori sintattici. Questo è di natura più casuale e viene eseguito dal singolo sviluppatore sul codice sviluppato da lui stesso. | Codice pronto per unit test. |
Ispezione del codice | Dev team | Questa è una configurazione più formale. Gli esperti in materia e gli sviluppatori controllano il codice per assicurarsi che sia conforme agli obiettivi aziendali e funzionali previsti dal software. | Codice pronto per il test. |
Revisione del piano di test (interna al team QA) | Team QA | Un piano di test viene esaminato internamente dal team QA per assicurarsi che sia accurato e completo. | Un documento del piano di test pronto per essere condiviso con i team esterni (Project Management, Business Analysis, sviluppo, Ambiente, cliente, ecc.) |
Revisione del piano di test (esterno) | Project Manager, analista aziendale e sviluppatore. | Un'analisi formale del documento del piano di test per assicurarsi che la tempistica e altre considerazioni del team QA siano in linea con gli altri team e l'intero progetto stesso. | Un documento del piano di test firmato o approvato in base al quale si baserà l'attività di test. |
Revisione finale della documentazione di prova | Analista aziendale e team di sviluppo. | Una revisione della documentazione di test per assicurarsi che i casi di test coprano tutte le condizioni aziendali e gli elementi funzionali del sistema. | Documentazione di prova pronta per essere eseguita. |
Vedi il revisione della documentazione di prova articolo che pubblica un processo dettagliato su come i tester possono eseguire la revisione.
Cos'è la convalida?
La convalida è il processo di valutazione del prodotto finale per verificare se il software soddisfa le esigenze aziendali. In parole semplici, l'esecuzione del test che facciamo nella nostra vita quotidiana è in realtà l'attività di convalida che include test del fumo , test funzionali, test di regressione, test di sistemi, ecc.
La convalida è tutte le forme di test che implicano lavorare con il prodotto e metterlo alla prova.
Di seguito sono riportate le tecniche di convalida:
La convalida garantisce fisicamente che il sistema funzioni secondo un piano eseguendo le funzioni del sistema attraverso una serie di test che possono essere osservati e valutati.
Abbastanza giusto, vero? Ecco i miei due centesimi:
Quando cerco di affrontare questo concetto di V&V nella mia classe, c'è molta confusione intorno ad esso. Un esempio semplice e meschino sembra risolvere tutta la confusione. È un po 'sciocco ma funziona davvero.
Validazione e esempi di verifica
Esempio di vita reale :Immagina di andare in un ristorante / tavola calda e ordinare forse pancake ai mirtilli. Quando il cameriere / cameriera porta il tuo ordine, come puoi sapere che il cibo che è uscito è come da tuo ordine?
La prima cosa è che lo guardiamo e notiamo le seguenti cose:
miglior ripper dvd gratuito per Windows
- Il cibo assomiglia a quello che sembrano essere tipicamente i pancake?
- Si vedono i mirtilli?
- Hanno un buon odore?
Forse di più, ma hai capito bene?
D'altra parte, quando devi essere assolutamente sicuro che il cibo sia come ti aspettavi: dovrai mangiarlo.
La verifica è tutto quando devi ancora mangiare, ma stai controllando alcune cose rivedendo gli argomenti. La convalida è quando si mangia effettivamente il prodotto per vedere se è giusto.
In questo contesto, non posso fare a meno di tornare al CSTE CBOK riferimento. C'è una dichiarazione meravigliosa là fuori che ci aiuta a portare a casa questo concetto.
La verifica risponde alla domanda: 'Abbiamo creato il sistema giusto?' mentre gli indirizzi di convalida, 'Abbiamo costruito il sistema giusto?'
V&V in diverse fasi del ciclo di vita dello sviluppo
La verifica e la convalida vengono eseguite in ciascuna delle fasi del ciclo di vita dello sviluppo.
Proviamo a darci un'occhiata.
# 1) Attività V e V. - Pianificazione
- Verifica del contratto.
- Documento di valutazione del concetto.
- Esecuzione dell'analisi dei rischi.
# 2) Attività V e V. - Fase dei requisiti
- Valutazione dei requisiti software.
- Valutazione / analisi delle interfacce.
- Generazione del piano di test dei sistemi.
- Generazione del piano di test di accettazione.
# 3) Attività V&V - Fase di progettazione
- Valutazione della progettazione del software.
- Valutazione / analisi delle interfacce (UI).
- Generazione del piano di test di integrazione.
- Generazione del piano di test dei componenti.
- Generazione del progetto di prova.
# 4) Attività V&V - Fase di implementazione
- Valutazione del codice sorgente.
- Valutazione dei documenti.
- Generazione di casi di test.
- Generazione della procedura di prova.
- Esecuzione di casi di test dei componenti.
# 5) Attività V&V - Fase di prova
- Esecuzione di test case di sistemi.
- Esecuzione del caso di test di accettazione.
- Aggiornamento delle metriche di tracciabilità.
- Analisi del rischio
# 6) Attività V&V - Fase di installazione e verifica
- Audit di installazione e configurazione.
- Il test finale della build candidata all'installazione.
- Generazione del rapporto di prova finale.
# 7) Attività V&V - Fase operativa
- Valutazione del nuovo vincolo.
- Valutazione della modifica proposta.
# 8) Attività V&V - Fase di manutenzione
- Valutazione delle anomalie.
- Valutazione della migrazione.
- Valutazione delle caratteristiche del nuovo processo.
- Valutazione della modifica proposta.
- Convalida dei problemi di produzione.
Differenza tra verifica e convalida
Verifica | Validazione |
---|---|
Valuta i prodotti intermedi per verificare se soddisfa i requisiti specifici della fase particolare. | Valuta il prodotto finale per verificare se soddisfa le esigenze aziendali. |
Controlla se il prodotto è costruito secondo il requisito specificato e le specifiche di progettazione. | Determina se il software è idoneo all'uso e soddisfa le esigenze aziendali. |
Verifica 'Stiamo costruendo il prodotto nel modo giusto'? | Verifica 'Stiamo costruendo il prodotto giusto'? |
Questo viene fatto senza eseguire il software. | Viene eseguito con l'esecuzione del software. |
Coinvolge tutte le tecniche di test statico. | Include tutte le tecniche di test dinamico. |
Gli esempi includono revisioni, ispezioni e procedure dettagliate. | L'esempio include tutti i tipi di test come fumo, regressione, funzionale, sistemi e UAT. |
Vari standard
ISO / IEC 12207: 2008
Attività di verifica | Attività di convalida |
---|---|
La verifica dei requisiti implica una revisione dei requisiti. | Preparare i documenti dei requisiti di test, i casi di test e altre specifiche di test per analizzare i risultati dei test. |
La verifica del progetto implica la revisione di tutti i documenti di progettazione, inclusi HLD e LDD. | Valutare che questi requisiti di test, casi di test e altre specifiche riflettano i requisiti e siano adatti all'uso. |
La verifica del codice include la revisione del codice. | Verifica i valori limite, lo stress e le funzionalità. |
La verifica della documentazione è la verifica dei manuali utente e di altri documenti correlati. | Verifica la presenza di messaggi di errore e, in caso di errore, l'applicazione viene terminata correttamente. Verifica che il software soddisfi i requisiti aziendali e sia idoneo all'uso. |
CMMI:
La verifica e la convalida sono due diversi KPA al livello di maturità 3
Attività di verifica | Attività di convalida |
---|---|
Esecuzione di revisioni tra pari. | Convalidare che i prodotti e i suoi componenti siano adatti all'ambiente. |
Verifica i prodotti di lavoro selezionati. | Quando il processo di convalida viene implementato, viene monitorato e controllato. |
Standardizzare un processo definito stabilendo politiche a livello organizzativo per la pianificazione e le revisioni. | Svolgere attività di lezioni apprese e raccogliere informazioni sul miglioramento Istituzionalizzare un processo definito. |
IEEE 1012:
Gli obiettivi di queste attività di test sono:
- Facilita la diagnosi precoce e la correzione degli errori.
- Incoraggia e migliora l'intervento di gestione all'interno dei rischi di processo e di prodotto.
- Fornisce misure di supporto per il processo del ciclo di vita del software, per migliorare la conformità con i requisiti di pianificazione e budget.
Quando utilizzare Validate and Verify?
Si tratta di procedure indipendenti che dovrebbero essere impiegate insieme per verificare se il sistema o l'applicazione è conforme ai requisiti e alle specifiche e che raggiunge lo scopo previsto. Entrambi sono componenti importanti del sistema di gestione della qualità.
È spesso possibile che un prodotto passi attraverso la verifica ma fallisca nella fase di convalida. Tuttavia, poiché soddisfaceva i requisiti e le specifiche documentati, tali specifiche non erano in grado di soddisfare le esigenze dell'utente. Pertanto, è importante eseguire test per entrambi i tipi per garantire la qualità complessiva.
La verifica può essere utilizzata come processo interno di sviluppo, scale-up o produzione. D'altra parte, la convalida dovrebbe essere utilizzata come processo esterno per ottenere l'accettazione dell'idoneità con le parti interessate.
È la convalida o la verifica dell'UAT?
UAT (User Acceptance Testing) dovrebbe essere considerato una convalida. È la convalida nel mondo reale del sistema o dell'applicazione, che viene eseguita dagli utenti effettivi che convalidano se il sistema è 'idoneo all'uso'.
Conclusione
I processi V&V determinano se i prodotti di una data attività sono conformi ai requisiti e sono adatti al suo utilizzo.
Infine, le seguenti sono alcune cose da notare:
- In termini molto più semplici (per evitare qualsiasi tipo di confusione), ricordiamo solo che per Verifica si intendono le attività di revisione o le tecniche di test statico e per convalida si intendono le attività di esecuzione del test effettivo o le tecniche di test dinamico.
- La verifica può o meno coinvolgere il prodotto stesso. La convalida ha sicuramente bisogno del prodotto. Talvolta è possibile eseguire la verifica sui documenti che rappresentano il sistema finale.
- La verifica e la convalida non devono essere necessariamente eseguite dai tester. Come vedi sopra in questo articolo, alcuni di questi vengono eseguiti dagli sviluppatori e da altri team.
Questo è tutto ciò che devi sapere sulla verifica e la convalida per essere le PMI (esperti in materia) sull'argomento.
Lettura consigliata
- Differenza tra desktop, test server client e test Web
- Test funzionale vs test delle prestazioni: dovrebbe essere fatto contemporaneamente?
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Test funzionale vs test non funzionale
- Test statici e test dinamici - Differenza tra queste due importanti tecniche di test
- Test delle prestazioni vs test di carico vs stress test (differenza)
- Guida completa al test di verifica della costruzione (test BVT)
- 101 Differenze tra le basi del test del software