The issue is that some individuals don't understand that automation is not "easy" nor is it "fast".
Non sono d'accordo con la tua premessa qui.
Sono un grande sostenitore dei test automatici, indipendentemente dal fatto che si tratti di test unitari, test di integrazione o test dell'interfaccia utente. Ci sono molti ottimi strumenti disponibili per implementare test automatici.
Confrontiamo i test automatici con quelli manuali in base all'esempio seguente:
In un'applicazione web, prova 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 è la password del nostro utente di prova di nuovo?
- Diamo un'occhiata al database
- Oh, la tabella degli utenti è vuota! Devo creare un nuovo utente.
- Registra un nuovo utente nell'applicazione web: immissione di nome utente, password, indirizzo email
- Perché non riesco ad accedere con il mio nuovo utente? Oh, ho bisogno di fare clic sul link di conferma nell'email!
- Bene, ho dato all'utente un'email come "[email protected]". Andiamo al database e impostiamo la colonna "attiva" su "Sì".
- Login. 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 :
- Abbiamo bisogno di trovare strumenti per il nostro linguaggio di programmazione per avviare automaticamente il database e il server web. 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.
- Abbiamo bisogno di scrivere il test. Poiché abbiamo bisogno di un utente, dobbiamo anche registrarne uno nuovo per il nostro test. Prende tempo.
- Finalmente, possiamo scrivere ciò che vogliamo testare: cambiare la password dell'utente. Con il nostro strumento di test del browser, questo è abbastanza veloce 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 del test manuale.
Ma qui c'è una grande differenza: per i test futuri, devi solo scrivere il test stesso , l'ultimo punto elenco nella lista - che è stato fatto veloce comparabile Tutte le ricerche e gli script di init non devono essere eseguiti per ulteriori test.
E dopo aver scritto il test, puoi iniziare con facilità. In pochi secondi (o forse pochi minuti, se l'avvio del database e l'applicazione web richiedono molto tempo) si vede se la routine "Cambia password" funziona o non funziona. Se c'è un bug, correggilo ed esegui di nuovo il test: immediatamente vedi se il bug è corretto. Veloce e facile .
Scrivere test automatici non è né facile né veloce in primo luogo, ma eseguirli è
E questo è il punto in cui il tempo investito ritorna.