Come miglioriamo i test di regressione


Scritto da Manuel Kaiser, Software Tester

Immagina qualsiasi attività ripetitiva a cui stai lavorando. Se aumenti il ​​tempo dedicato all'attività, ti aspetteresti un risultato migliore – "migliore" in termini di maggiore quantità o "migliore" in termini di maggiore qualità. Tuttavia, se la qualità non aumenta, inizi a chiederti: esiste un modo più efficace per svolgere questo compito?

Noi, il team addetto al controllo qualità di adidas Runtastic, abbiamo sperimentato questa situazione esatta quando fumavamo testando le nostre app. Usiamo il termine "test del fumo" per l'ultima fase di test delle build di app prima di rilasciarle. Questo tipo di test copre sostanzialmente le funzionalità più importanti delle app. Abbiamo appreso che ogni versione richiedeva più tempo per i test. Anche se ci siamo presi del tempo, la qualità non è aumentata proporzionalmente.

Sfide all'interno del test del fumo

Per risolvere questo problema, abbiamo valutato il test del fumo esistente. Nel primo passaggio, abbiamo identificato tre sfide chiave:

  • È davvero utile eseguire due cicli di test su ciascuna piattaforma?
    Fino ad allora avevamo testato ogni versione candidato sia su una versione precedente che sull'ultima versione di ciascun sistema operativo. Quindi abbiamo sempre eseguito quattro cicli di test in totale: due su iOS e due su Android.
  • È davvero utile avere la stessa configurazione per ogni ciclo di test? Alcuni test potrebbero essere ridondanti?
    Fino ad allora avevamo utilizzato lo stesso set di casi di test per ogni test e non pensavamo a quali parti dell'app fossero realmente interessate dalle modifiche alla versione che dovevano essere testate. Se, ad esempio, ci fossero solo miglioramenti nella sezione del piano di formazione, perché dovresti testare anche il newsfeed dell'app?

Il nostro modo di gestire il test del fumo è il modo migliore per ottenere il massimo livello di qualità nell'app? [19659011] Fino ad allora avevamo usato casi di test scritti per fare il test del fumo. Uno dei maggiori vantaggi dei casi di test scritti è stato che persino tester per principianti potevano svolgere un giro di prova. D'altra parte, l'uso di casi di test è stato monotono per tester esperti e ha introdotto il rischio di perdere bug dolorosi.

Test di messa a fuoco su parti che sono state aggiornate

Dopo aver identificato le sfide, siamo passati alla creazione di un nuovo modo di fumare test. Questo è iniziato con la ridenominazione del test del fumo in test di regressione. Perché lo abbiamo rinominato in questo? Il nostro settore definisce i test di regressione come il tipo di test che garantisce che la funzionalità del software sia ancora presente dopo aver aggiunto modifiche a questo software. Tuttavia, il test del fumo si concentra sulla ricerca di guasti nella funzionalità principale che bloccano un futuro aggiornamento del software. Tenendo presente questa terminologia, il test di regressione copre meglio ciò che vogliamo ottenere con questo tipo di test: Il nostro obiettivo è garantire che le parti dell'app che sono state interessate dalle modifiche continuino a funzionare.

Test con l'utente flussi invece di casi di test

Al fine di evitare casi di test ridondanti e di rendere i test più interessanti, abbiamo deciso di rinunciare ai casi di test scritti e passare a una mappa mentale che mostra i flussi degli utenti per la maggior parte delle funzionalità che si possono trovare nelle nostre app . Un flusso utente è un modo chiaro per rispondere alla seguente domanda: Cosa deve fare un utente per eseguire le operazioni all'interno della nostra app ? Esempio: cosa è necessario per eseguire una corsa con l'app Runtastic in cui l'utente vuole essere seguito dai suoi amici?

Un dispositivo diverso per ogni flusso

Quindi era rimasta una sfida: due round di test su ogni piattaforma. Ci è stato chiaro che l'esperienza degli utenti nelle nostre app è diversa su un dispositivo che funziona su Android 5 rispetto a un dispositivo che utilizza Android 8. Abbiamo superato questa sfida testando ogni flusso su un dispositivo diverso o – per essere più precisi – con una versione diversa del sistema operativo. Abbiamo deciso di continuare i test separati per iOS e Android. Testiamo un insieme simile di flussi su ciascuna piattaforma, ma all'interno di ogni piattaforma utilizziamo dispositivi diversi.

Effettua i test entro 48 ore

Il nuovo metodo di test è stato un buon inizio. Ma un inizio ancora migliore è stato il nuovo modo di testare con un limite di tempo. Abbiamo concordato di eseguire il test di regressione entro 48 ore perché se potessimo farlo entro 48 ore, saremmo sicuri che questo è il modo giusto per gestire questo tipo di test in futuro quando vogliamo spedire gli aggiornamenti delle app in intervalli di tempo più brevi .

Feedback della squadra sul nuovo processo

Finora abbiamo fatto un paio di rilasci con il nuovo metodo di test di regressione. Ora è tempo di valutare il processo. Un modo per valutare il processo di test di regressione è quello di raccogliere feedback dalle persone coinvolte nel processo – tester e responsabili dei test.

I responsabili dei test fanno parte della squadra . Il loro feedback riflette l'opinione della squadra sul nostro nuovo test di regressione. Prima è stato menzionato che ci aspettavamo anche un modo più appropriato per gestire intervalli di tempo più brevi tra le versioni. Questo è stato anche il feedback della squadra. Siamo tutti d'accordo sul fatto che la nostra nuova configurazione di test accanto all'automazione dei test è lo strumento giusto quando si tratta di qualità in intervalli di tempo più brevi tra le versioni. Un altro aspetto positivo menzionato dalle squadre è la considerazione dei flussi di utenti. Rende i test molto più realistici.

Feedback del tester

I tester amano molto il nuovo processo. Non si annoiano più facendo le stesse fasi di prova con un muro di testo più e più volte. Ora hanno la possibilità di essere creativi e proporre nuovi approcci per testare l'app.

Spazio per miglioramenti futuri

Anche se il nuovo processo è un grande passo avanti per noi con il test delle nostre app, c'è ancora spazio per miglioramenti. Come QA dobbiamo lavorare per stabilire una migliore comprensione dell'impatto delle modifiche per una versione. Solo comprendendo meglio quali funzionalità dell'app sono interessate dalle modifiche, possiamo selezionare i flussi utente appropriati per i test. Con i giusti flussi di utenti, il nuovo processo di test di regressione consentirà di rilasciare aggiornamenti per le nostre app in intervalli di tempo più brevi.

***

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *