Cos'è il test esplorativo?
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 con script è solitamente un'attività non pensante in cui i tester eseguono le fasi del test e confrontano i risultati effettivi con quelli attesi. Tale attività di esecuzione dei test può essere automatizzata e non richiede molte abilità 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
- Monitoraggio delle domande e dei problemi sollevati 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
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
Conclusione
Nell'ingegneria del software, i test esplorativi vengono eseguiti per superare i limiti dei test con script. Aiuta a migliorare Test Case suite. Enfatizza l’apprendimento e l’adattabilità.