Test funzionali: best practice per l’automazione

I test funzionali, anche se effettuati su applicazioni sempre più mission-critical che impattano sui processi di business, non dovrebbero comportare attività troppo lunghe o costose. Non sarebbe uno scenario sostenibile rispetto alle esigenze odierne del business. Un approccio automatizzato al testing funzionale può migliorare la velocità e l’accuratezza dei processi di test e ridurre i rischi e gli impatti sulla qualità del software.

Pubblicato il 18 Lug 2013

AI Questions Icon
Chiedi all'AI
Riassumi questo articolo
Approfondisci con altre fonti
Test funzionali: best practice per l’automazione

I test funzionali, nell’ambito del più ampio Sdlm (Software Development Lifecycle Management), rappresentano il primo step per la garanzia della qualità del software, perché consentono di verificare non solo che l'applicazione funzioni come previsto sul fronte tecnologico ma, soprattutto, che faccia ciò che gli utenti effettivamente si aspettano rispetto alle loro richieste iniziali.

I test funzionali, di fatto, rendono conto delle esigenze degli utenti, danno agli sviluppatori la certezza che i processi di business rispettino tali esigenze e consentono ai team di Qa (Quality Assurance), di verificare che il software sia effettivamente pronto per il rilascio in produzione.

Tale premessa è doverosa dato che si riscontrano ancora alcune lacune rispetto a questo tipo di attività, spesso confusa con i cosiddetti unit test. Questi ultimi servono a verificare se il codice consente di effettuare nel modo corretto le cose per cui è stato scritto; i test funzionali sono complementari, ma molto diversi rispetto a quelli unitari perché indicano se l'applicazione ultimata offre le funzionalità volute (viste dalla prospettiva dell'utente finale e del processo di business). Assumono quindi un ruolo determinante rispetto alla strategia, agli obiettivi e alle esigenze del business.

Sebbene abbiano una funzione cruciale sul fronte della qualità del software e, quindi, del servizio applicativo reso al business, i test funzionali non dovrebbero comunque richiedere attività di lunga durata, costose o con un eccessivo dispiego di skill. Una delle possibili soluzioni viene dall’automazione dei test funzionali anche se, a volte, può risultare utile anche il testing manuale.

In linea di massima, i processi di test manuali richiedono un’esecuzione troppo lunga per le esigenze di business (data la carenza di risorse It unita ai tempi stretti di rilascio), offrono una copertura incompleta (la proliferazione di piattaforme, sistemi operativi, dispositivi client, processi di business e set di dati mandano in tilt i processi di test manuali) e comportano un maggior livello di rischio derivante dagli errori umani.

Tuttavia, in alcuni ambienti, i test manuali possono rappresentare la scelta giusta. Ad esempio, possono essere indicati per le applicazioni in fase di sviluppo, che cambiano spesso Ui (user interface) o logica e che sono sviluppate sulla base di tecnologie non supportate o toolkit Ui sviluppati internamente, oppure per attività di livello più basso quali le verifiche a livello di sistema.

Esclusi dunque alcuni casi come quelli citati, l'automazione diventa sempre più essenziale per migliorare la velocità, l'accuratezza e la flessibilità del processo di testing del software, perché consente di individuare e risolvere più precocemente un maggiore numero di difetti.

Perché scegliere l’automazione

Le organizzazioni It di qualsiasi tipologia di azienda sono oggi alle prese con una moltiplicazione dei progetti di sviluppo di applicazioni con, al contempo, una contrazione dei tempi di rilascio, cui non sempre corrisponde un aumento del budget o delle risorse. Uno scenario ancor più sfidante se pensiamo che le imprese si affidano a infrastrutture di elaborazione ormai molto complesse. Una normale organizzazione può dipendere da una serie di applicazioni sviluppate per funzionare su sistemi operativi diversi, che utilizzano client di front-end differenti, coinvolgono numerosi processi di business e interagiscono con molti set di dati separati. Testare tutte le possibili permutazioni di questi componenti crea una situazione di elevata complessità, con centinaia o migliaia di scenari di test.

Eventuali errori del software possono costare molto cari, in termini di vendite perse, improduttività dei dipendenti, insoddisfazione dei clienti, ma anche demoralizzazione dei team di sviluppo e Qa. Inoltre, tanto più avanzata è la fase di sviluppo in cui i difetti vengono individuati, tanto più questi risultano costosi da correggere (“Correggere un difetto rilevato in ambiente di produzione può costare oltre 100 volte di più che risolverlo tempestivamente già in fase di progettazione” riporta Hp nel white paper ‘Best practice per implementare soluzioni per i test funzionali automatizzati’).

