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.

  • 🔍 Definizione di test esplorativo: I tester progettano ed eseguono i test al volo, anziché programmarli in anticipo.
  • 🆚 vs Test con script: I test predefiniti confermano i requisiti; i test esplorativi analizzano e si adattano durante la fase di test.
  • 🧠 Attività di riflessione: Si pone l'accento sull'apprendimento, la creatività e l'intuito del tester per individuare i bug nascosti.
  • 🗂️ Processo SBTM: Tassonomia dei bug, statuto del test, intervallo di tempo, revisione dei risultati e debriefing.
  • migliori Per: Requisiti mancanti, iterazioni iniziali, applicazioni critiche e tester esperti.
  • Scambio: Individua più bug e incoraggia la creatività, ma dipende fortemente dalle competenze del tester.

Che cosa sono i test esplorativi

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.

Test esplorativi

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

Test esplorativi

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
    1. cosa testare
    2. come può essere testato
    3. 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

DOMANDE FREQUENTI

I test esplorativi sono strutturati, mirati e utilizzano statuti e limiti di tempo per individuare i bug, mentre i test ad hoc sono informali e non pianificati. I test esplorativi sono documentati e ripetibili; i test ad hoc, di solito, non lo sono.

Il test esplorativo è principalmente un'attività manuale e basata sul ragionamento, poiché si affida all'intuito del tester e alle decisioni in tempo reale. Tuttavia, gli strumenti possono registrare le sessioni, acquisire i log e supportare la documentazione durante il test.

SBTM è un metodo strutturato per condurre test esplorativi in ​​sessioni a tempo limitato, definite da uno statuto. I tester documentano i risultati, quindi si confrontano per esaminare la copertura, i difetti e la necessità di ulteriori test.

L'intelligenza artificiale supporta i test esplorativi suggerendo idee di test, generando statuti, analizzando i log alla ricerca di anomalie e identificando aree non ancora testate. Potenzia l'intuito del tester anziché sostituire il processo di pensiero esplorativo.

No. I test esplorativi si basano sulla creatività umana, sulla curiosità e sulla capacità di giudizio nel settore, elementi che l'IA non può replicare completamente. L'IA fornisce supporto gestendo le analisi ripetitive, ma i tester qualificati rimangono essenziali per la fase di scoperta.

Riassumi questo post con: