Salta al contenuto principale

Apprendo S.r.l.

Test automation: come ridurre il lavoro
ripetitivo senza perdere il controllo
sulla qualità del software

Sviluppare un’applicazione è un lavoro che non finisce quando il codice è pronto. Prima che una nuova funzionalità arrivi nelle mani degli utenti, bisogna verificare che tutto funzioni come previsto, che le modifiche non abbiano compromesso ciò che già funzionava e che il sistema sia in grado di gestire anche situazioni meno prevedibili.

È qui che entra in gioco il software testing. Un’attività fondamentale, ma che spesso si scontra con una realtà ben conosciuta da chi lavora nello sviluppo: le applicazioni evolvono rapidamente, mentre preparare, eseguire e mantenere i test richiede tempo.

Pensiamo a un gestionale aziendale. Una nuova funzionalità viene introdotta, un modulo cambia struttura oppure una procedura viene aggiornata. Interventi apparentemente circoscritti possono rendere necessario rivedere numerosi casi di test, modificare gli script automatici e verificare che i flussi già esistenti continuino a funzionare correttamente.

Il problema non è soltanto trovare eventuali errori. È riuscire a farlo in modo sistematico, senza trasformare ogni aggiornamento in un lungo lavoro di revisione.

Quando testare il software diventa un lavoro nel lavoro

L’automazione dei test nasce proprio per alleggerire queste attività. Attraverso strumenti dedicati, è possibile simulare le azioni degli utenti, verificare il comportamento delle applicazioni e ripetere gli stessi controlli ogni volta che viene introdotta una modifica.

Ma automatizzare non significa necessariamente eliminare il lavoro manuale.

Prima di eseguire un test bisogna capire cosa verificare, tradurre i requisiti in scenari concreti e scrivere gli script che permettono di riprodurre le operazioni. Una volta creati, questi test devono essere mantenuti nel tempo: basta una modifica all’interfaccia, a un campo o a un elemento della pagina per richiedere un intervento.

E quando qualcosa non funziona? Inizia un’altra attività spesso sottovalutata: capire se ci si trova davanti a un vero bug, a un problema dello script oppure a una condizione che non era stata prevista.

Log, screenshot, registrazioni e verifiche aggiuntive diventano indispensabili per ricostruire l’accaduto. Il rischio è che una parte significativa del tempo del team venga assorbita dalla gestione dei test, anziché dall’analisi della qualità del prodotto.

La vera sfida, quindi, non è semplicemente eseguire più test. È rendere più efficiente tutto il processo che porta dalla definizione di un requisito alla verifica del suo corretto funzionamento.

Dall’automazione tradizionale all’intelligenza artificiale

Negli ultimi anni, l’intelligenza artificiale ha aperto nuove possibilità anche nel campo della Quality Assurance. In particolare, può aiutare i team a interpretare documenti, individuare scenari di verifica e trasformare descrizioni funzionali in attività di testing.

Questo non significa, però, che sia sufficiente affidare tutto a un modello AI.

Un requisito poco chiaro può essere interpretato in modi diversi. Uno scenario generato automaticamente potrebbe non riflettere il comportamento atteso dell’applicazione. E un test che termina senza errori non garantisce, da solo, che tutte le verifiche necessarie siano state effettuate.

Per questo, l’approccio più interessante non è quello che punta a sostituire completamente il lavoro del tester, ma quello che combina automazione, intelligenza artificiale e supervisione umana.

L’AI può contribuire a velocizzare le attività di analisi e preparazione, mentre strumenti di esecuzione affidabili verificano il comportamento reale dell’applicazione. Al team QA resta il compito di valutare i risultati, chiarire le ambiguità e decidere quali controlli siano davvero significativi.

È proprio da questa esigenza che nasce una soluzione sviluppata da Apprendo.

ShiftNextQA: un approccio diverso al test automation

ShiftNextQA è l’applicativo sviluppato da Apprendo per supportare i team di Quality Assurance lungo il processo di testing, dalla raccolta dei requisiti fino all’esecuzione dei test e all’analisi dei risultati.

L’idea alla base è semplice: ridurre il tempo dedicato alle attività ripetitive, senza rinunciare alla possibilità di verificare e controllare ciò che viene prodotto.

Il punto di partenza può essere un documento di requisiti, una descrizione in linguaggio naturale oppure l’applicazione stessa. ShiftNextQA è infatti in grado di esplorarne le schermate, individuare moduli, campi e vincoli e costruire una mappa delle funzionalità disponibili.

Queste informazioni vengono utilizzate per proporre requisiti e scenari di test, organizzati anche in base al livello di rischio. Il team può esaminarli, modificarli e approvarli prima di procedere.

