Test statici vs test dinamici: qual è la differenza?

Sommario:

Anonim

Cos'è il test statico?

Il test statico è un tipo di test del software in cui l'applicazione software viene testata senza l'esecuzione di codice. Vengono eseguite revisioni manuali o automatizzate del codice, dei documenti dei requisiti e della progettazione dei documenti per trovare gli errori. L'obiettivo principale del test statico è migliorare la qualità delle applicazioni software trovando errori nelle prime fasi del processo di sviluppo del software.

I test statici comportano revisioni manuali o automatizzate dei documenti. Questa revisione viene eseguita durante una fase iniziale di test per rilevare il difetto nelle prime fasi di STLC. Esamina i documenti di lavoro e fornisce commenti di revisione. È anche chiamato test di non esecuzione o test di verifica.

Esempi di documenti di lavoro-

  • Specifiche dei requisiti
  • Documento di progettazione
  • Codice sorgente
  • Piani di test
  • Casi test
  • Script di test
  • Guida o documento utente
  • Contenuto della pagina Web

Cos'è il test dinamico?

In Dynamic Testing , viene eseguito un codice. Controlla il comportamento funzionale del sistema software, l'utilizzo della memoria / cpu e le prestazioni complessive del sistema. Da qui il nome "Dinamico"

L'obiettivo principale di questo test è confermare che il prodotto software funziona in conformità con i requisiti aziendali. Questo test è anche chiamato tecnica di esecuzione o test di convalida.

Il test dinamico esegue il software e convalida l'output con il risultato atteso. Il test dinamico viene eseguito a tutti i livelli di test e può essere test in scatola nera o bianca.

DIFFERENZA CHIAVE

  • Il test statico è stato eseguito senza eseguire il programma, mentre il test dinamico viene eseguito eseguendo il programma.
  • Il test statico controlla il codice, i documenti dei requisiti e i documenti di progettazione per trovare errori mentre il test dinamico controlla il comportamento funzionale del sistema software, l'utilizzo della memoria / CPU e le prestazioni complessive del sistema.
  • Il test statico riguarda la prevenzione dei difetti mentre il test dinamico riguarda la ricerca e la correzione dei difetti.
  • Il test statico esegue il processo di verifica mentre il test dinamico esegue il processo di convalida.
  • Il test statico viene eseguito prima della compilazione, mentre il test dinamico viene eseguito dopo la compilazione.
  • Le tecniche di test statico sono strutturali e di copertura delle istruzioni, mentre le tecniche di test dinamico sono l'analisi del valore limite e il partizionamento di equivalenza.

Tecniche di test statico:

  • Recensioni informali: questo è uno dei tipi di revisione che non segue alcun processo per trovare errori nel documento. Con questa tecnica, devi solo rivedere il documento e fornire commenti informali su di esso.
  • Revisioni tecniche: un team composto da colleghi, rivede le specifiche tecniche del prodotto software e verifica se è adatto al progetto. Cercano di trovare eventuali discrepanze nelle specifiche e negli standard seguiti. Questa revisione si concentra principalmente sulla documentazione tecnica relativa al software come strategia di test, piano di test e documenti di specifica dei requisiti.
  • Procedura dettagliata: l'autore del prodotto di lavoro spiega il prodotto al suo team. I partecipanti possono porre domande se ce ne sono. Un incontro è guidato dall'autore. Scribe prende nota dei commenti di revisione
  • Ispezione: lo scopo principale è trovare i difetti e la riunione è guidata da un moderatore qualificato. Questa revisione è un tipo formale di revisione in cui segue un processo rigoroso per trovare i difetti. I revisori hanno una lista di controllo per esaminare i prodotti di lavoro, registrano il difetto e informano i partecipanti di correggere tali errori.
  • Revisione del codice statico: questa è una revisione sistematica del codice sorgente del software senza eseguire il codice. Controlla la sintassi del codice, gli standard di codifica, l'ottimizzazione del codice, ecc. Viene anche definito white box testing. Questa revisione può essere eseguita in qualsiasi momento durante lo sviluppo.

Tecniche di test dinamico:

  • Unit Testing: in Unit Testing, le singole unità o moduli vengono testati dagli sviluppatori. Implica il test del codice sorgente da parte degli sviluppatori.
  • Test di integrazione: i singoli moduli vengono raggruppati e testati dagli sviluppatori. Lo scopo è determinare quali moduli funzionano come previsto una volta integrati.
  • Test del sistema: il test del sistema viene eseguito sull'intero sistema controllando se il sistema o l'applicazione soddisfa il documento di specifica dei requisiti.

Inoltre, i test non funzionali come le prestazioni, i test di sicurezza rientrano nella categoria dei test dinamici.

Differenza tra test statici e dinamici:

Test statici

Test dinamici

Il test è stato eseguito senza eseguire il programma Il test viene eseguito eseguendo il programma
Questo test esegue il processo di verifica Il test dinamico esegue il processo di convalida
I test statici riguardano la prevenzione dei difetti Il test dinamico consiste nel trovare e correggere i difetti
Il test statico fornisce una valutazione del codice e della documentazione Il test dinamico fornisce bug / colli di bottiglia nel sistema software.
I test statici comportano una lista di controllo e un processo da seguire Il test dinamico prevede casi di test per l'esecuzione
Questo test può essere eseguito prima della compilazione Il test dinamico viene eseguito dopo la compilazione
Il test statico copre il test strutturale e di copertura delle dichiarazioni Le tecniche di test dinamico sono l'analisi del valore limite e il partizionamento di equivalenza.
Il costo per la ricerca di difetti e la riparazione è inferiore Il costo per trovare e riparare i difetti è elevato
Il ritorno sull'investimento sarà elevato poiché questo processo è coinvolto in una fase iniziale Il ritorno sull'investimento sarà basso poiché questo processo comporta dopo la fase di sviluppo
Più commenti di recensioni sono altamente raccomandati per una buona qualità Più difetti sono altamente raccomandati per una buona qualità.
Richiede un sacco di riunioni Comparativamente richiede riunioni minori