Scatola grigia
Cos’è una scatola grigia?
La casella grigia si riferisce al test del software in cui vi è una conoscenza limitata del suo funzionamento interno. Il gray box testing è una tecnica di hacking etica in cui l’hacker deve utilizzare informazioni limitate per identificare i punti di forza e di debolezza della rete di sicurezza di un obiettivo.
Punti chiave
- Il gray box testing è una tecnica per scoprire bug del software o trovare exploit, in cui si conosce in anticipo una conoscenza limitata del software sottostante.
- Questa forma di “hacking etico” consente agli sviluppatori di software di creare correzioni e patch per impedire a malintenzionati di utilizzare questi exploit.
- Il test della scatola grigia è essenzialmente una miscela di metodologie scatola bianca (conoscenza completa) e scatola nera (non conoscenza).
Capire le scatole grigie
La scatola grigia è l’ibrido del test della scatola bianca, in cui il tester esamina la logica interna e della struttura del codice del software e del test della scatola nera, dove il tester non sa nulla del codice del software. Per comprendere il test della scatola grigia, dobbiamo prima comprendere il test della scatola nera e il test della scatola bianca.
Test della scatola nera e della scatola bianca
Il test della scatola nera non guarda altro che gli input dell’utente e l’output prodotto dal software in base a tali input. Il test della scatola nera non richiede alcuna conoscenza del linguaggio di programmazione o altri dettagli tecnici. È un tipo di test di alto livello utilizzato nei test di sistema e nei test di accettazione. Gli ingegneri del software richiedono un documento di specifica dei requisiti software (SRS) per eseguire i test della scatola nera. Questo test assume una prospettiva dell’utente finale in cui il tester della scatola nera non sa come gli output vengono generati dagli input.
Il white box testing richiede una conoscenza approfondita delle tecniche e delle piattaforme utilizzate per costruire il software, compreso il relativo linguaggio di programmazione. È un tipo di test di basso livello utilizzato nei test unitari e nei test di indicazione. Gli ingegneri del software devono comprendere il linguaggio di programmazione utilizzato per creare l’applicazione in modo che possano comprenderne il codice sorgente. Gli scopi principali del white box testing sono rafforzare la sicurezza, esaminare il modo in cui gli input e gli output fluiscono attraverso l’applicazione e migliorare il design e l’usabilità. Quando un tester della scatola bianca non ottiene l’output atteso da un dato input, il risultato è considerato un bug che deve essere corretto.
Come funziona il test della scatola grigia
Il test della scatola grigia include componenti importanti del test del riquadro bianco e nero per ottenere un risultato migliore di quello che entrambi potrebbero ottenere da soli. Sia gli utenti finali che gli sviluppatori eseguono test gray box con una conoscenza limitata (parziale) del codice sorgente di un’applicazione. Il test della scatola grigia può essere manuale o automatizzato. È più completo e richiede più tempo rispetto al test della scatola nera, ma non è così completo o richiede tempo come il test della scatola bianca. I tester della scatola grigia richiedono documenti di progettazione dettagliati.
Il test della scatola grigia implica l’identificazione di input, output, percorsi principali e sottofunzioni. Quindi passa allo sviluppo di input e output per le sottofunzioni, all’esecuzione di casi di test per le sottofunzioni e alla verifica di tali risultati.
Esempio di scatola grigia
Un tester della scatola grigia potrebbe controllare e correggere i collegamenti su un sito web. Se un collegamento non funziona, il tester cambia il codice HTML per provare a far funzionare il collegamento, quindi ricontrolla l’interfaccia utente per vedere se il collegamento funziona. Un tester della scatola grigia potrebbe anche testare un calcolatore online. Il tester definirà gli input, formule matematiche come 1 + 1, 2 * 2, 5-4 e 15/3, quindi verificherà che il calcolatore fornisca gli output corretti dati tali input. Il tester della scatola grigia ha accesso al codice HTML della calcolatrice e può modificarlo se vengono identificati errori.
Il test della casella grigia esamina sia l’interfaccia utente dell’applicazione, o il livello di presentazione, sia il suo funzionamento interno, o codice. Viene utilizzato principalmente nei test di integrazione e nei test di penetrazione, ma non è adatto per il test di algoritmi. Il test gray box viene generalmente utilizzato per testare l’interfaccia utente, la sicurezza o la funzionalità online di un’applicazione mediante tecniche quali test di matrice, test di regressione, test di array ortogonali e test di pattern. È più probabile che i tester della scatola grigia identifichino problemi specifici del contesto.
“Grigio” si riferisce alla capacità parziale del tester di vedere il funzionamento interno dell’applicazione. “Bianco” si riferisce alla capacità di vedere attraverso l’interfaccia del software al suo funzionamento interno, e “nero” si riferisce all’incapacità di vedere il funzionamento interno del software. Il test della scatola grigia è talvolta chiamato test traslucido, mentre il test della scatola bianca è talvolta chiamato test chiaro e il test della scatola nera può anche essere chiamato test opaco.