Il problema è che alcune persone non capiscono che l'automazione non è "facile" né "veloce".
Non sono d'accordo con la tua premessa qui.
Sono un grande sostenitore dei test automatizzati, non importa se si tratta di test unitari, test di integrazione o test dell'interfaccia utente. Ci sono molti ottimi strumenti disponibili per implementare test automatici.
Confrontiamo i test automatizzati con i test manuali basati sul seguente esempio:
In un'applicazione Web, testare la funzionalità "Cambia password" di un utente esistente utilizzando un browser.
Test manuale :
- Avvia l'applicazione Web
- Apri il browser
- Accidenti, c'è un errore. Perché? Oh, ho dimenticato di avviare il database!
- Ok, chiudi l'applicazione web
- Avvia il database
- Avvia l'applicazione Web
- Aggiorna il browser
- Hmm, qual era di nuovo la password del nostro utente test?
- Dai un'occhiata al database
- Oh, la tabella degli utenti è vuota! Devo creare un nuovo utente.
- Registrare un nuovo utente nell'applicazione Web: immissione di nome utente, password, indirizzo e-mail
- Perché non riesco ad accedere con il mio nuovo utente? Oh, devo fare clic sul link di conferma nell'email!
- Bene, ho dato all'utente un'e-mail come "test@example.com". Andiamo al database e impostiamo la colonna "attiva" su "Sì".
- Accesso. Questa volta funziona!
- Hmm, cosa volevo testare di nuovo ...?
Facile? Non proprio. Ci sono molte possibili insidie nel processo.
Veloce? No. Il lavoro manuale richiede tempo.
Ora, proviamo a scrivere un test automatizzato :
- Dobbiamo trovare gli strumenti per il nostro linguaggio di programmazione per avviare automaticamente il database e il web server. La ricerca e l'implementazione richiedono tempo.
- Il database deve essere in uno stato pulito all'avvio del test. La creazione degli script richiede tempo.
- Dobbiamo scrivere il test. Poiché abbiamo bisogno di un utente, dobbiamo anche registrarne uno nuovo per il nostro test. Ci vuole tempo.
- Finalmente, possiamo scrivere ciò che vogliamo testare: cambiare la password dell'utente. Con il nostro strumento di test del browser, questo viene fatto abbastanza rapidamente rispetto alle attività precedenti.
Facile? No! Avevamo bisogno di ricercare gli strumenti, implementarli, correggere alcuni bug nei nostri test.
Veloce? No! Ci vuole anche più tempo di un test manuale.
Ma qui c'è una grande differenza: per i test futuri, devi solo scrivere il test stesso , l'ultimo punto elenco nell'elenco - che è stato fatto velocemente alla pari. Non è necessario eseguire tutti gli script di ricerca e init per ulteriori test.
E dopo aver scritto il test, puoi avviarlo facilmente. In pochi secondi (o forse minuti, se l'avvio del database e l'applicazione web impiegano molto tempo) si vede se la routine "Cambia password" funziona o no. Se è presente un errore, correggilo ed esegui nuovamente il test: vedrai immediatamente se l'errore è stato corretto. Facile e veloce .
Scrivere test automatizzati non è né facile né veloce in primo luogo, ma eseguirli lo è.
E questo è il punto in cui ritorna il tempo investito.