Cos'è il grigio Box Test? Tecniche, esempio
⚡ Riepilogo intelligente
Grigio Box Il testing esamina un'applicazione con una conoscenza parziale della sua struttura interna, combinando la prospettiva dell'utente tipica del test black box con una conoscenza architetturale sufficiente a spiegare perché si è verificato un errore, anziché limitarsi a constatare che si è verificato.

Cos'è il grigio Box Prove?
Grigio Box Collaudo (scritto anche Gray) Box Il test grigio è una tecnica di test del software che testa un prodotto o un'applicazione software con una conoscenza parziale della struttura interna dell'applicazione. Lo scopo del test grigio Box Il test ha lo scopo di ricercare e identificare i difetti causati da una struttura del codice errata o da un uso improprio dell'applicazione.
In questo processo vengono comunemente identificati errori specifici del contesto relativi ai sistemi web. La tecnica aumenta copertura di prova concentrandosi su tutti i livelli di un sistema complesso piuttosto che su uno solo di essi.
Grigio Box Il test è un metodo di test del software che combina Bianco Box Collaudo and Nero Box CollaudoLa differenza tra i tre sta nella quantità di struttura interna che il tester riesce a visualizzare:
- In bianco Box È noto come testare la struttura interna (il codice).
- In nero Box Non è possibile testare la struttura interna (il codice).
- In grigio Box La verifica della struttura interna (codice) è parzialmente nota.
Il diagramma sottostante colloca i tre metodi sulla stessa scala di visibilità.
In Ingegneria del software, Grigio Box Il test offre la possibilità di testare entrambi i lati di un'applicazione, il livello di presentazione e il codice sottostante. È particolarmente utile in test d'integrazione and test di penetrazione.
Esempio di grigio Box Test: Durante il test di una funzionalità di un sito web, come ad esempio i link o i link orfani, se il tester riscontra un problema con questi link, la modifica può essere apportata direttamente nel codice HTML e verificata in tempo reale.
Perché grigio Box Collaudo
Grigio Box I test vengono eseguiti per i seguenti motivi:
- Offre i vantaggi combinati dei test black box e white box.
- Integra il contributo degli sviluppatori e dei tester, migliorando la qualità complessiva del prodotto.
- Riduce i costi generali del lungo processo di test di tipologie funzionali e non funzionali.
- Offre allo sviluppatore tempo libero sufficiente per correggere i difetti.
- I test vengono eseguiti dal punto di vista dell'utente, non del progettista.
- Un errore può essere spiegato anziché semplicemente segnalato, perché il tester può vedere il livello in cui si è verificato.
Grigio Box Test vs Nero Box vs Bianco Box Collaudo
I tre metodi non sono tanto alternative in competizione tra loro, quanto piuttosto tre livelli di accesso, e ognuno risponde a un diverso tipo di domanda. Metterli a confronto rende la scelta più concreta.
| Base | Nero Box Collaudo | Grigio Box Collaudo | Bianco Box Collaudo |
|---|---|---|---|
| Conoscenza della struttura interna | Nona | Parziale | Lunga |
| Eseguito da | Tester e utenti finali | Tester e sviluppatori che lavorano con i tester | Sviluppatori e ingegneri collaudatori |
| Principi di base della progettazione dei test | Requisiti e specifiche | Archiarchitettura, algoritmi, strutture dati e interfacce | Codice sorgente e flusso di controllo |
| Livello tipico | Test di sistema e di accettazione | Test di integrazione, penetrazione e servizi web. | Test di unità e componenti |
| Copertura misurata come | Copertura dei requisiti | Copertura di interfacce, dati e percorsi | Copertura di dichiarazioni, rami e percorsi |
| Limitazione principale | La causa di un fallimento rimane nascosta | La profondità è limitata dall'accesso consentito | Costoso e può non rilevare i requisiti mancanti |
La maggior parte delle squadre utilizza tutti e tre nel corso Ciclo di vita del test del softwaree il livello della scatola grigia è dove di solito vengono rilevati i difetti che si verificano tra l'interfaccia utente e l'archivio dati.
Grigio Box Strategia di test
Per eseguire Grey Box Per eseguire un test, non è necessario che il tester abbia accesso al codice sorgente. Un test viene progettato sulla base della conoscenza degli algoritmi, delle architetture, degli stati interni o di altre descrizioni di alto livello del comportamento del programma.
Per eseguire Grey Box Test:
- Applica le tecniche di base del test a scatola nera.
- Si basa sulla generazione di casi di test guidata dai requisiti, quindi preimposta tutte le condizioni prima che il programma venga testato con il metodo delle asserzioni.
Tecniche utilizzate per Grey Box I test sono:
- Test della matrice: Questa tecnica prevede la definizione di tutte le variabili presenti nel programma, insieme al rischio che ciascuna comporta, in modo da rendere visibili le variabili inutilizzate e quelle ad alto rischio.
- Test di regressione: Verifica se una modifica apportata alla versione precedente ha causato una regressione di altri aspetti del programma nella nuova versione. Questa verifica viene effettuata tramite strategie quali il ritest completo, il ritest dei casi d'uso a rischio e il ritest all'interno di un firewall.
- Test di array ortogonali o OAT: Garantisce la massima copertura del codice con un numero minimo di casi di test.
- Test del modello: eseguito su dati storici di precedenti difetti di sistema. A differenza del test black box, Grey Box I test analizzano il codice e determinano la causa dell'errore.
Grigio Box la metodologia di solito utilizza metodi automatizzati strumenti di test del software per condurre i test. Vengono creati stub e driver di modulo in modo che il tester non debba generare il codice manualmente.
Passaggi per eseguire Grey Box I test sono:
- Fase 1: Identificare gli input.
- Fase 2: Identificare gli output.
- Fase 3: Individuare i percorsi principali.
- Fase 4: Identificare le sottofunzioni.
- Fase 5: Sviluppare gli input per le sottofunzioni.
- Fase 6: Sviluppare gli output per le sottofunzioni.
- Passaggio 7: Eseguire il caso di test per le sottofunzioni.
- Passaggio 8: Verificare la correttezza del risultato per le sottofunzioni.
- Passaggio 9: Ripetere i passaggi da 4 a 8 per le altre sottofunzioni.
- Passaggio 10: Ripetere i passaggi 7 e 8 per le altre sottofunzioni.
I casi di prova per Grey Box I test possono riguardare aspetti quali interfaccia grafica, sicurezza, database, browser e sistema operativo, tra gli altri. Ogni caso generato necessita comunque del solito caso di prova attributi, poiché un caso che non può essere riprodotto dalla sua stessa descrizione è di scarsa utilità durante la regressione.
Dove il grigio Box Il test viene utilizzato
Questa tecnica trova applicazione ovunque un difetto possa essere diagnosticato solo esaminando due strati contemporaneamente. Gli scenari in cui viene applicata più frequentemente sono i seguenti:
- Flussi di lavoro basati su database: Un'azione viene eseguita tramite l'interfaccia utente e le righe risultanti vengono quindi interrogate direttamente per confermare che i valori, i tipi e le relazioni siano stati memorizzati come previsto.
- Servizi Web e API: viene inviata una richiesta e lo stato della risposta, le intestazioni e il payload vengono controllati rispetto alla configurazione pubblicatatract, che è la forma quotidiana di Test dell'API.
- Punti di integrazione: I messaggi che attraversano il confine tra due moduli vengono ispezionati mentre entrambi i moduli sono trattati come sistemi in esecuzione anziché come file sorgente.
- Valutazione della sicurezza: Un penetration tester, a cui viene fornito un normale account utente e una panoramica dell'architettura, riproduce la posizione di un insider, che corrisponde al modello standard di coinvolgimento grey box.
- Applicazioni web e interfacce grafiche: I link interrotti, le pagine orfane, la gestione delle sessioni e la convalida lato client vengono tutti controllati con visibilità parziale del markup e del flusso della richiesta.
In tutti questi casi, il costo complessivo dei difetti di sistema è ridotto perché i problemi vengono individuati e spiegati prima che passino ulteriormente lungo la catena di produzione. test di sistema o produzione.
Grigio Box Strumenti di test
Nessuno strumento esegue Grey Box Test in sé. Ciò di cui la categoria ha bisogno è una combinazione di un driver di interfaccia, uno strumento di ispezione per il livello sottostante e un modo per automatizzare la creazione di script per entrambi.
- Client API e di servizi web come Postman and SoapUI, utilizzato per emettere richieste e asserzioni sui codici di stato e sui corpi delle risposte.
- Client di database e strumenti di query SQL, utilizzato per verificare lo stato persistente dopo un'azione dell'interfaccia.
- Strumenti per sviluppatori del browser e proxy HTTP come Burp Suite, utilizzato per ispezionare e modificare le richieste durante le sessioni orientate alla sicurezza.
- Framework di automazione dell'interfaccia utente come Selenium, utilizzato per guidare il livello di presentazione all'interno di un test di automazione on.
- Strumenti di registrazione e monitoraggio, utilizzato per correlare un errore osservato con quanto l'applicazione ha registrato internamente in quel momento.
La scelta è meno importante del cablaggio: a meno che il driver dell'interfaccia e la fase di ispezione non vengano eseguiti nello stesso flusso di script, il risultato saranno due controlli manuali separati anziché un unico test "a scatola grigia".
Grigio Box Sfide di prova
La visibilità parziale introduce problemi che nessuno dei metodi puri presenta, e i seguenti sono quelli che i team incontrano più frequentemente:
- Quando un componente in fase di test riscontra un guasto di qualche tipo, l'operazione in corso può essere interrotta, lasciando incompiuta la parte restante della sequenza.
- Un test può essere eseguito completamente anche se il contenuto del risultato è errato, quindi la fase di verifica deve controllare i valori anziché il completamento.
- Non è possibile ottenere una copertura completa del percorso del codice, perché il tester non vede mai ogni ramo che verrebbe raggiunto dai test white box.
- La documentazione di progettazione su cui si basano i test potrebbe essere obsoleta e uno schema o una specifica di interfaccia non aggiornati invalidano silenziosamente la progettazione dei test.
- I tester necessitano sia di una conoscenza approfondita del settore che di competenze tecniche di alto livello, un profilo più ristretto da ricercare in fase di selezione.
- Distribuito e fortemente assorbentetracLe architetture complesse rendono difficile attribuire un guasto osservato a uno specifico componente interno.
Queste limitazioni sostengono che sia opportuno trattare Grey Box Il test come uno strato tra diversi piuttosto che come sostituzione degli altri, che è il punto evidenziato nell'insieme più ampio di tecniche di test del software and tipi di test del softwareSi colloca naturalmente accanto test funzionali e approcci basati sulle specifiche come test basati su modelli.

