Skip to content
Insight

Gestire i costi di testing di un servizio digitale

Gestire i costi di testing di un servizio digitale

Un servizio digitale deve essere sottoposto a test ripetuti, in ogni fase del suo ciclo di vita. Il testing del software comporta costi specifici, legati alle attività di predisposizione, mantenimento ed esecuzione. La scelta di optare per una strategia di testing automatizzata anziché manuale può incidere pesantemente su questi costi.

L’automazione accresce i costi di testing: sfatiamo un falso mito

Iniziamo esplorando la differenza tra test manuali e automatizzati.

Nei test manuali, un ingegnere di test esegue manualmente i test, senza ricorrere a tool o script. Con i test automatizzati, i dati e uno lo scenario vengono definiti con degli script, quindi dei tool automatici eseguono i passaggi necessari per il test. Poiché i test manuali non richiedono alcuno strumento, molte aziende li considerano più economici. Tuttavia, si tratta di una visione piuttosto miope della questione. Non prende infatti minimamente in considerazione i costi legati al personale dedicato ai test.

Per poter essere gestiti, infatti, i test manuali richiedono che un analista di test esperto descriva i diversi scenari e casi limite di cui desidera verificare il funzionamento e prepari i set di dati correlati. Un tester manuale deve poi seguire passo passo una serie di istruzioni per testare l’applicazione. Inoltre, il test manuale è lento e soggetto a errori umani. Un solo errore può significare che il personale deputato al test debba ripetere l’intera configurazione da capo.

I costi di queste tipologie di test sono funzione del numero di ore-persona dedicate a creare i test e il lavoro dei tester per seguire gli script, oltre a quelli delle macchine che questi operatori utilizzano nell’attività.

Se si desidera invece eseguire test automatizzati, sono necessari tool appositi, disponibili in licenza o open-source, ma tutti caratterizzati da un costo d’acquisizione. I test automatizzati richiedono poi lavoro per essere creati, ma non richiedono manodopera per l’esecuzione. Inoltre, la codifica dei test con script consente l’esecuzione ripetibile senza ulteriori attività preparatorie.

Sebbene l’automazione richieda un investimento iniziale più rilevante, generalmente riduce i costi complessivi e migliora la velocità di rilascio, presentando una curva di costo che decresce al passare del tempo. Secondo stime affidabili, la riduzione dei costi di test permette il rientro dei costi di sviluppo di un test automatizzato in appena 4 test di regressione automatizzati.

 

Ti piace leggere?

A noi piace scrivere, dai un’occhiata alle nostre guide e approfondimenti

Library di Innovazione Digitale
       .--.                   .---.
   .---|__|           .-.     |~~~|
.--|===|--|_          |_|     |~~~|--.
|  |===|  |'\     .---!~|  .--|   |--|
|%%|   |  |.'\    |===| |--|%%|   |  |
|%%|   |  |\.'\   |   | |__|  |   |  |
|  |   |  | \  \  |===| |==|  |   |  |
|  |   |__|  \.'\ |   |_|__|  |~~~|__|
|  |===|--|   \.'\|===|~|--|%%|~~~|--|
^--^---'--^    `-'`---^-^--^--^---'--' 

Testare tanto e testare rapidamente

Gestire il testing in modo automatico non riduce solo i costi legati al personale, ma permette anche di testare in modo più intensivo. Questo risultato si combina con una riduzione del tempo di test che può raggiungere anche il 95% rispetto ad un approccio manuale, cosa particolarmente utile soprattutto nei moderni ambienti di sviluppo basati sul modello Agile/DevOps. Infatti nel modello Agile/DevOps, che abbraccia la filosofia dell’integrazione e della distribuzione continua (CI/CD), anche il testing deve essere eseguito continuamente, di pari passo con il design e le sviluppo del software. Questo non è assolutamente praticabile con tecniche manuali.

I test manuali presentano limiti anche con alcune tipologie di test specifiche, come lo stress test, usato per verificare il comportamento di un servizio digitale in condizioni di operatività eccezionale. Non è possibile per un test manuale riprodurre uno scenario in cui un numero decisamente elevato (anche migliaia) di utenze si trovano a fruire contemporaneamente del servizio. Il testing automatico permette maggiore efficienza nella gestione di scenari complessi come questi.

 

Automatizzare tanto, ma non tutto

I test manuali sono ancora imprescindibili laddove ad essere testata è la capacità di interazione tra l’uomo e il servizio digitale, come i testi di interfaccia, usabilità o test con bassissima ripetibilità. Tuttavia, l’automazione dovrebbe essere un mantra per tutte le attività legate ai test di regressione, test delle prestazioni, test di carico e casi di test funzionali altamente ripetibili, dove il suo particolare rapporto (alti) CAPEX/(bassi) OPEX permette importanti ritorni d’investimento nel tempo.

L’appoggio di un partner competente come Bottega52 è fondamentale per essere certi che la messa a punto del sistema di testing automatizzato sia in grado di massimizzare gli effetti di questo rapporto.

 

Ti piace leggere?

A noi piace scrivere, dai un’occhiata alle nostre guide e approfondimenti

Library di Innovazione Digitale
       .--.                   .---.
   .---|__|           .-.     |~~~|
.--|===|--|_          |_|     |~~~|--.
|  |===|  |'\     .---!~|  .--|   |--|
|%%|   |  |.'\    |===| |--|%%|   |  |
|%%|   |  |\.'\   |   | |__|  |   |  |
|  |   |  | \  \  |===| |==|  |   |  |
|  |   |__|  \.'\ |   |_|__|  |~~~|__|
|  |===|--|   \.'\|===|~|--|%%|~~~|--|
^--^---'--^    `-'`---^-^--^--^---'--'