← WEBZINEworldChi siamoMedia kitContatti

Il costo nascosto del saltare i test automatizzati

I test automatizzati raramente appaiono in una demo di prodotto, e questo è esattamente il problema. Una demo mostra il percorso felice: ogni clic funziona, ogni schermata si carica, ogni pulsante si comporta bene. Quella rifinitura esiste perché qualcuno l'ha provata, non perché il software sia solido sotto. Gli utenti reali cliccano fuori ordine, su connessioni lente, su telefoni che nessuno ha testato. I test automatizzati sono ciò che intercetta quei momenti prima che lo facciano i clienti, silenziosamente, molto prima che qualcuno noti il disastro.

Perché i team saltano i test automatizzati all'inizio

Saltare i test automatizzati sembra una scorciatoia intelligente quando una scadenza è vicina. Un team decide di spedire prima e scrivere la copertura dei test più tardi, ma quel 'più tardi' raramente arriva. Questa scelta non è spericolata di per sé. Diventa un problema quando si ripete a ogni sprint, perché senza controlli automatizzati, ogni rilascio è un gioco d'azzardo.

Il costo dei test superficiali non è solo una lamentela degli sviluppatori. Secondo un sondaggio nazionale, strumenti e metodi di test insufficienti costano ogni anno all'economia statunitense tra $22.2 e $59.5 miliardi, con circa metà di questo denaro speso in test extra dagli sviluppatori di software e circa metà dagli utenti di software per evitare guasti. Pertanto, la fattura non scompare quando un team salta i test automatizzati. Si sposta semplicemente più avanti nella linea, a chiunque trovi il bug per primo.

Ingegnere QA che verifica i risultati dei test automatizzati su un monitor

Cosa intercettano realmente i test automatizzati

I test automatizzati sono noiosi per design, e questo è l'intero punto. Controllano lo stesso flusso di login, lo stesso pulsante di checkout, la stessa risposta API, più e più volte, senza lamentarsi. Una persona che testa manualmente si stanca, salta passaggi o presume che nulla sia cambiato dalla settimana scorsa. Un test automatizzato non presume nulla; esegue semplicemente, intercettando i bug prima che lo facciano i clienti.

Considera un vero rivenditore online che ha lasciato che la sua copertura automatizzata scendesse sotto il 40 percento mentre il suo prodotto continuava a crescere. Con il moltiplicarsi di dispositivi, lingue e integrazioni social, è aumentato anche il carico di lavoro manuale. Alla fine, il numero di tester necessari per supportare il progetto è quasi raddoppiato, il che si è tradotto in $500k di costi aggiuntivi. Non si tratta di un caso limite. È ciò che accade quando i test rimangono manuali mentre il prodotto non rimane piccolo.

Piccolo team software che discute di test automatizzati durante una revisione dello sprint

Il costo nascosto del saltare i test automatizzati

Il prezzo del saltare i test automatizzati raramente emerge il primo giorno. Invece, appare mesi dopo come debito di test, un termine per la copertura che non è mai stata costruita e script che nessuno mantiene. Come dice un'analisi del settore, il debito di test è il costo accumulato di script non mantenuti, percorsi di codice non testati e copertura che non è mai stata costruita. Nel frattempo, quel debito non siede in silenzio; si compone ad ogni sprint.

Questo divario è spesso invisibile finché qualcosa non si rompe, poiché il debito di test vive nel divario tra ciò che il tuo team testa e ciò che la tua applicazione fa effettivamente, e quel divario è spesso invisibile finché qualcosa non si rompe. Quindi un team continua a spedire funzionalità, sicuro che le cose vadano bene, fino a quando una regressione raggiunge la produzione in un tranquillo venerdì pomeriggio. Inoltre, il bilancio a lungo termine include più di un brutto pomeriggio: maggiori costi di manutenzione, un rischio più elevato di bug e regressione, un declino della produttività del team e una diminuita fiducia nelle suite di test.

Prendere scorciatoie nei test ha anche un effetto composto sulla fiducia tra i team e i loro utenti. Il debito di test si verifica quando tagli qualche angolo durante il processo di test. Questo consente un'esecuzione più rapida. Ma poiché i test sono cruciali quando si tratta del processo di sviluppo, questo può lasciarti con molti problemi da risolvere in seguito. In breve, la scorciatoia compra velocità ora e addebita interessi dopo.

Come iniziare ad aggiungere test automatizzati senza rallentare i rilasci

Partire da zero copertura sembra travolgente, quindi la maggior parte dei team si blocca invece di iniziare. Una mossa migliore è più piccola: scegli i percorsi che farebbero più male se si rompessero, come accesso, checkout o fatturazione, e automatizza quelli prima del prossimo rilascio. Ad esempio, l'abitudine di pianificare la scalabilità presto cambia le decisioni molto prima che il codice esista, poiché l'investimento più conveniente viene fatto prima di scrivere la prima riga di codice: spendi due settimane sull'architettura.

Nel frattempo, la maggior parte dei team non ha bisogno di scegliere un estremo. I dati del settore mostrano che i test solitamente fondono lavoro manuale e automatizzato invece di sostituire completamente uno con l'altro: due terzi delle aziende di sviluppo software impiegano i test in un rapporto 75:25 (manuale: automazione) o 50:50. Quindi l'obiettivo non è zero test manuali dall'oggi al domani. È un movimento costante verso una maggiore copertura automatizzata sui percorsi che contano di più.

Anche la pazienza paga più velocemente di quanto la maggior parte dei team si aspetti. Circa un quarto delle aziende che hanno investito nell'automazione dei test ha concordato che il proprio ROI è stato "immediato" e un ulteriore 24% ha riportato un aumento del ROI entro i primi sei mesi. Pertanto, il ritorno sui test automatizzati non è una promessa distante. Appare entro pochi mesi per la maggior parte dei team che si impegnano in questo.

I test automatizzati valgono l'attrito iniziale

I test automatizzati costano tempo ora, nella configurazione, nella manutenzione, nella disciplina di scriverli accanto alle funzionalità anziché dopo. Tuttavia, saltare i test automatizzati non rimuove quel costo. Lo ritarda solo, nascondendolo dentro ticket di supporto, hotfix e una lista crescente di cose che nessuno osa toccare. I team che trattano i test automatizzati come parte della costruzione, non come un passaggio extra, rilasciano con più sicurezza e meno sorprese prima di un rilascio. Se il tuo progetto funziona ancora su controlli manuali e speranza, inizia con un percorso critico questa settimana. Una copertura piccola e coerente batte un piano perfetto che non viene mai rilasciato.

Scoprite di più sui test automatizzati

enEnglishfrFrançaisesEspañolitItalianoptPortuguêsnlNederlands