La strada dell’automazione, solitamente, consente di ridurre i rischi di inefficienza e inefficacia delle soluzioni; garantendo una copertura più ampia, i test funzionali automatizzati riducono il rischio di errori in produzione e migliorano il Roi.

E la decisione di automatizzare o meno il processo di test dovrebbe essere basata proprio su criteri di Roi. In generale, il ritorno è positivo quando l'applicazione richiede test di regressione, comporta molteplici attività di creazione/patching/correzione, deve essere testata su numerose configurazioni hardware o software e supporta un ampio numero di utenti. Tuttavia, l'automazione risulta economicamente conveniente anche quando sono coinvolte attività ripetitive quali il caricamento di dati o la configurazione di sistemi o se l'applicazione deve soddisfare uno specifico Sla. Di contro, non è indicata quando si testa l'usabilità di un'interfaccia utente (Ui), si conducono test esplorativi o quando le applicazioni non sono ancora mature.

Tuttavia, quando si valutano i potenziali benefici dell'automazione, è importante considerare anche i benefici intangibili, come il morale più alto e la maggiore soddisfazione dei tester, la maggiore soddisfazione e fidelizzazione dei clienti e la migliore reputazione in termini di affidabilità del software tra gli utenti finali.

In linea generale, alcuni dei vantaggi derivanti dall’automazione del testing funzionale si possono riassumere in:

– accelerazione dell'esecuzione: i computer sono molto più veloci degli umani nell'eseguire gli script di testing funzionale, il che permette di condurre più test in meno tempo, testare più applicazioni in un dato periodo e rilasciare un maggior numero di progetti;

– copertura di test maggiore: i prodotti di testing funzionale automatizzati supportano l'esecuzione degli script di test per tutti i browser, i sistemi operativi e gli altri contesti più comuni. Con gli strumenti automatizzati, i test di regressione per applicazioni e ambienti che cambiano continuamente risultano più facili che con i processi manuali. Inoltre l’automazione dei processi di testing consente di eseguire calcoli, manipolare set di dati e creare rapidamente iterazioni multiple dei test per espandere la copertura dei test case (con gli strumenti di test automatizzati è possibile emulare rapidamente qualunque mix di transazioni e qualsiasi workload utente);

– accuratezza e rilevamento più precoce dei difetti: gli sviluppatori riescono a replicare e documentare i difetti del software in modo più rapido ed efficace, contribuendo così a sveltire i processi di sviluppo e verificando, al contempo, la corretta funzionalità su tutti gli ambienti, i set di dati e i processi di business;

– definizione di processi formalizzati: l’automazione incoraggia i team di collaudo a formalizzare i propri processi, il che conduce a una maggiore coerenza delle attività e a una migliore documentazione;

– maggiore riutilizzabilità dei test: una volta definiti gli script gli sviluppatori potranno usare, riusare e integrare la suite di test via via che apportano modifiche alle proprie applicazioni.

Best practice da ricordare

Anche quando la convenienza economica di automatizzare un’attività di test appare del tutto evidente, può comunque essere difficile determinare il modo migliore per affrontare la transizione al processo automatizzato. Hp suggerisce allora una checklist di best practice per implementare processi automatizzati di testing del software che risultino realmente efficaci rispetto alle specifiche necessità aziendali.

1) Redigere un documento con il piano del test. Comprendere le finalità dell'applicazione da testare è essenziale per il successo dell'attività; per questo è fondamentale svolgere una preliminare pianificazione che serva ad assicurare che i requisiti di test siano implementati correttamente.

2) Suddividere i test in ‘test case’ da automatizzare. Con ogni probabilità, nelle aziende non sempre risulterà possibile automatizzare tutti gli aspetti delineati dal piano di test. Per questa ragione, i test automatizzati dovrebbero concentrarsi sui complessi processi di business essenziali, associati alle funzionalità dell'applicazione e per i quali sono stati progettati in base ai requisiti.

3) Creare i test automatizzati. Sfruttare cioè le tecnologie oggi disponibili per creare i test senza dover compiere attività di scripting (esistono in commercio tool capaci di rilevare il processo di business per l'applicazione target e permettere agli utenti di creare flussi di test che in seguito potranno essere salvati e riutilizzati).

4) Espandere la copertura del testing usando funzionalità integrate per le tabelle dati: i tester possono così creare test data-dependent che utilizzano specifiche parole chiave memorizzate su fogli elettronici per popolare i campi in un’applicazione. Questa capacità permette ai collaudatori di far passare enormi volumi di dati di test attraverso l’applicazione.

