Cos'è il test esplorativo?
⚡ Riepilogo intelligente
Il test esplorativo è un approccio di test in cui i tester progettano ed eseguono i casi di test simultaneamente, senza scriptarli in anticipo, ponendo l'accento sull'indagine, l'apprendimento e l'intuito del tester per scoprire difetti che i test scriptati spesso non rilevano, ed è ampiamente utilizzato nello sviluppo Agile.

Cos'è il test esplorativo?
Test esplorativi è un tipo di test del software in cui i casi di test non vengono creati in anticipo ma i tester controllano il sistema al volo. Potrebbero annotare idee su cosa testare prima dell'esecuzione del test. Il focus dei test esplorativi è più sul test come attività di “pensiero”.
Il test esplorativo è ampiamente utilizzato nei modelli Agile e riguarda la scoperta, l'indagine e l'apprendimento. Sottolinea la libertà personale e la responsabilità del singolo tester.
Perché i test esplorativi?
Con il test scriptato, si progettano prima i casi di test e poi si procede con l'esecuzione del test. Al contrario, il test esplorativo è un processo simultaneo di progettazione ed esecuzione del test, il tutto svolto contemporaneamente.
L'esecuzione di test tramite script è solitamente un'attività non cognitiva in cui i tester eseguono i passaggi del test e confrontano i risultati effettivi con quelli attesi. Tale attività di esecuzione dei test può essere automatizzata poiché non richiede particolari capacità cognitive.
Sebbene la tendenza attuale nei test del software sia quella di spingere automazione, i test esplorativi rappresentano un nuovo modo di pensare. L'automazione ha i suoi limiti
Differenze tra test con script ed esplorativi
| Test con script | Test esplorativi |
|---|---|
| Diretto dai requisiti | Diretto dai requisiti ed esplorato durante i test |
| Determinazione dei casi di test con largo anticipo | Determinazione dei casi di test durante il test |
| Conferma del test con i requisiti | Indagine sul sistema o sull'applicazione |
| Enfatizza la previsione e il processo decisionale | Enfatizza l’adattabilità e l’apprendimento |
| Implica test confermati | Coinvolge l'indagine |
| Riguarda il controllo dei test | Riguarda il miglioramento della progettazione dei test |
| È come fare un discorso: leggi da una bozza | Come fare una conversazione: è spontaneo |
| La sceneggiatura ha il controllo | La mente del tester ha il controllo |
Tecniche di test esplorativo
- Non si tratta di test casuali ma di test ad hoc con lo scopo di individuare bug
- È strutturato e rigoroso
- È cognitivamente (pensando) strutturato rispetto alla struttura procedurale del test con script. Questa struttura deriva da Charter, time boxing ecc.
- È altamente insegnabile e gestibile
- Non è una tecnica ma è un approccio. Le azioni che eseguirai successivamente dipenderanno da ciò che stai facendo attualmente
Come eseguire i test esplorativi
Di seguito è riportato un processo passo dopo passo su come eseguire un test esplorativo, noto anche come gestione dei test basata sulla sessione (ciclo SBTM):
Passaggio 1) Creare una tassonomia dei bug (classificazione)
- Classificare i tipi comuni di guasti riscontrati nei progetti passati
- Analizzare l'analisi della causa principale dei problemi o dei guasti
- Trova i rischi e sviluppa idee per testare l'applicazione.
Passaggio 2) Carta di prova
- Test Charter dovrebbe suggerire
- cosa testare
- come può essere testato
- Cosa bisogna guardare
- Le idee di test sono il punto di partenza dei test esplorativi
- La carta dei test aiuta a determinare come l'utente finale potrebbe utilizzare il sistema
Passaggio 3) Tempo Box
- Questo metodo prevede che una coppia di tester lavori insieme per non meno di 90 minuti
- Non dovrebbero esserci interruzioni durante la sessione di 90 minuti
- Il timebox può essere esteso o ridotto di 45 minuti
- Questa sessione incoraggia i tester a reagire alla risposta del sistema e a prepararsi per il risultato corretto
Passo 4) Revvisualizza i risultati
- Valutazione dei difetti
- Imparare dai test
- Analisi delle aree di copertura
Passaggio 5) Debriefing
- Compilazione dei risultati di output
- Confronta i risultati con la carta
- Verificare se sono necessari ulteriori test
migliori pratiche Test esplorativi
Durante l'esecuzione esplorativa, è necessario fare quanto segue:
- La missione dei test dovrebbe essere molto chiara
- Prendi appunti su cosa deve essere testato, perché deve essere testato e sulla valutazione della qualità del prodotto
- Tracking domande e problematiche emerse durante i test esplorativi
- Meglio accoppiare i tester per test efficaci
- Più testiamo, più è probabile che si eseguano casi di test corretti per gli scenari richiesti
È molto importante prendere un documento e monitorare quanto segue
- Copertura dei test: se abbiamo preso appunti sulla copertura dei casi di test e se abbiamo migliorato la qualità del software
- Rischi – Quali rischi devono essere coperti e quali sono tutti quelli importanti?
- Log di esecuzione del test – Registrazioni sull'esecuzione del test
- Problemi/query: prendi appunti sulla domanda e sui problemi del sistema
Test esplorativi più intelligenti rilevano più errori in meno tempo.
Pro e contro dei test esplorativi
Vantaggi
- Questo test è utile quando i documenti dei requisiti non sono disponibili o sono parzialmente disponibili
- Implica un processo di indagine che aiuta a trovare più bug rispetto ai normali test-
- Scopri bug che normalmente vengono ignorati da altre tecniche di test
- Aiuta ad espandere l'immaginazione dei tester eseguendo sempre più casi di test, migliorando infine anche la produttività
- Questo test approfondisce la parte più piccola di un'applicazione e copre tutti i requisiti
- Questo test copre tutti i tipi di test e copre vari scenari e casi
- Incoraggia la creatività e l'intuizione
- Generazione di nuove idee durante l'esecuzione dei test
Svantaggi
- Questo test dipende esclusivamente dalle capacità del tester
- Limitato dalla conoscenza del dominio del tester
- Non adatto per tempi di esecuzione lunghi
Sfide dei test esplorativi
Ci sono molte sfide legate ai test esplorativi e quelle sono spiegate di seguito:
- Imparare a utilizzare l'applicazione o il sistema software è una sfida
- La replica del fallimento è difficile
- Determinare se è necessario utilizzare gli strumenti può essere difficile
- Determinare i migliori casi di test da eseguire può essere difficile
- La segnalazione dei risultati del test è una sfida in quanto il rapporto non contiene script o casi pianificati da confrontare con il risultato o l'esito effettivo
- La documentazione di tutti gli eventi durante l'esecuzione è difficile da registrare
- I test esplorativi non prevedono casi di test definiti da eseguire, il che rende difficile decidere quando interromperli.
Quando utilizzare i test esplorativi?
I test esplorativi possono essere ampiamente utilizzati quando
- Il team di test dispone di tester esperti
- È necessaria un'iterazione anticipata
- C'è un'applicazione critica
- Nuovi tester sono entrati nel team