Una volta definiti gli scenari, la piattaforma genera test automatici utilizzando Playwright, uno strumento open source per il testing end-to-end delle applicazioni web. Gli script vengono prodotti in TypeScript e possono essere modificati, versionati ed eseguiti anche al di fuori di ShiftNextQA, ad esempio all’interno delle pipeline di Continuous Integration già utilizzate dall’azienda.

Questo aspetto è particolarmente importante: l’automazione non deve necessariamente creare una dipendenza da un unico strumento. I test rimangono utilizzabili dal team anche in altri contesti.

Il processo, inoltre, non si limita a verificare che un’azione venga completata. ShiftNextQA permette di collegare i test ai requisiti che devono soddisfare, rendendo più semplice capire quali funzionalità siano state effettivamente verificate e dove siano ancora presenti controlli mancanti o incompleti.

Trovare un bug è utile.
Capire cosa è successo lo è ancora di più.

Chi si occupa di testing sa che individuare un comportamento anomalo è soltanto una parte del lavoro. La difficoltà, spesso, è ricostruire con precisione le condizioni che hanno provocato il problema e fornire agli sviluppatori informazioni sufficienti per intervenire.

Immaginiamo un’applicazione che rifiuta correttamente un’operazione, ma mostra il relativo messaggio di errore in una posizione non visibile all’utente. Dal punto di vista tecnico, il messaggio esiste nella pagina. Dal punto di vista di chi utilizza il software, invece, qualcosa non funziona.

È il classico caso emerso durante le verifiche su un applicativo analizzato con ShiftNextQA e mostra bene perché può esser tediosa la segnalazione e reportistica del bug.

Per facilitare questo tipo di analisi, ShiftNextQA associa ai risultati dei test informazioni verificabili, tra cui screenshot, tracce di esecuzione e video commentati che ricostruiscono i passaggi più importanti.

In questo modo, chi deve valutare un’anomalia può osservare cosa è accaduto, quale comportamento era atteso e in quale punto il risultato si è discostato dai requisiti. Sarà poi il team QA a confermare il difetto, escluderlo oppure approfondirlo.

Un processo che aiuta a rendere il confronto tra tester e sviluppatori più concreto, evitando di basarsi soltanto su descrizioni generiche come “il pulsante non funziona” o “la procedura si blocca”.

Più automazione, ma sempre con una persona al centro

Uno degli aspetti che caratterizzano ShiftNextQA è il modello Human-in-the-Loop: la piattaforma propone, ma le decisioni rimangono nelle mani delle persone.

Questo principio accompagna le diverse fasi del lavoro, dall’interpretazione dei requisiti alla valutazione degli scenari, fino alla conferma degli eventuali bug.

L’intelligenza artificiale viene impiegata nelle attività in cui può essere utile interpretare informazioni, formulare proposte o aiutare a risolvere un problema. L’esplorazione ripetibile dell’applicazione, l’esecuzione dei test e la raccolta delle evidenze si affidano invece a procedure software definite.

È una distinzione importante, soprattutto quando si parla di qualità. Automatizzare un’attività non significa renderla automaticamente corretta: servono criteri di verifica, risultati tracciabili e la possibilità di intervenire quando qualcosa non torna.

L’obiettivo non è togliere responsabilità ai professionisti del testing, ma permettere loro di dedicare più attenzione alle attività che richiedono esperienza, capacità di analisi e conoscenza del prodotto.

Il futuro del software testing non è fare tutto più velocemente

Quando si parla di automazione, la velocità è spesso il primo beneficio a cui si pensa. E certamente ridurre il tempo necessario per preparare ed eseguire i test può fare una grande differenza, soprattutto nei progetti che prevedono rilasci frequenti.

Ma c’è un aspetto altrettanto importante: avere una visione più chiara della qualità del software.

Sapere quali requisiti sono stati verificati, quali test sono ancora incompleti e quali anomalie richiedono attenzione permette di prendere decisioni più consapevoli, evitando che il testing diventi una semplice attività da completare prima della pubblicazione.

Con ShiftNextQA, Apprendo ha scelto di lavorare proprio su questo equilibrio: utilizzare l’intelligenza artificiale per semplificare le attività più impegnative, mantenendo il controllo umano sulle verifiche e sui risultati.

Perché il valore della test automation non sta soltanto nel numero di test che riusciamo a eseguire, ma nella fiducia che possiamo avere nel software che stiamo per rilasciare.

E se una parte del tempo oggi dedicato a scrivere, correggere e ricostruire i test potesse essere utilizzata per migliorare davvero il prodotto, sarebbe già un cambiamento significativo.

Vuoi capire come questo approccio potrebbe funzionare sulla tua applicazione? Il team Apprendo può mostrarti ShiftNextQA partendo da un caso concreto, per esplorare il software, definire i primi scenari e vedere come vengono generati ed eseguiti i test.

Richiedi subito una DEMO gratuita!