5) Aggiungere verifiche ai test. I criteri effettivi che decretano il successo o l’insuccesso di un test dovrebbero essere aggiunti ai test automatizzati (per poter così effettuare delle verifiche continue alle fasi di test). I criteri comprendono verifiche del front-end dell'applicazione, del middle tier o del database di back-end. La verifica integrata del database conferma i valori registrati al suo interno e controlla l'accuratezza delle transazioni e l'integrità dei dati dei record che sono stati aggiornati, cancellati o aggiunti.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

DATA CENTER HUB

Tutti
GUIDE
RICERCHE
I PROTAGONISTI
APPROFONDIMENTI
Leggi l'articolo Rack liberi, investimenti bloccati: il paradosso dei data center sottoutilizzati
l'approfondimento
Rack liberi, investimenti bloccati: il paradosso dei data center sottoutilizzati
Leggi l'articolo Data center: perché il digital twin sta diventando uno strumento chiave per le operation
vademecum
Data center: perché il digital twin sta diventando uno strumento chiave per le operation
Leggi l'articolo Trasformatori allo stato solido: l’AI accende la corsa all’efficienza
Alimentazione data center
Trasformatori allo stato solido: l’AI accende la corsa all’efficienza
Leggi l'articolo Data center in Italia, la corsa si gioca sull’energia: 95 GW di richieste a Terna
l'analisi
Data center in Italia, la corsa si gioca sull’energia: 95 GW di richieste a Terna
Leggi l'articolo Data center, gestione dell’energia e architetture critiche con Schneider Electric
l'identikit
Data center, gestione dell’energia e architetture critiche con Schneider Electric
Leggi l'articolo Data center, la region Azure in Italia di Microsoft
l'identikit
Data center, la region Azure in Italia di Microsoft
Leggi l'articolo Sviluppo dei data center, l’approccio integrato di Deerns
l'identikit
Sviluppo dei data center, l’approccio integrato di Deerns
Leggi l'articolo Campus data center e interconnessione: come si sviluppa l’ecosistema Equinix
l'identikit
Campus data center e interconnessione: come si sviluppa l’ecosistema Equinix
Leggi l'articolo Continuità elettrica per i data center: le soluzioni di Riello UPS
l'identikit
Continuità elettrica per i data center: le soluzioni di Riello UPS
Leggi l'articolo Data center, le 50 parole chiave
glossario
Data center, le 50 parole chiave
Leggi l'articolo Equans, un approccio end-to-end per i nuovi data center
l'identikit
Equans, un approccio end-to-end per i nuovi data center
Leggi l'articolo Munters, il raffreddamento che sostiene l’evoluzione dei data center
l'identikit
Munters, il raffreddamento che sostiene l’evoluzione dei data center
Leggi l'articolo Elettrificazione e distribuzione elettrica ad alta efficienza secondo ABB
L'identikit
Elettrificazione e distribuzione elettrica ad alta efficienza secondo ABB
Leggi l'articolo Dallo staffaggio alla protezione antincendio: l’offerta Hilti per i data center
l'identikit
Dallo staffaggio alla protezione antincendio: l’offerta Hilti per i data center
Leggi l'articolo Come HiRef ottimizza il raffreddamento e l’efficienza energetica dei data center
l'identikit
Come HiRef ottimizza il raffreddamento e l’efficienza energetica dei data center
Leggi l'articolo Data center in Italia: come cambia l’ecosistema della filiera
VADEMECUM
Data center in Italia: come cambia l’ecosistema della filiera
Leggi l'articolo La corsa all’AI fa esplodere la domanda energetica dei data center
Lo studio
La corsa all’AI fa esplodere la domanda energetica dei data center
Leggi l'articolo Dal data center all’AI factory: cosa serve sapere prima di investire
Vademecum
Dal data center all’AI factory: cosa serve sapere prima di investire
Leggi l'articolo Consumi AI data center: ABB scommette sulla corrente continua
Energy efficiency
Consumi AI data center: ABB scommette sulla corrente continua
Leggi l'articolo Data center, cresce l’appeal del mercato italiano per i capitali
L'analisi
Data center, cresce l’appeal del mercato italiano per i capitali
Leggi l'articolo Data center “lights-out”: quanto manca all’infrastruttura autonoma
vademecum
Data center “lights-out”: quanto manca all’infrastruttura autonoma
Leggi l'articolo Etichetta UE per i data center: più trasparenza sui consumi
L'approfondimento
Etichetta UE per i data center: più trasparenza sui consumi
Leggi l'articolo Data center, Becker: “La sovranità digitale passa dalla dimensione regionale”
L'intervista
Data center, Becker: “La sovranità digitale passa dalla dimensione regionale”
Leggi l'articolo Rack liberi, investimenti bloccati: il paradosso dei data center sottoutilizzati
l'approfondimento
Rack liberi, investimenti bloccati: il paradosso dei data center sottoutilizzati
Leggi l'articolo Data center: perché il digital twin sta diventando uno strumento chiave per le operation
vademecum
Data center: perché il digital twin sta diventando uno strumento chiave per le operation
Leggi l'articolo Trasformatori allo stato solido: l’AI accende la corsa all’efficienza
Alimentazione data center
Trasformatori allo stato solido: l’AI accende la corsa all’efficienza
Leggi l'articolo Data center in Italia, la corsa si gioca sull’energia: 95 GW di richieste a Terna
l'analisi
Data center in Italia, la corsa si gioca sull’energia: 95 GW di richieste a Terna
Leggi l'articolo Data center, gestione dell’energia e architetture critiche con Schneider Electric
l'identikit
Data center, gestione dell’energia e architetture critiche con Schneider Electric
Leggi l'articolo Data center, la region Azure in Italia di Microsoft
l'identikit
Data center, la region Azure in Italia di Microsoft
Leggi l'articolo Sviluppo dei data center, l’approccio integrato di Deerns
l'identikit
Sviluppo dei data center, l’approccio integrato di Deerns
Leggi l'articolo Campus data center e interconnessione: come si sviluppa l’ecosistema Equinix
l'identikit
Campus data center e interconnessione: come si sviluppa l’ecosistema Equinix
Leggi l'articolo Continuità elettrica per i data center: le soluzioni di Riello UPS
l'identikit
Continuità elettrica per i data center: le soluzioni di Riello UPS
Leggi l'articolo Data center, le 50 parole chiave
glossario
Data center, le 50 parole chiave
Leggi l'articolo Equans, un approccio end-to-end per i nuovi data center
l'identikit
Equans, un approccio end-to-end per i nuovi data center
Leggi l'articolo Munters, il raffreddamento che sostiene l’evoluzione dei data center
l'identikit
Munters, il raffreddamento che sostiene l’evoluzione dei data center
Leggi l'articolo Elettrificazione e distribuzione elettrica ad alta efficienza secondo ABB
L'identikit
Elettrificazione e distribuzione elettrica ad alta efficienza secondo ABB
Leggi l'articolo Dallo staffaggio alla protezione antincendio: l’offerta Hilti per i data center
l'identikit
Dallo staffaggio alla protezione antincendio: l’offerta Hilti per i data center
Leggi l'articolo Come HiRef ottimizza il raffreddamento e l’efficienza energetica dei data center
l'identikit
Come HiRef ottimizza il raffreddamento e l’efficienza energetica dei data center
Leggi l'articolo Data center in Italia: come cambia l’ecosistema della filiera
VADEMECUM
Data center in Italia: come cambia l’ecosistema della filiera
Leggi l'articolo La corsa all’AI fa esplodere la domanda energetica dei data center
Lo studio
La corsa all’AI fa esplodere la domanda energetica dei data center
Leggi l'articolo Dal data center all’AI factory: cosa serve sapere prima di investire
Vademecum
Dal data center all’AI factory: cosa serve sapere prima di investire
Leggi l'articolo Consumi AI data center: ABB scommette sulla corrente continua
Energy efficiency
Consumi AI data center: ABB scommette sulla corrente continua
Leggi l'articolo Data center, cresce l’appeal del mercato italiano per i capitali
L'analisi
Data center, cresce l’appeal del mercato italiano per i capitali
Leggi l'articolo Data center “lights-out”: quanto manca all’infrastruttura autonoma
vademecum
Data center “lights-out”: quanto manca all’infrastruttura autonoma
Leggi l'articolo Etichetta UE per i data center: più trasparenza sui consumi
L'approfondimento
Etichetta UE per i data center: più trasparenza sui consumi
Leggi l'articolo Data center, Becker: “La sovranità digitale passa dalla dimensione regionale”
L'intervista
Data center, Becker: “La sovranità digitale passa dalla dimensione regionale”