UAT : cosa sono e come realizzarli

Durante il processo di sviluppo, è fondamentale garantire che il prodotto software risponda alle specifiche funzionali prima del suo rilascio. Che si tratti del lancio di un nuovo sito E-commerce o della validazione di un impianto di automazione logistica, quella dei Test UAT è una fase del progetto che non può essere trascurata.

Qual è il significato degli uat? Gli user acceptance test (uat) fanno riferimento alla fase di progetto in cui uno sviluppo o configurazione, siano essi su un sistema pacchettizzato o relativi ad un prodotto custom, vengono validati dal team utente come conformi alle specifiche, sia funzionali che in termini di convalida dei dati.

Approfondiamo alcune domande tra le più comuni sul tema degli UAT test ascoltando le risposte della nostra Project Manager Senior Lara Dal Monte.

Quando eseguire gli User Acceptance Test

Gli user acceptance test si eseguono in tutti i progetti o le attività che prevedono lo sviluppo o aggiornamento di un prodotto in base a dei requisiti definiti dal business.

La fase degli UAT Testing viene svolta al termine degli sviluppi e, solitamente, dopo una precedente fase di test tecnici svolti dai provider. I test uat vengono svolti in quello che viene definito ambiente di test o di collaudo, ossia un ambiente dove è possibile simulare l’intera funzionalità da testare.

Sono particolarmente utili in progetti che includono:

  • integrazione tra diversi sistemi aziendali
  • sviluppo di software custom
  • aggiornamenti di sistemi esistenti
  • lancio di siti eCommerce o piattaforme digitali

Solo una volta terminati con esito positivo gli User Acceptance Test sarà possibile portare in ambiente di produzione il prodotto e renderlo effettivamente fruibile ai destinatari finali.

I 5 Step ed i requisiti necessari per la realizzazione degli UAT. Clicca per  scaricare l'infografica.

Test UAT: le fasi del processo

Il processo di UAT si articola nelle seguenti fasi:

Redazione del test plan

Per poter gestire gli User Acceptance Test deve essere redatto un UAT test plan che raccolga tutti i casi da testare. Il piano di test solitamente viene redatto a partire dall’analisi funzionale approvata, che è lo stesso documento su cui si basa lo sviluppo tecnico.

l’uat test plan generalmente include:

  • elenco dei test case in cui viene descritta l’azione che l’utente deve effettuare
  • risultato atteso per ogni scenario ovvero, come ci aspettiamo che si comporti il sistema in relazione a quell’azione.
  • scenari necessari ad accertarsi che quanto previsto nell’analisi funzionale sia stato effettivamente sviluppato secondo i requisiti.
  • test di non regressione, previsti in alcuni casi. Sono volti a verificare che componenti del prodotto impattate dalla modifica, ma non direttamente oggetto della modifica, continuino a funzionare correttamente.
I 5 Step ed i requisiti necessari per la realizzazione degli UAT test. Clicca per  scaricare l'infografica.

Pianificazione dei Test UAT

In base ai casi di test previsti nel test plan, è necessario che siano stimati i tempi necessari per l’esecuzione dei test e che siano coinvolti i referenti business necessari. Con questi ultimi andranno concordati tempi e modi per l’esecuzione dei test, andando anche a definire lo strumento / gli strumenti a supporto per l’annotazione degli esiti dei test e per il censimento di eventuali bug.

Solitamente la pianificazione prevede un tempo dedicato al bug fixing (correzione degli errori rilevati da parte del provider) e al re-test (nuovo test della soluzione dopo l’applicazione delle correzioni).

Coordinamento degli User Acceptance Test

Nei casi in cui i test sono molto estesi e complessi, solitamente viene previsto un coordinamento delle risorse che eseguono i test in modo da monitorare che i tempi di esecuzione siano in linea con la pianificazione e in modo da sollevare eventuali criticità (ad esempio, nel caso in cui vengano rilevati molti bug).

Bug fixing

Il bug fixing è la fase in cui il provider, raccolte tutte le segnalazioni di bug (o parte di esse) ne prevede la correzione. Uno degli strumenti di cui ci avvaliamo per il tracciamento dei bug UAT è JIRA della suite Atlassian. Per alcuni progetti abbiamo infatti, attraverso JIRA, configurato dei workflow specifici per la gestione degli UAT, in modo da poter controllare con molta precisione il processo di bug reporting e bug fixing.

Re-Test

Fase dedicata al test del prodotto dopo l’applicazione della soluzione ai bug segnalati.

I 5 Step ed i requisiti necessari per la realizzazione degli UAT. Clicca per  scaricare l'infografica.

Test UAT e Integration Test: quali sono le differenze?

Gli User Acceptance Test (UAT) sono test condotti dai referenti business che hanno commissionato il prodotto e che sono propedeutici all’effettivo rilascio agli utilizzatori finali della soluzione.

Gli Integration test sono test tecnici che vengono svolti nel caso in cui la soluzione preveda lo scambio informativo tra sistemi, ossia delle integrazioni.

I test di integrazione sono finalizzati a verificare che i sistemi si scambino i dati correttamente secondo le specifiche tecniche definite.

Ad esempio, un test di integrazione può riguardare la verifica degli scambi informativi (sincroni o asincroni) tra l’ERP e la piattaforma eCommerce per la gestione di prodotti, prezzi, stock e ordini.

