Che cos'è il test esplorativo? Tecniche con esempi

Sommario:

Anonim

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):

  1. 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.
  2. Carta dei test
    • Test Charter dovrebbe suggerire
      1. cosa testare
      2. come può essere testato
      3. 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
  3. 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
  4. Risultati della revisione:
    • Valutazione dei difetti
    • Imparare dai test
    • Analisi delle aree di copertura
  5. 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
  • Questo test è utile quando i documenti dei requisiti non sono disponibili o parzialmente disponibili
  • Implica un processo di indagine che aiuta a trovare più bug rispetto ai normali test-
  • Scopri i bug che normalmente vengono ignorati da altre tecniche di test
  • Aiuta ad espandere l'immaginazione dei tester eseguendo sempre più casi di test che finalmente migliorano 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 del test
  • 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 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à.