
Che cos'è il test esplorativo?
TEST ESPLORATORI è 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. Possono annotare idee su cosa testare prima dell'esecuzione del test. Il focus del test esplorativo è 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.
Con il test con script, si progettano prima i casi di test e successivamente si procede con l'esecuzione del test. Al contrario, il test esplorativo è un processo simultaneo di progettazione ed esecuzione del test, tutti eseguiti contemporaneamente.
L'esecuzione del test con script è di solito un'attività non pensante in cui i tester eseguono i passaggi del test e confrontano i risultati effettivi con i risultati attesi. Tale attività di esecuzione dei test può essere automatizzata non richiede molte abilità cognitive.
Sebbene l'attuale tendenza nei test del software sia quella di spingere verso l'automazione , i test esplorativi sono un nuovo modo di pensare. L'automazione ha i suoi limiti


Differenze tra test con script e test 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 |
Coinvolge test confermati | Coinvolge le indagini |
Riguarda i test di controllo | Riguarda il miglioramento del design dei test |
Come fare un discorso: leggi da una bozza | Come fare una conversazione - è spontaneo |
Lo script ha il controllo | La mente del tester ha il controllo |
Test esplorativi -
- Non è un test casuale ma è un test ad hoc con lo scopo di trovare bug
- È strutturato e rigoroso
- È cognitivamente (pensiero) strutturato rispetto alla struttura procedurale dei test con script. Questa struttura deriva da Charter, time boxing ecc.
- È altamente istruibile e gestibile
- Non è una tecnica ma è un approccio. Le azioni che esegui in seguito dipendono da ciò che stai facendo attualmente
Come eseguire test esplorativi
Di seguito è riportato un processo passo passo su Come eseguire il test esplorativo, chiamato anche gestione dei test basati sulla sessione (ciclo SBTM):
- Crea una tassonomia dei bug (classificazione)
- Classificare i tipi comuni di errori riscontrati nei progetti precedenti
- Analizza l'analisi della causa principale dei problemi o dei guasti
- Trova i rischi e sviluppa idee per testare l'applicazione.
- Carta dei test
- Test Charter dovrebbe suggerire
- cosa testare
- come può essere testato
- Cosa deve essere guardato
- Le idee di test sono il punto di partenza dei test di esplorazione
- Il test charter aiuta a determinare come l'utente finale potrebbe utilizzare il sistema
- Test Charter dovrebbe suggerire
- Time Box
- Questo metodo include una coppia di tester che lavorano insieme per non meno di 90 minuti
- Non ci dovrebbe essere alcun tempo di interruzione in quelle sessioni di 90 minuti
- Timebox può essere prolungato o ridotto di 45 minuti
- Questa sessione incoraggia i tester a reagire alla risposta del sistema e prepararsi per il risultato corretto
- Risultati della revisione:
- Valutazione dei difetti
- Imparare dai test
- Analisi delle aree di copertura
- Debriefing:
- Compilazione dei risultati di output
- Confronta i risultati con la carta
- Verificare se sono necessari ulteriori test
Ad esempio, durante l'esecuzione esplorativa, è necessario fare quanto segue:
- La missione del test dovrebbe essere molto chiara
- Prendi appunti su ciò che deve essere testato, perché deve essere testato e la valutazione della qualità del prodotto
- Monitoraggio di domande e problemi sollevati durante i test esplorativi
- Meglio accoppiare i tester per test efficaci
- Più testiamo, più è probabile che vengano eseguiti 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 migliorato la qualità del software
- Rischi - Quali rischi devono essere coperti e quali sono tutti importanti?
- Registro di esecuzione del test: registrazioni sull'esecuzione del test
- Problemi / domande: prendi appunti sulla domanda e sui problemi del sistema
Test esplorativi più intelligenti trovano più errori in meno tempo.
Pro e contro dei test esplorativi
Pro | Con |
---|---|
|
|
Sfide dei test esplorativi:
Ci sono molte sfide per i test esplorativi e queste sono spiegate di seguito:
- Imparare a utilizzare l'applicazione o il sistema software è una sfida
- La replica del fallimento è difficile
- Determinare se è necessario utilizzare strumenti può essere difficile
- Determinare i migliori casi di test da eseguire può essere difficile
- Il report dei risultati del test è una sfida poiché il report non ha script o casi pianificati da confrontare con il risultato o il risultato effettivo
- La documentazione di tutti gli eventi durante l'esecuzione è difficile da registrare
- Non so quando interrompere il test poiché i test esplorativi hanno casi di test definiti da eseguire.
Quando si utilizzano i test esplorativi?
I test esplorativi possono essere ampiamente utilizzati quando
- Il team di test ha tester esperti
- È richiesta un'iterazione iniziale
- C'è un'applicazione critica
- Nuovi tester sono entrati nel team
Conclusione:
In Ingegneria del software, il test esplorativo viene eseguito per superare i limiti dei test con script. Aiuta a migliorare la suite dei casi di test. Entra in empatia con l'apprendimento e l'adattabilità.