Che cos'è il test WHITE Box? Tecniche, esempi e amp; Tipi

Sommario:

Anonim

Test della scatola bianca

White Box Testing è una tecnica di test del software in cui vengono testati la struttura interna, il design e la codifica del software per verificare il flusso di input-output e per migliorare il design, l'usabilità e la sicurezza. Nel test white box, il codice è visibile ai tester, quindi è anche chiamato test clear box, test box aperto, test box trasparente, test basato su codice e test box di vetro.

È una delle due parti dell'approccio di Box Testing al test del software. La sua controparte, Blackbox testing, prevede test da una prospettiva di tipo esterno o dell'utente finale. D'altra parte, il test White box nell'ingegneria del software si basa sul funzionamento interno di un'applicazione e ruota attorno ai test interni.

Il termine "WhiteBox" è stato utilizzato a causa del concetto di scatola trasparente. La casella trasparente o il nome WhiteBox simboleggia la capacità di vedere attraverso l'involucro esterno del software (o "scatola") nei suoi meccanismi interni. Allo stesso modo, la "scatola nera" in "Test della scatola nera" simboleggia l'impossibilità di vedere il funzionamento interno del software in modo che possa essere testata solo l'esperienza dell'utente finale.

In questo tutorial sul test della scatola bianca, imparerai:

  • Che cos'è il test White Box?
  • Cosa verifichi in White Box Testing?
  • Come si esegue il White Box Testing?
  • Esempio di test WhiteBox
  • Tecniche di test white box
  • Tipi di test white box
  • Strumenti di test White Box
  • Vantaggi del White Box Testing
  • Svantaggi del test WhiteBox

Cosa verifichi in White Box Testing?

Il test white box prevede il test del codice software per quanto segue:

  • Fori di sicurezza interni
  • Percorsi interrotti o mal strutturati nei processi di codifica
  • Il flusso di input specifici attraverso il codice
  • Uscita prevista
  • La funzionalità dei cicli condizionali
  • Verifica di ogni affermazione, oggetto e funzione su base individuale

Il test può essere eseguito a livello di sistema, integrazione e unità di sviluppo software. Uno degli obiettivi fondamentali del test whitebox è verificare un flusso di lavoro per un'applicazione. Implica il test di una serie di input predefiniti rispetto agli output previsti o desiderati in modo che quando un input specifico non si traduce nell'output previsto, si è verificato un bug.

Fare clic qui se il video non è accessibile

Come si esegue il White Box Testing?

Per darti una spiegazione semplificata del test white box, lo abbiamo diviso in due passaggi fondamentali . Questo è ciò che fanno i tester quando testano un'applicazione utilizzando la tecnica di test white box:

FASE 1) COMPRENDERE IL CODICE SORGENTE

La prima cosa che un tester fa spesso è imparare e comprendere il codice sorgente dell'applicazione. Poiché il white box testing implica il test del funzionamento interno di un'applicazione, il tester deve essere molto esperto nei linguaggi di programmazione utilizzati nelle applicazioni che stanno testando. Inoltre, la persona che esegue il test deve essere altamente consapevole delle pratiche di codifica sicure. La sicurezza è spesso uno degli obiettivi primari del test del software. Il tester dovrebbe essere in grado di trovare problemi di sicurezza e prevenire attacchi da parte di hacker e utenti ingenui che potrebbero iniettare codice dannoso nell'applicazione consapevolmente o inconsapevolmente.

Passaggio 2) CREA CASI DI PROVA ED ESEGUI

Il secondo passaggio fondamentale per il test white box prevede il test del codice sorgente dell'applicazione per il flusso e la struttura corretti. Un modo è scrivere più codice per testare il codice sorgente dell'applicazione. Il tester svilupperà piccoli test per ogni processo o serie di processi nell'applicazione. Questo metodo richiede che il tester abbia una conoscenza approfondita del codice e spesso viene eseguito dallo sviluppatore. Altri metodi includono il test manuale, il test di prova e il test degli errori e l'uso di strumenti di test come spiegheremo più avanti in questo articolo.

Esempio di test WhiteBox

Considera la seguente parte di codice

Printme (int a, int b) {------------ Printme è una funzioneint risultato = a + b;If (risultato> 0)Stampa ("Positivo", risultato)AltroStampa ("Negativo", risultato)} ----------- Fine del codice sorgente 

L'obiettivo del test WhiteBox nell'ingegneria del software è verificare tutti i rami decisionali, i cicli e le dichiarazioni nel codice.

Per esercitare le affermazioni nell'esempio di test white box sopra, i casi di test WhiteBox sarebbero

  • A = 1, B = 1
  • A = -1, B = -3

Tecniche di test white box

Una delle principali tecniche di test white box è l'analisi della copertura del codice. L'analisi della copertura del codice elimina le lacune in una suite di casi di test. Identifica le aree di un programma che non vengono esercitate da una serie di casi di test. Una volta identificate le lacune, si creano casi di test per verificare parti del codice non testate, aumentando così la qualità del prodotto software

