Nella mia carriera ho testato tanti progetti derivanti da diversi settori: mondo fashion, bancario, social, agricolo, meccanico e non solo. Per tutti questi software ho preferito adottare la stessa metodologia, capendo negli anni dove funziona e dove no.
Ogni volta ho sempre pensato la stessa cosa: il miglior modo per testare un software è esplorarlo.
Ma partiamo dalla base. Cosa significa?
L’esplorazione del software è un approccio in cui i tester imparano, progettano ed eseguono i test contemporaneamente. È un metodo che si basa sull’esperienza, sull’istinto e sulle capacità di queste persone. Consente di trovare bugs, comprendere e fornire informazioni sullo stato dell’applicativo in modo da aiutare i responsabili dei progetti a prendere decisioni verso i clienti con maggiore consapevolezza.
I tester possono interagire con l’applicazione come preferiscono e possono usare le informazioni fornite dall’app per reagire, cambiare rotta ed esplorare le funzionalità senza restrizioni.
I test esplorativi sono particolarmente adatti allo sviluppo di applicativi moderni usando metodologia agile. I cicli di sviluppo sono brevi e lasciano poco tempo per la scrittura e la manutenzione formale dei casi di test. Le funzionalità spesso si evolvono rapidamente, quindi sarebbe d’aiuto ridurre al minimo questa parte. Se il test case ha buone probabilità di diventare irrilevante, perché scriverlo in primo luogo? Si rischia di dedicare tempo alla sua scrittura e manutenzione rispetto che l’effettiva esecuzione del software.
Gli obiettivi del test esplorativo sono:
- Capire come funziona l’applicazione: aiuta a capire com’è composta la sua interfaccia e quali funzionalità implementa. L’obiettivo viene spesso adottato dai tester che cominciano a lavorare su un nuovo progetto o da chi vuole capire come approcciarsi al software, identificando cosa testare. La comprensione dell’applicativo consente anche di ottenere le informazioni per scrivere i piani di test. Quest’obiettivo è utilizzato anche da tester esperti per esplorare un’applicazione e prendere consapevolezza dell’effort necessario per completare il lavoro;
- Forzare il software a mostrare le sue capacità: l’idea è mettere a dura prova il software. Questo può consentire di trovare o meno bug, ma sicuramente fornirà la prova che il software svolge la funzione per il quale è stato progettato;
- Trovare bugs: esplorare i limiti dell’applicazione e individuare potenziali punti deboli è una specialità dell’esplorazione dei test. L’obiettivo è un’esplorazione mirata, piuttosto che senza scopo, per identificare funzionalità non testate e storicamente difettose. I tester esplorativi non dovrebbero semplicemente imbattersi nei bug, ma dovrebbero concentrarsi su di essi con uno scopo e un intento.
È una tecnica che ha anche dei difetti: c’è il rischio di perdere molto tempo girovagando alla ricerca di bugs e cose da testare. Inoltre, la mancanza di preparazione e di una buona guida può portare a molte ore improduttive e a testare ripetutamente la stessa funzionalità, in particolare quando sono coinvolti più tester o team di test. Senza una buona documentazione, come fanno i tester a garantire di ottenere un buon risultato?
Ed è qui che entrano in gioco le linee guida. Esplorare senza una buona guida è come vagare per una città alla ricerca di interessanti attrazioni turistiche.
È una metodologia che porta più vantaggi che svantaggi e andrebbe diffusa maggiormente in termini culturali.
James Whittaker, autore del libro “Exploratory software testing“, c’è riuscito usando una metafora che paragona quest’approccio alla visita dei turisti nelle città.
È una metafora efficace e vincente per arrivare con più facilità ai lettori e che, riprendendola anche io, spero possa portare benefici e una maggiore conoscenza di questa tecnica. Il mio intento è diffondere maggiore consapevolezza su questo tema attraverso le sue spiegazioni e i suoi concetti, come ho già fatto in questo articolo.
Personalmente ho sempre trovato piacevole esplorare una città. Ed è la stessa sensazione che provo quando esploro un software.
Fonte: “Exploratory Software Testing: tips, tricks, tours, and techniques to guide test design”, James Whittaker

