Negli ultimi anni, il quality engineering (QE) è diventato una disciplina essenziale per garantire la qualità dei prodotti software ed ha superato i metodi di testing tradizionali per abbracciare un approccio più ampio e integrato lungo tutto il ciclo di vita delle applicazioni. Se in passato i processi di controllo qualità venivano inseriti nelle fasi finali dello sviluppo, oggi il QE riveste un ruolo centrale ed interviene in ogni fase della progettazione e del rilascio dei prodotti digitali. La 16a edizione del World Quality Report 2024, curata da Capgemini in collaborazione con Opentext, documenta questo cambiamento attraverso un’indagine su 1.750 organizzazioni di vari settori a livello globale. Il report evidenzia come il QE si sia evoluto da semplice attività di verifica della qualità a una funzione strategica per assicurare valore e soddisfazione al cliente, con implicazioni rilevanti in termini di innovazione tecnologica e automazione.
Cos’è il quality engineering?
E’ possibile definire il quality engineering come l’insieme di pratiche, strumenti e metodologie impiegate per assicurare la qualità dei prodotti software e dei sistemi IT, sin dalle prime fasi del loro sviluppo. In altre parole, il QE non si limita a testare che il software funzioni correttamente, ma include anche processi di progettazione orientati al miglioramento qualitativo. I quality engineer, o ingegneri della qualità lavorano a stretto contatto con i team di sviluppo, integrando strumenti di automazione e tecnologie avanzate come l’intelligenza artificiale per monitorare e migliorare ogni aspetto della qualità del prodotto.
In una fase, come quella attuale, caratterizzata da una crescente domanda di software affidabili, sicuri e personalizzati, il QE è un’evidente necessità. La diffusione dell’e-commerce, delle applicazioni mobile e dei servizi basati su cloud ha aumentato la complessità dei sistemi informatici, e ogni errore nel software può avere un impatto economico considerevole. Inoltre, l’evoluzione delle normative in tema di sicurezza e protezione dei dati ha posto ulteriori pressioni sui team di quality engineering, che devono garantire la conformità alle normative internazionali. La crescente dipendenza delle aziende dall’IT e la rapida evoluzione tecnologica hanno spinto molte organizzazioni ad adottare approcci di QE avanzati, integrati nei cicli di sviluppo Agile e DevOps. Da un lato, ciò riduce il tempo necessario per testare e rilasciare nuove funzionalità, dall’altro assicura che la qualità non venga compromessa per accelerare i tempi di sviluppo.
World Quality Report, i trend
Il World Quality Report mette in luce tre trend in particolare:
- Adozione della Gen AI: Il 68% delle aziende intervistate sta già utilizzando o ha completato progetti pilota con l’AI generativa per le attività di QE, come la generazione di dati di test e la creazione di casi di test. Questa tecnologia promette di migliorare la produttività, ridurre i tempi di rilascio e aumentare la precisione dei test automatizzati.
- Automazione dei processi: Sempre più aziende stanno passando all’automazione del QE, con il 29% delle organizzazioni che ha integrato completamente la Gen AI nei processi di automazione. L’automazione consente di ridurre i costi e i tempi di sviluppo, mentre la Generative AI facilita la creazione di test complessi e adattivi.
- Passaggio a metodologie Agile e DevOps: Circa il 40% delle organizzazioni ha integrato sistemi di quality engineer nei team Agile per rispondere alle esigenze di velocità e qualità dei mercati digitali. Questo passaggio ha trasformato i quality engineer in Software Development Engineer in Test (Sdet), figure professionali con competenze tecniche avanzate in grado di supportare sia lo sviluppo che la qualità.
Questi tre trend mostrano come il quality engineering stia evolvendo verso un modello di testing proattivo e data-driven, integrando le più recenti innovazioni IT e aumentando l’efficacia dei processi di controllo qualità. Mentre la domanda crescente di prodotti software impeccabili ha spinto le aziende a investire in QE, rendendo questa disciplina un pilastro essenziale della trasformazione digitale.
Gli strumenti IT funzionali al quality engineering
Nel contesto odierno, il quality engineering si intreccia con le innovazioni IT per rispondere alle sfide dei mercati globali. Secondo il World Quality Report 2024, l’adozione di tecnologie come la GenAI e i sistemi di automazione avanzati segna una svolta nel modo in cui le aziende approcciano la qualità del software. L’integrazione dell’IT consente di:
- Ridurre i tempi di rilascio: Attraverso l’automazione dei processi di testing, il QE permette alle aziende di immettere nuovi prodotti sul mercato più velocemente, un aspetto fondamentale in un contesto competitivo come quello attuale.
- Incrementare la precisione del testing: Grazie ai dati raccolti e analizzati tramite AI, i team QE possono identificare con maggiore precisione difetti e vulnerabilità, minimizzando il rischio di errori critici in fase di rilascio.
- Garantire la conformità alle normative: L’evoluzione delle leggi in tema di protezione dei dati e sicurezza informatica richiede l’adozione di strumenti che assicurino la tracciabilità e l’aderenza ai requisiti legali. Tecnologie avanzate di tracciamento e archiviazione delle attività QE facilitano la documentazione delle operazioni di testing, essenziale per le certificazioni di conformità.
Di fatto sono quattro le famiglie di strumenti funzionali al raggiungimento di questi obiettivi: le piattaforme di automazione dei test (1) nonché i framework di automazione basati su cloud che consentono di eseguire test su larga scala, riducendo significativamente i tempi e i costi di verifica; gli strumenti di monitoraggio e gestione dei dati (2) con la qualità che è un aspetto fondamentale per il successo dei test. Piattaforme come Splunk e Dynatrace, insieme a tecnologie di machine learning, aiutano i team QE a monitorare in tempo reale le performance dei sistemi e a individuare rapidamente eventuali anomalie. Si aggiungono gli strumenti di analisi avanzata e reporting basati su AI (3): l’intelligenza artificiale non solo migliora la capacità di rilevamento degli errori, ma consente anche di generare report dettagliati e analisi previsionali, fondamentali per il processo decisionale. Questi strumenti permettono di visualizzare dati complessi e di analizzare i trend, facilitando una visione d’insieme e consentendo interventi più mirati. Infine i sistemi di virtualizzazione e gestione degli ambienti di test (4) come Docker e Kubernetes consentono la creazione di ambienti di test virtualizzati, indispensabili per simulare condizioni reali e verificare l’efficacia delle applicazioni su diverse configurazioni hardware e software.
Un ulteriore spunto: nel quality engineering moderno, la qualità del software è strettamente legata alla qualità dei dati utilizzati per eseguire i test. Il report in proposito evidenzia che il 64% delle organizzazioni lo ammette esplicitamente: la capacità di raccogliere, pulire e analizzare dati accurati è quindi essenziale, poiché test basati su dati incompleti o inaccurati possono portare a risultati falsati e compromettere la validità dei test.
Inoltre, è critica la gestione del rischio informatico con l’uso di dati di alta qualità determinante per garantire l’affidabilità delle soluzioni e ridurre il rischio di vulnerabilità che possano esporre l’azienda a danni reputazionali o finanziari. Per questo i sistemi IT avanzati supportano il QE nell’implementazione di strategie di mitigazione del rischio, permettendo ai team di rispondere prontamente agli incidenti e di adottare misure preventive basate su modelli predittivi e analisi comportamentali. L’uso di tecnologie IT per il quality engineering non è solo un vantaggio, ma una necessità e le organizzazioni che riescono a sfruttare appieno questi strumenti non solo migliorano la qualità dei propri prodotti, ma possono ottenere una maggiore soddisfazione dei clienti, un aumento della produttività e una riduzione dei costi operativi.
I vantaggi di automazione e GenAI
L’automazione, abbiamo visto, è uno dei pilastri del quality engineering moderno. Essa consente di ottimizzare i processi di testing e di qualità, rendendoli più rapidi, efficienti e precisi. Grazie all’automazione, le aziende possono ottenere una copertura di test più ampia in tempi ridotti e ridurre il margine d’errore umano. Il World Quality Report 2024 in proposito rivela che il 44% delle organizzazioni ha raggiunto un livello medio di automazione nei processi di quality engineering e che il 29% ha già integrato completamente l’AI generativa per l’automazione dei test.
Oltre alla riduzione dei costi operativi e all’accelerazione dei tempi di rilascio, i test automatizzati coprono una estesa varietà di scenari, dispositivi e ambienti di utilizzo, assicurando che l’applicazione venga testata in ogni aspetto possibile. Inoltre, l’automazione minimizza il rischio di errori umani, rendendo i test più affidabili e ripetibili ed i framework di automazione permettono alle aziende di scalare i propri processi di test man mano che i progetti si espandono, assicurando che anche con un aumento della complessità o del volume di test la qualità del prodotto non venga compromessa.
Non mancano però le sfide: una delle più comuni riguarda l’integrazione nei cicli di sviluppo DevOps, che richiede una pianificazione meticolosa e una collaborazione costante tra i team di sviluppo e di qualità. Secondo il report, il 64% delle organizzazioni cita l’architettura legacy come una delle principali barriere all’adozione completa dell’automazione, seguita da strumenti complessi e dalla mancanza di una strategia chiara. Per superare le sfide serve allora implementare una strategia centralizzata per l’automazione del QE che aiuti a garantire che i processi siano uniformi e scalabili e combinare soluzioni open-source con software commerciali per l’automazione. Spieghiamo perché: sebbene le piattaforme open-source siano spesso preferite per i costi inferiori, i software commerciali offrono funzionalità avanzate di sicurezza e supporto tecnico. Il 34% delle organizzazioni adotta una combinazione di entrambe le tipologie per massimizzare i vantaggi. Buon approccio anche mantenere un archivio di asset automatizzai per il riutilizzo di componenti validi e includere sempre nei progetti la misurazione di Kpi in linea con gli obiettivi aziendali.
Oggi poi l’introduzione dell’AI generativa ha aperto nuove prospettive per l’automazione del quality engineering, rendendo i processi di test ancora più efficienti e sofisticati. Si va oltre la semplice creazione di script automatizzati, contribuendo alla realizzazione di sistemi di automazione auto-adattivi, in grado di imparare e adattarsi ai cambiamenti nelle applicazioni. In particolare, i benefici più significativi includono la possibilità di generare script di test complessi in modo automatico, l’integrazione degli script nei flussi di lavoro esistenti, migliorando la sinergia con i sistemi DevOps, e la riduzione dell’intervento umano. I professionisti possono lavorare in ambienti altamente automatizzati ma devono possedere competenze avanzate in ingegneria del software, conoscenze in AI e abilità di sviluppo full-stack. Per questo il ruolo dei quality engineer è diventato strategico; non solo, l’automazione ha anche portato a una maggiore collaborazione tra team di sviluppo e QE, con la creazione di figure ibride come i Software Development Engineer in Test (Sdet), professionisti con competenze sia nello sviluppo che nel testing.
Uno sguardo appena più in profondità sui vantaggi della GenAI ci aiuta a mettere a fuoco alcuni punti: il report rivela che il 68% delle organizzazioni ha già adottato soluzioni di Generative AI o ha completato progetti pilota, dimostrando l’interesse globale verso questa tecnologia. Grazie alla capacità di generare test script, dati di test e di analizzare le performance, la Gen AI sta diventando un asset strategico per migliorare l’efficienza e la precisione del quality engineering. Su quattro punti in particolare: creazione e ottimizzazione dei test case (casi di test complessi); l’analisi dei difetti e il relativo reporting, la disponibilità di dati di test di qualità (facciamo esplicito riferimento anche ai dati sintetici) ed infine l’allineamento tra i test e i requisiti funzionali del software, assicurando che ogni funzionalità sia coperta dai test. Si ottengono in questo modo maggiore efficienza, e la possibilità per i professionisti di concentrarsi su attività a valore aggiunto, ma allo stesso tempo anche una maggiore precisione dei test.
Nonostante i numerosi vantaggi, l’implementazione della GenAI nel QE presenta anche alcune sfide. Secondo il World Quality Report, le difficoltà principali riguardano i data breach e i rischi per la sicurezza con i dati generati e utilizzati dalla Gen AI che devono essere protetti contro eventuali violazioni, soprattutto in settori regolamentati come la finanza e la sanità, ma anche la complessità dell’integrazione con gli strumenti esistenti per cui è importante implementare sistemi flessibili che consentano una collaborazione fluida tra i vari strumenti per massimizzare i benefici dell’AI. Restano poi i problemi delle competenze (in particolare relativi alla carenza di prompt engineer e data scientist) e il tema delle allucinazioni tipiche dei sistemi di ML con i relativi errori di interpretazione.
Quality engineering e metodologia Agile/DevOps
Secondo il World Quality Report 2024, il 40% delle organizzazioni ha già integrato i quality engineer nei team Agile, confermando l’importanza crescente di questa disciplina all’interno delle metodologie moderne. Il testing è stato a lungo considerato un passaggio conclusivo del ciclo di sviluppo, svolto in modalità separata dal team di sviluppo ma l’approccio Agile ha ridefinito questi confini, promuovendo l’integrazione dei quality engineer direttamente nei team di sviluppo. Questo modello di lavoro “shift left”, che incoraggia il testing nelle prime fasi del processo, permette di rilevare e correggere i difetti prima che diventino problemi costosi da risolvere. Incide a sua volta su cicli di rilascio, qualità complessiva del software, integrazione e collaborazione tra developer e quality engineer. Quello Agile, infatti, è un contesto in cui i quality engineer non si limitano più al testing, ma assumono un ruolo più ampio e versatile.
Ed infatti, secondo il report, i quality engineer stanno diventando Software Development Engineer in Test (Sdet) e persino ingegneri di test full-stack. Questo cambiamento riflette la necessità di avere figure professionali capaci di operare su tutta la filiera dello sviluppo e del testing, con competenze tecniche avanzate e una conoscenza approfondita delle dinamiche agile e DevOps per cui devono saper scrivere e mantenere codice di test, capire l’architettura software e gestire gli ambienti di testing. Per farlo possono servirsi di framework come gli stessi Selenium, Appium e Cypress, ma anche delle pipeline CI/CD, integrate con strumenti come Jenkins, Gitlab e CircleCI, che permettono ai team di eseguire automaticamente i test a ogni cambiamento del codice, assicurando che ogni versione del software venga testata prima del rilascio. Per la gestione dei test il report fa riferimento a piattaforme come Jira, Testrail e Azure DevOps che consentono di gestire i casi di test, tenere traccia dei bug e monitorare i progressi, favorendo la trasparenza e l’efficienza nei processi di testing. Mentre come strumenti di monitoring si può fare riferimento a tecnologie come New Relic e Grafana utilizzate per monitorare le performance del software in tempo reale, individuando anomalie e assicurando che il sistema risponda alle aspettative in produzione.
Un trend emergente è poi quello del Quality Assurance as a Service (QAaaS), in cui il QE viene offerto come un servizio flessibile e scalabile. Questo approccio è particolarmente utile proprio nei contesti Agile e DevOps, in cui la velocità e la flessibilità sono fondamentali. Con il QAaaS, le organizzazioni possono esternalizzare o distribuire in modo dinamico le attività di testing e di qualità, adattandole alle necessità del momento.
Vantaggi per la sostenibilità
Con l’aumento dell’attenzione globale verso la sostenibilità, anche il Quality Engineering si è trovato a giocare un ruolo cruciale nell’adozione di pratiche eco-sostenibili. World Quality Report 2024 evidenzia come la sostenibilità sia diventata una priorità per il 58% delle organizzazioni, che vedono il QE come uno strumento efficace per ridurre l’impatto ambientale dei propri processi IT. Tuttavia, solo il 34% di queste aziende ha implementato pratiche concrete di sostenibilità, mostrando che il cammino verso un Quality Engineering veramente sostenibile è ancora agli inizi. Ma questo è solo un lato della medaglia, perché la crescente digitalizzazione e la diffusione dei servizi cloud hanno aumentato il consumo energetico e l’impronta ecologica delle attività IT e le operazioni di testing e quality engineering, che coinvolgono grandi quantità di dati e ambienti virtuali, richiedono una gestione attenta per ridurre l’impatto ambientale. La sostenibilità nel QE implica non solo di ridurre le emissioni di CO2 associate ai processi di testing, ma anche ottimizzare l’utilizzo delle risorse per evitare sprechi, e non solo in relazione al bisogno di soddisfare il rispetto delle normative.
Un aspetto fondamentale per implementare una strategia sostenibile nel QE è proprio la misurazione dell’impatto ambientale. Le aziende stanno iniziando a monitorare le emissioni di CO2 e il consumo energetico associato alle attività di testing, ma anche l’uso di tecnologie cloud a basso consumo energetico e la virtualizzazione degli ambienti di test per minimizzare l’hardware fisico necessario possono rivelarsi virtuose per gli obiettivi prefissati, mentre il ruolo dell’AI, comunque energivora, è quello di consentire ottimizzare il numero di test eseguiti e ridurre i test ridondanti, evitando un eccessivo uso di risorse. Ultimo, ma non ultimo la sensibilizzazione dei dipendenti è essenziale per promuovere una cultura della sostenibilità all’interno del QE. Molte organizzazioni stanno investendo in programmi di formazione per educare i quality engineer alle pratiche di Green IT e alle strategie di testing sostenibile. Un team QE formato alla sostenibilità può fare scelte consapevoli e contribuire a minimizzare l’impatto ambientale delle operazioni quotidiane.
Secondo il World Quality Report, molte aziende stanno utilizzando proprio la GenAI per migliorare la sostenibilità dei loro processi QE, in particolare attraverso la generazione di dati di test sintetici che evitano la duplicazione dei dati e ottimizzano l’uso dello storage. Inoltre, la Gen AI consente di monitorare e analizzare i consumi energetici in tempo reale, suggerendo azioni correttive per limitare l’uso di risorse. La capacità della Gen AI di identificare pattern di consumo e di prevedere i picchi di utilizzo permette alle aziende di modulare i test e di distribuire le attività in modo da ridurre il carico sulle infrastrutture, ottenendo così un QE più efficiente e a basso impatto. I Kpi di riferimento, in sintesi, sono quattro: oltre alla misurazione delle emissioni di CO2, l’efficienza degli ambienti di test, l’uso di dati sintetici e la virtualizzazione degli ambienti per misurare l’impatto positivo della riduzione di hardware fisico e delle risorse di archiviazione e l’ottimizzazione dell’uso degli asset di test.
Competenze essenziali
L’evoluzione rapida delle tecnologie, lo abbiamo visto, richiede un aggiornamento costante delle competenze dei quality engineer. I programmi di formazione continua sono essenziali per garantire che i professionisti QE siano sempre pronti ad affrontare le sfide del settore. Secondo il World Quality Report, l’82% delle aziende ha introdotto percorsi di apprendimento interni per i quality engineer, ma solo la metà di queste aziende ne monitora l’utilizzo e l’efficacia. Le organizzazioni che investono nella formazione continua ottengono un duplice vantaggio: da un lato migliorano la qualità dei processi QE e, dall’altro, incrementano la motivazione e la fidelizzazione del personale.
I percorsi di formazione devono includere, in particolare, corsi su AI e testing, ma anche la formazione pratica sulle tecnologie cloud-native come Aws, Azure e Google Cloud, fondamentale per preparare i quality engineer alla gestione di ambienti di test virtualizzati e laboratori specifici su Docker e Kubernetes che permettono di sviluppare competenze nella containerizzazione. La formazione su metodologie di continuous integration (CI) e continuous delivery (CD) e sul framework Agile permetterà ai quality engineer di integrarsi nei team di sviluppo e di contribuire attivamente alla qualità del software. Molte organizzazioni stanno poi implementando programmi di upskilling e reskilling per formare i quality engineer sulle tecnologie emergenti e sui trend di settore. L’upskilling consentirà ai quality engineer di acquisire competenze aggiuntive, come la programmazione avanzata e l’analisi dati, mentre il reskilling di apprendere nuove specializzazioni in aree come la gestione della sicurezza e la virtualizzazione degli ambienti di test.
© RIPRODUZIONE RISERVATA