Sono disponibili strumenti automatici per eseguire l'analisi della copertura del codice. Di seguito sono riportate alcune tecniche di analisi della copertura che un box tester può utilizzare:

Copertura delle dichiarazioni : - Questa tecnica richiede che ogni possibile dichiarazione nel codice venga testata almeno una volta durante il processo di test dell'ingegneria del software.

Copertura dei rami: questa tecnica controlla ogni possibile percorso (if-else e altri cicli condizionali) di un'applicazione software.

Oltre a quanto sopra, ci sono numerosi tipi di copertura come la copertura delle condizioni, la copertura delle condizioni multiple, la copertura del percorso, la copertura delle funzioni ecc. Ogni tecnica ha i suoi meriti e tenta di testare (coprire) tutte le parti del codice software. Utilizzando la copertura Statement and Branch generalmente si raggiunge l'80-90% di copertura del codice che è sufficiente. Di seguito sono riportate importanti tecniche di test WhiteBox:

  • Copertura della dichiarazione
  • Copertura decisionale
  • Copertura delle filiali
  • Copertura delle condizioni
  • Copertura di condizioni multiple
  • Copertura della macchina a stati finiti
  • Copertura del percorso
  • Controllo del flusso di prova
  • Test del flusso di dati

Fare riferimento a questo articolo per ulteriori dettagli https://www.guru99.com/code-coverage.html

Tipi di test white box

Il test white box comprende diversi tipi di test utilizzati per valutare l'usabilità di un'applicazione, un blocco di codice o un pacchetto software specifico. Ci sono elencati di seguito -

  • Test unitario: spesso è il primo tipo di test eseguito su un'applicazione. Lo Unit Testing viene eseguito su ciascuna unità o blocco di codice durante lo sviluppo. Lo Unit Testing viene essenzialmente eseguito dal programmatore. In qualità di sviluppatore di software, sviluppi poche righe di codice, una singola funzione o un oggetto e lo collaudi per assicurarti che funzioni prima di continuare lo Unit Testing aiuta a identificare la maggior parte dei bug, all'inizio del ciclo di vita dello sviluppo del software. I bug identificati in questa fase sono più economici e facili da correggere.

  • Verifica delle perdite di memoria : le perdite di memoria sono le principali cause di applicazioni in esecuzione più lente. Uno specialista QA esperto nel rilevare perdite di memoria è essenziale nei casi in cui si dispone di un'applicazione software a esecuzione lenta.

Oltre a quanto sopra, alcuni tipi di test fanno parte sia del test della scatola nera che di quello della scatola bianca. Sono elencati come di seguito

  • Test di penetrazione della casella bianca: in questo test, il tester / sviluppatore dispone di informazioni complete sul codice sorgente dell'applicazione, informazioni di rete dettagliate, indirizzi IP coinvolti e tutte le informazioni sul server su cui viene eseguita l'applicazione. L'obiettivo è attaccare il codice da diverse angolazioni per esporre minacce alla sicurezza
  • Test di mutazione white box : il test di mutazione viene spesso utilizzato per scoprire le migliori tecniche di codifica da utilizzare per espandere una soluzione software.

Strumenti di test White Box

Di seguito è riportato un elenco dei principali strumenti di test white box.

  • Parasoft Jtest
  • EclEmma
  • NUnit
  • PyUnit
  • HTMLUnit
  • CppUnit

Vantaggi del White Box Testing

  • Ottimizzazione del codice trovando errori nascosti.
  • I casi di test white box possono essere facilmente automatizzati.
  • Il test è più approfondito poiché tutti i percorsi del codice sono generalmente coperti.
  • Il test può iniziare presto in SDLC anche se la GUI non è disponibile.

Svantaggi del test WhiteBox

  • Il test della scatola bianca può essere piuttosto complesso e costoso.
  • Gli sviluppatori che di solito eseguono casi di test white box lo detestano. Il test white box da parte degli sviluppatori non dettagliato può portare a errori di produzione.
  • Il test white box richiede risorse professionali, con una comprensione dettagliata della programmazione e dell'implementazione.
  • Il test white box richiede tempo, le applicazioni di programmazione più grandi richiedono tempo per essere testati completamente.

Note finali:

  • Il test della scatola bianca può essere piuttosto complesso. La complessità coinvolta ha molto a che fare con l'applicazione in fase di test. Una piccola applicazione che esegue una singola semplice operazione potrebbe essere testata in una scatola bianca in pochi minuti, mentre le applicazioni di programmazione più grandi impiegano giorni, settimane e anche più tempo per essere testate completamente.
  • Il test white box nel test del software deve essere eseguito su un'applicazione software mentre viene sviluppata dopo che è stata scritta e di nuovo dopo ogni modifica