La mia risposta? Forse, probabilmente no .
I test EOE sono buoni quando sono molto semplici. Se hai intenzione di coprire scenari di base, puoi riuscire ad ottenere qualche vantaggio con i test EOE. Ma se hai un'applicazione davvero complessa e di grandi dimensioni (mission critical o no), questi test EOE saranno costosi da mantenere e devi conoscere il tuo scenario per valutare se ne vale la pena.
Alcuni anni fa il blog dei test di Google ha discusso di questo argomento. Posso solo essere d'accordo con l'autore. Un buon test deve essere veloce , affidabile e isolare i guasti , caratteristiche che i test EOE non sono in grado di fornirti.
Ho lavorato su un'applicazione che ha più di 12 ore di test end-to-end che coprono molti scenari. Alla fine siamo riusciti a distribuire questi test su macchine diverse, controllando l'inizio, l'esecuzione e la fine dei test, raccogliendo e unendo i risultati. L'applicazione testata era un'applicazione monolite (che è più facile da installare ed eseguire per testare) ed è stato un incubo mantenere i test.
Per la maggior parte del tempo abbiamo mantenuto i test invece di rilevare i bug dai loro risultati. Scopri l'origine di un bug in un test end-to-end richiede molto tempo. Abbiamo anche affrontato molti test "falsi negativi" e poco tempo per capire il problema e correggerlo: problemi di caricamento dell'applet Java, elemento previsto non trovato sulla pagina (oltre ad altri problemi relativi alla velocità di automazione), mantenere il codice di query che vengono utilizzati solo nel test della memoria del database (poiché la query originale utilizza un codice specifico del database), ecc.
Tutto ciò ha bisogno di persone che si mantengano attive. Alla fine stiamo iniziando a eliminare alcuni test EOE e sostituirli con molti test unità / integrazione.
Quindi, il mio consiglio conservatore è usare la piramide dei test di Google:
Come prima ipotesi, Google suggerisce spesso una divisione del 70/20/10: 70% di test unitari, 20% di test di integrazione e 10% di test end-to-end. Il mix esatto sarà diverso per ogni squadra, ma in generale dovrebbe mantenere quella forma piramidale.