Questo sito utilizza cookie per raccogliere informazioni sull'utilizzo. Cliccando su questo banner o navigando il sito, acconsenti all'uso dei cookie. Leggi la nostra cookie policy.OK

Testing automatizzato: aumentare il Roi, ridurre il time-to-market

pittogramma Zerouno

Testing automatizzato: aumentare il Roi, ridurre il time-to-market

21 Lug 2011

di Nicoletta Boldrini

Per valutare se le applicazioni rispondono alle aspettative e sono allineate con i processi operativi e le esigenze del business, è indispensabile verificare la qualità del software attraverso attività di testing. Questi test sono oggi spesso ancora manuali con costi e rischi elevati; implementando funzionalità di testing automatizzate le aziende possono invece non solo accelerare tutte le fasi e i processi di test (e quindi di rilascio delle soluzioni) ma anche avere un più elevato Roi dai progetti e, soprattutto, abbassare i rischi e i costi, velocizzando il time-to-market

Che il testing sia una fase critica all’interno dello sviluppo applicativo è fuori discussione. La questione, semmai, è come migliorare processi e funzionalità di testing, come accelerare il percorso senza perdere in qualità, mantenendo attenzione e accuratezza, e, soprattutto, senza dover spendere ulteriori risorse.
La risposta sta nell’automazione.
Automatizzando gli elementi e i processi chiave delle funzionalità di testing, le organizzazioni, solitamente, riescono a ottenere evidenti benefici che vanno dalla riduzione dei rischi all’accelerazione dei rilasci delle applicazioni. In particolare, potremmo riassumere i principali vantaggi in:
1) riduzione dei rischi e aumento del Roi: molti studi dimostrano che una gestione più strutturata e automatizzata delle fasi e dei processi di test riduce l’eventualità di portare i malfunzionamenti in produzione, con conseguente rischio di inefficienza e quindi impatto sulla produttività e le performance;
2) cicli di sviluppo e rilascio delle applicazioni più veloci;
3) copertura maggiore, intesa come la possibilità di fare un numero maggiore di test e di utilizzare i modelli e le funzionalità di testing in più progetti e in più fasi dello sviluppo applicativo;
4) maggior accuratezza dei test in quanto le operazioni manuali sono sempre soggette a errori;
5) standardizzazione e formalizzazione dei processi;
6) possibilità di riutilizzo dei test, intesa come l’opportunità di avere una casistica e un archivio di test decisamente superiore rispetto al testing manuale (casistica che consente non solo di riutilizzare i modelli di test già disponibili ma anche di utilizzare i dati dei risultati precedenti per accelerare test successivi);
7) supporto all’implementazione di progetti Erp/Crm o di altre applicazioni: l’implementazione, l’upgrade, la migrazione o la modernizzazione delle applicazioni aziendali necessitano di test di regressione end-to-end per verificare che il progetto non abbia impatti negativi sui sistemi informativi (automatizzando le funzionalità di test, si possono facilitare anche questi controlli).
Ma per capire esattamente come impostare correttamente un sistema automatizzato di testing applicativo, è necessario fare alcune valutazioni iniziali riassumibili in alcune domande come:
1) Qual è il costo dell’automazione dei processi di testing e qual è il Roi?
2) Quali applicazioni e processi sono i migliori “candidati” per essere sottoposti ad automazione?
3) Sono necessari nuovi training? Qual è l’impatto sui progetti di sviluppo già programmati? E sui team di sviluppo?
4) Qual è la metodologia più corretta per automatizzare il testing effort?
5) Quali sono gli elementi coinvolti nel mantenimento dei test automatici?
6) Quando si fa una comparazione tra le differenti soluzioni di automazione del testing, quali sono gli elementi da prendere in considerazione?

Prendere spunto dalle best practice
E una volta trovate le risposte a queste domande, quando cioè risulta evidente che optare per l’automazione del testing applicativo porta dei benefici all’interno della propria organizzazione e risulta essere la scelta ottimale, è bene seguire alcune semplici best practice per non commettere errori e seguire un adeguato approccio alla transizione verso l’automazione dei processi di testing:
1) predisporre un adeguato “test plan document”: serve a pianificare tutti i processi e le fasi di testing e, soprattutto, a sistematizzare e verificare l’allineamento tra i business requirement e le funzionalità applicative oggetto di verifica;
2) suddividere tutti i test in casi/gruppi: è possibile siano necessari tutti i test identificati nel test plan ma potrebbe risultare utile raggrupparli in casi/gruppi in modo da facilitare e velocizzare i passaggi e automatizzare, magari un un’unica fase, più test in un solo processo; non solo: categorizzare i test serve anche per replicare eventualmente le verifiche su applicazioni simili, per esempio su tutte le applicazioni mission-critical, piuttosto che sulle applicazioni web, ecc.;
3) creare i test automatizzati impostandoli sulla base dei propri processi e delle proprie esigenze;
4) effettuare test data-driven per espandere la copertura: impostare cioè sistemi di testing in grado di fornire informazioni e dati utili sia ad alimentare successive fasi e livelli di testing sia ad abilitare il riuso dei test (oltre a fornire dati utili ad alimentare sistemi di analisi e controllo);
5) prevedere sistemi di verifica e controllo dei test (automatizzare non significa non controllare).
Per approfondire la tematica e capire in dettaglio come approcciare correttamente il testing applicativo facendo scelte di automazione, scarica il white paper “Best practices for implementing automated functional testing solutions”

Nicoletta Boldrini

Giornalista

Articolo 1 di 5