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: