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


