Glossario · Fondamenti del testing
User acceptance testing (UAT)
In inglese: User acceptance testing
Detto anche: UAT, test di accettazione utente, collaudo utente, test di accettazione
Definizione
La fase finale di test, in cui utenti reali o rappresentanti del business confermano che il sistema soddisfa le loro esigenze ed è pronto per essere accettato e rilasciato.
Lo user acceptance testing (UAT, test di accettazione utente) viene svolto dalle persone che useranno o possiederanno il sistema, non dal team che l’ha costruito. Gli utenti di business eseguono attività realistiche in un ambiente simile alla produzione e decidono se il software fa il lavoro di cui hanno bisogno. Un UAT riuscito si conclude con un’approvazione formale (sign-off), che spesso è il via libera per il rilascio o per l’accettazione contrattuale da parte di un fornitore.
Esempio
Una banca sostituisce il proprio sistema per le richieste di prestito. Prima del go-live, i funzionari addetti ai prestiti passano una settimana nell’ambiente di UAT a gestire richieste realistiche: un prestito personale standard, una richiesta cointestata, un richiedente lavoratore autonomo con reddito irregolare e una richiesta respinta che deve generare la lettera corretta. Verificano che il workflow corrisponda al loro modo di lavorare reale, che i report contengano ciò che serve ai manager e che nulla costringa a soluzioni manuali alternative. I problemi vengono registrati, classificati con il team di progetto e corretti o accettati prima del sign-off.
UAT e system testing a confronto
| System testing | User acceptance testing | |
|---|---|---|
| Chi | Team QA | Utenti di business, clienti, product owner |
| Domanda | Il sistema rispetta la specifica? | Soddisfa le nostre esigenze reali? |
| Base | Requisiti e design | Processi di business e criteri di accettazione |
| Focus | Difetti, casi limite, verifiche non funzionali | Idoneità allo scopo, usabilità nel contesto reale |
Un sistema può superare ogni system test e fallire comunque l’UAT, perché era la specifica stessa a essere sbagliata o incompleta. Per questo l’UAT è l’esempio classico di validazione (“stiamo costruendo il prodotto giusto?”) più che di verifica (“stiamo costruendo il prodotto nel modo giusto?”).
Tipi di test di accettazione
- Alpha testing: utenti interni testano presso la sede di chi sviluppa.
- Beta testing: un gruppo limitato di utenti esterni testa nel proprio ambiente.
- Operational acceptance testing (OAT): i team operativi verificano backup, failover, monitoraggio e deploy.
- Accettazione contrattuale e normativa: verifica i termini contrattuali concordati o i requisiti di legge.
Errori comuni
- Usare l’UAT per trovare bug di base. Se gli utenti incontrano crash, il system testing non era finito. L’UAT dovrebbe concentrarsi sull’adeguatezza, non sui difetti che il QA avrebbe dovuto intercettare.
- Nessuno scenario né dato preparato. Gli utenti di business hanno bisogno di dati realistici e scenari chiari, e spesso sono i tester ad aiutarli a scriverli.
- Farlo troppo tardi. Un UAT schiacciato negli ultimi giorni prima del rilascio di solito si riduce a un timbro di approvazione.