Storia della domanda
La metodologia del "gray box" è emersa come compromesso tra "black box" e "white box", per superare i limiti di questi metodi. Essa prevede una conoscenza parziale della struttura interna del sistema durante il controllo dei dati in ingresso e in uscita, ottenendo i vantaggi di entrambe le tecniche.
Problema
Spesso i compiti richiedono di sapere di più di quanto consentano le interfacce utente, ma l'accesso al codice sorgente completo è assente. Il rischio è di non testare scenari importanti legati ai meccanismi interni, ma evitando di immergersi nei dettagli architettonici come nel "white box".
Soluzione
Si applica quando c'è accesso parziale alla documentazione, all'architettura, alle API o ai servizi. Questo consente di individuare errori al confine tra il front end e il back end, e di esaminare il trattamento dei dati all'interno dei moduli.
Caratteristiche chiave:
È possibile condurre il testing secondo il metodo "gray box" se non si ha alcun accesso alla documentazione o al codice?
No. Il metodo "gray box" presuppone che il tester abbia almeno informazioni parziali sulla struttura interna dell'applicazione. Se si lavora completamente "alla cieca", si utilizza piuttosto il metodo "black box".
È considerata la visione dei log una forma di testing secondo il metodo "gray box"?
Sì, se si studiano i log per capire come il sistema tratta i dati in ingresso, ciò può essere considerato un elemento dell'approccio "gray box", poiché non ci si limita solo all'interfaccia utente.
È possibile utilizzare la metodologia "gray box" per il unit testing?
No. Il unit testing è tipicamente una zona del "white box", dove è necessaria l'accesso completo al codice, e i tester operano esattamente a livello delle funzioni interne.
Il tester ha tentato di applicare il "gray box" basandosi solo su congetture e testing dell'interfaccia utente, senza esaminare l'API e senza richiedere lo schema architettonico.
Vantaggi:
Svantaggi:
Prima di testare gli scenari di integrazione, il tester ha richiesto ai team gli schemi architettonici, ha esaminato gli endpoint delle API, ha condotto un'analisi dei log e ha potuto individuare un problema sul livello di interazione tra back end e front end.
Vantaggi:
Svantaggi: