Verifica e convalida di nuovo, il test appartiene alla verifica? Se sì, quale?

3

L'ho chiesto prima e ho creato molte polemiche, quindi ho cercato di raccogliere alcuni dati e di porre di nuovo una domanda simile. Per esempio. V & V in cui tutti i test sono solo di validazione: link Secondo la norma ISO 12207, i test vengono eseguiti in fase di convalida:

  1. • Preparare requisiti, casi e specifiche di prova
  2. • Esegui i test

Nella verifica, menziona.

The code implements proper event sequence, consistent interfaces, correct data and control flow, completeness, appropriate allocation timing and sizing budgets, and error definition, isolation, and recovery. and The software components and units of each software item have been completely and correctly integrated into the software item

Non sei sicuro di come verificare senza test, ma non è lì come una tecnica.

Da IEEE:

Verification: The process of evaluating software to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. [IEEE-STD-610].
Validation: The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements. [IEEE-STD-610]

Alla fine della fase di sviluppo? Ciò significherebbe UAT ..

Quindi la domanda è: quale test (unità, integrazione, sistema, uat) sarà considerato come verifica o convalida? Non capisco perché alcuni dicono che la verifica dinamica è in fase di test, mentre altri che solo la convalida.

Un esempio: sto testando un'applicazione. I requisiti di sistema dicono che ci sono due campi con max. lunghezza di 64 caratteri e pulsante Salva. Caso di utilizzo dire: l'utente compila nome e cognome e salva. Quando controllo i campi e la presenza del pulsante Salva, direi la sua verifica. Quando seguo il caso d'uso, la sua convalida. Quindi entrambi insieme, fatti sul sistema nel suo complesso.

    
posta John V 10.10.2012 - 08:53
fonte

3 risposte

3

ISO 12207 ha una distinzione piuttosto non standard (e molto sfumata!) tra verifica e convalida. Nella maggior parte delle cerchie, la verifica risponde alla domanda "l'abbiamo costruita correttamente?" (il nostro prodotto soddisfa i requisiti?), mentre la convalida significa "era questa la cosa giusta da costruire" (abbiamo il giusto insieme di requisiti?). La ISO 12207 menziona la verifica dei requisiti. Come si verificano i requisiti, in particolare i requisiti di massimo livello? Non lo fai. Tu li convalidi.

Il prodotto su cui trascorro la maggior parte del mio tempo utilizzato per distinguere la verifica dalla convalida. I problemi con questa distinzione sono saltati su una base fastidiosamente frequente. La distinzione mi era chiara, ma la mia interpretazione non era universalmente condivisa. È un test di convalida o un test di verifica? A chi importa? Perché stiamo avendo questa stupida battaglia? Una rosa con qualsiasi altro nome odora altrettanto dolce. L'obiettivo finale è rispondere alla domanda "È giusto?"

La nostra risoluzione a questo imbroglio in corso è stata quella di eliminare quella distinzione tra verifica e convalida. Pensiamo alla verifica & validazione come una parola che insieme rispondono alla domanda "È giusto?" Non dividiamo V & V in parti arbitrarie. Ciò che dividiamo in parti è come andiamo a rispondere a quella domanda singolare. Sia che tu stia guardando il nostro documento di alto livello o un documento modello dettagliato come il modo in cui modelliamo la gravità, il capitolo 5 è intitolato "Ispezioni, test e metriche". Il vecchio titolo "Verification and Validation": è sparito. Non dividiamo la verifica dalla convalida. Abbiamo invece diviso le cose in ispezioni, test e metriche. Il capitolo ha in genere quattro sezioni, ispezioni, test, tracciabilità (in genere automatizzata) e metriche (anche in genere automatizzate). A parte: l'analisi della tracciabilità è solo un tipo di ispezione specializzata (ma molto importante). È elevato come una sezione separata a causa della sua importanza. Abbiamo cercato un po 'se chiamare il capitolo "Ispezioni, test, tracciabilità e metriche". La risposta era no. Niente più guerre di religione sui nomi. La tracciabilità è una sorta di ispezione; il titolo si adatta ancora.

Le cose che rispondono alla domanda "è giusto" senza usare effettivamente il prodotto vanno sotto il titolo di "ispezioni". Analisi dei requisiti, analisi di tracciabilità, analisi che dimostrano che le ipotesi di semplificazione formulate dal modello sono accettabili per l'uso previsto del modello: Sono tutte ispezioni perché non abbiamo utilizzato il prodotto. La tracciabilità, mentre un'ispezione, ha una propria casa. Usando il prodotto per rispondere a questa domanda vai sotto la rubrica "test". Tutto, dai test unitari ai test rispetto ad alcuni setup artificiali con una soluzione analitica nota ai test integrati in cui stiamo confrontando i risultati del prodotto con i dati reali raccolti da un veicolo precedentemente pilotato: sono tutti test. Lungo la strada raccogliamo molte metriche, molte delle quali automatizzate. Diversi livelli di documenti hanno diversi tipi di numeri noiosi ma importanti. Conteggio SLOC, complessità, copertura del codice, numero di esenzioni concesse, numero di problemi nel sistema CM. Quei numeri noiosi ma importanti vanno sotto la rubrica "metriche".

I nostri sviluppatori e tester apprezzano questo cambiamento perché ora è chiaro dove vanno le cose. La gestione del progetto adora questo cambiamento perché è coerente e perché rimuove tutte quelle sciocche discussioni sulla nomenclatura. I nostri signori CMMI lo amano perché stiamo ancora rispondendo alla domanda giusta ("È giusto") e perché abbiamo un processo ben definito per arrivarci. I segnalini Bean lo adorano perché stiamo dando loro molti fagioli che sono molto facili da trovare e molto facili da contare.

    
risposta data 11.10.2012 - 13:43
fonte
7

Validazione garantisce che il prodotto soddisfi effettivamente le esigenze dell'utente e che le specifiche siano corrette in primo luogo, mentre verifica garantisce che il prodotto sia stato costruito in conformità ai requisiti e alle specifiche di progettazione.

what testing (unit, integration, system, uat) will be considered verification or validation?

Unità, integrazione e test del sistema sono la verifica. UAT è la convalida.

    
risposta data 10.10.2012 - 09:17
fonte
0

So the question is, what testing (unit, integration, system, uat) will be considered verification or validation?

Generalmente, parlando ad alto livello, il tuo esempio e la tua spiegazione suonano bene.

Nel tuo esempio: verifica per assicurarti che "ci siano due campi con lunghezza massima di 64 caratteri e pulsante Salva". Se alcuni elementi mancano secondo i requisiti, allora non passa la verifica. È anche un primo passo.

" validation is " - maggiori informazioni sull'input e sul comportamento di determinati elementi richiesti. Nel tuo caso, è la convalida di max. e min. lunghezza dell'input, indennità per caratteri speciali e qualsiasi altra regola aziendale correlata.

Tutto questo viene eseguito sul primo test delle unità e propagato alle fasi successive se esiste un flusso di dati business correlato.

    
risposta data 10.10.2012 - 13:31
fonte

Leggi altre domande sui tag