Agile UAT e differenza con il metodo Waterfall

L’esecuzione Agile degli UAT prevede l’organizzazione del lavoro di sviluppo in “sprint”; ossia pacchetti di lavorazione di due/tre settimane al termine delle quali viene rilasciata una porzione di software completamente funzionante. In questo caso gli user acceptance test dovrebbero essere programmati al termine di ogni sprint in modo da verificare le funzionalità specifiche rilasciate e segnalare eventuali malfunzionamenti, che saranno lavorati nel corso degli sviluppi degli sprint successivi.

Questo approccio permette maggiore flessibilità nelle attività tecniche ma, potenzialmente, un maggior lavoro in carico agli utenti per lo svolgimento dei test. Infatti, nonostante siano previsti dei test al termine di ogni sprint suggeriamo sempre di prevedere una fase finale di UAT preventiva al rilascio in produzione

Il metodo waterfall prevede il rilascio del prodotto al termine dello sviluppo completo, in questo caso la pianificazione degli UAT deve necessariamente seguire il termine dello sviluppo tecnico.
Alla fase di UAT seguirà l’analisi e risoluzione dei malfunzionamenti registrati e il re-test prima dell’effettivo rilascio in produzione.

UAT testing: gli strumenti che utilizziamo

Per la scrittura del test plan può essere utilizzato un foglio Excel con una struttura standard, comune per tutti i test plan realizzati.

Per la pianificazione delle attività di test, molto dipende dagli strumenti utilizzati dal Cliente. Lo stesso test plan potrebbe essere caricato su strumenti specifici che consentono il tracciamento delle attività di test e il collegamento tra test case e bug segnalati (ad esempio, Zephyr – tool di JIRA, qTest). Inoltre potrebbero esserci strumenti specifici per consentire il censimento dei bug e la presa in carico da parte del provider.

E’ chiaro che utilizzare degli strumenti dedicati rende più semplice tutta la fase di coordinamento, anche se resta possibile gestire l’intero processo tramite l’utilizzo di file Excel condivisi.

I 5 Step ed i requisiti necessari per la realizzazione degli UAT. Clicca per  scaricare l'infografica.

Test UAT: gestione attraverso JIRA Software

Jira, piattaforma della suite Atlassian, è uno strumento Agile che garantisce una rapida gestione progettuale, facile tracciamento degli UAT e un semplice utilizzo per l’utente.

Jira è uno strumento pensato per la gestione di differenti tipologie di progetti:

  • Sviluppo software
  • Gestione degli UAT
  • Tracciamento dei Bug collegati alla fase di UAT
  • Collaborazione di teams su più attività

Per la gestione dei test UAT su Jira è consigliato:

  • Avere un progetto separato per la gestione dei test UAT
  • Implementare una tipologia di ticket specifico. Quest’ultimo dovrebbe avere tanti campi quanti sono quelli identificati nel piano di UAT (le ipotetiche colonne del file excel).
  • Configurare ruoli differenti per poter abilitare correttamente gli utenti e coinvolgerli nei momenti giusti.
    • Test Manager: Responsabile della fase UAT. Posso essere attori differenti in base alla specifica da testare. In alcuni casi è il Tester ad identificare chi è la figura di riferimento a cui poter eventualmente rivolgersi in caso di problematiche
    • Tester: colui che effettua il test
    • Team Sviluppo: Team di più utenti responsabili dello sviluppo. Potrebbe essere utile coinvolgere al momento opportuno il team di sviluppo, qualora il test non ottenga esito positivo.
Come implementare un Workflow per gli UAT su Jira. Clicca per scaricare la guida.

Quando il test UAT può considerarsi valido?

Un User Acceptance Test è considerato superato quando:

  • il sistema produce il risultato atteso definito nel test case
  • eventuali bug sono stati corretti
  • gli stakeholder business approvano formalmente la soluzione

In caso di censimento di bug, sarà necessario ripetere il test dopo la correzione e verificare il raggiungimento del risultato atteso. E’ possibile che il gruppo di lavoro decida di rilasciare il prodotto agli utilizzatori finali anche in presenza di bug, in caso siano ritenuti non bloccanti.

FAQ User Acceptance Test

UAT qual è il significato?

UAT significa User Acceptance Testing, ovvero il test di accettazione da parte degli utenti finali che verifica se il software soddisfa i requisiti aziendali prima del rilascio in produzione.

Qual è la differenza tra UAT e Integration Test?

Riassumendo le principali differenze, gli User Acceptance Test sono eseguiti da utenti business o stakeholder, verificano che il sistema soddisfi i requisiti aziendali e avvengono prima del rilascio in produzione.

Gli Integration Test invece, sono eseguiti da team tecnici, verificano l’integrazione tra sistemi e
controllano lo scambio corretto di dati tra applicazioni.

Qual è la differenza tra gli UAT nel motodo Agile e Waterfall?

Nel metodo Agile i test sono eseguiti alla fine di ogni sprint. La verifica delle funzionalità rilasciate è incrementale e si genera un feedback rapido per miglioramenti nelle iterazioni successive

Nel metodo Waterfall i test sono eseguiti al termine dello sviluppo completo, in un’unica fase prima del rilascio finale ed eventuali bug vengono risolti prima del go-live