Grafico comparativo
Base per il confronto | Test unitario | Test di sistema |
---|---|---|
Di base | Si concentra sulla verifica funzionale dei componenti. | Convalida il sistema dopo che è stato integrato nel sistema più grande. |
segue | Specifica dei moduli | Specifica dei requisiti |
Visibilità dei dettagli del codice | Fornito | Non fornito |
Impalcatura | necessario | Non c'è bisogno di driver / stub |
enfasi | Sul comportamento del singolo modulo. | Funzionalità di sistema. |
Definizione del test unitario
Il test unitario è la tecnica per convalidare le unità più piccole del software. Questi componenti più piccoli del software sono testati separatamente. Un componente driver è responsabile della generazione delle chiamate al metodo per i componenti sottoposti a test. Il componente che utilizza un metodo è imitato come lo stub . Questi mozziconi sono la sostituzione iniziale per i metodi fuori posto.
Il test dell'unità è diretto da test white-box e le fasi del test dell'unità vengono eseguite simultaneamente per più componenti. Sottolinea, verifica il corretto flusso di dati lungo le interfacce del modulo, perché se viene ignorato, gli altri test diventano incerti.
Operazioni di stub
- Lo stub può eseguire un'imitazione chiaramente scritta del compito del componente.
- Può visualizzare il messaggio dopo l'esecuzione del componente.
Può essere eseguita una delle operazioni sopra indicate alla volta. Il test delle unità è una parte vitale del test del software che garantisce uno sviluppo, debug, sound design, documentazione e meccanismo di feedback più rapidi e riduce ulteriormente i costi complessivi.
Definizione dei test di sistema
Il test di sistema verifica completamente il comportamento del sistema. Esegue vari test in progressione. Tuttavia, questi test hanno l'intento distinto e controllano se tutti i componenti del sistema funzionano correttamente in modo integrato o meno.
In questo test, i casi di test sono progettati in base alle specifiche del requisito e il suo codice è detto simile alla scatola nera. Gli sviluppatori che hanno una vasta conoscenza e visibilità sulla struttura del sistema solitamente eseguono il test del sistema.
Tipi di test del sistema:
Esistono diverse forme di test di sistema tra cui alcune di queste sono descritte di seguito.
- Test di recupero : questo tipo di test fa si che il software decada in vari modi per verificare il corretto processo di recupero.
- Test di sicurezza : i test di sicurezza verificano il meccanismo di sicurezza e impediscono al sistema di penetrare.
- Test di stress : è una tecnica di test in cui sono richieste le condizioni anormali di risorse come quantità, frequenza e volume.
- Test delle prestazioni : il test delle prestazioni si concentra sulle prestazioni di runtime del software in relazione all'intero sistema.
Differenze chiave tra i test unitari e di sistema
- Il test dell'unità funziona sulla specifica del modulo. Per contro, il test del sistema obbedisce alle specifiche dei requisiti integrati per il software e l'hardware.
- Nel test dell'unità, i dettagli del codice sono visibili al tester mentre questo non è il caso nei test di sistema. La ragione di questo è che i test di unità possono essere eseguiti dallo sviluppatore del modulo, ma il test di sistema è un compito più grande in cui il tester e lo sviluppatore sono due individui diversi per eseguire le diverse operazioni.
- Il test unitario utilizza la tecnica del ponteggio in cui il codice generato non fa parte del software e il cui unico scopo è quello di far uscire i test. Al contrario, il test del sistema non utilizza la tecnica del ponteggio.
- Nel test delle unità, l'enfasi è posta sul singolo modulo mentre nel test del sistema vengono prese in considerazione le funzionalità dell'intero sistema.
Relazione tra test delle unità e test di sistema nel contesto della strategia di test del software:
In base allo schema mostrato di seguito, il test dell'unità parte dal centro e si concentra su ciascuna unità software (componente) come da implementazione. Poi vengono i test di integrazione in cui vengono esaminati la progettazione e la costruzione dell'architettura del software. Quando andiamo verso l'esterno, il test di validazione incontra dove vengono convalidati i requisiti rispetto alla specifica del requisito. Test di sistema presenti nella parte più esterna che verifica il software e le altre parti del sistema come componente integrato.
Conclusione
Il test delle unità è la tecnica di test in cui viene testata la più piccola unità del programma. D'altro canto, il test del sistema si basa sulle specifiche di progettazione di alto livello e controlla se l'implementazione del sistema soddisfa o meno le specifiche dei requisiti di sistema.