In User Acceptance Testing (UAT), il software viene testato dagli utenti reali nei loro locali. È chiamato anche con altri nomi come beta testing e test dell’utente finale. Si esegue fondamentalmente per confermare che il sistema sviluppato è conforme ai requisiti dell’utente che sono stati condivisi con gli sviluppatori prima dell’inizio dello sviluppo del sistema.
- Che cos’è l’User Acceptance Testing?
- User Acceptance Testing (UAT) Checklist
- Inizio del progetto User Acceptance Testing
- Pianificare il test di accettazione dell’utente
- User Acceptance Testing Design
- Esecuzione test di accettazione dell’utente
- Decisioni di rilascio del test di accettazione dell’utente
- Azioni post test di accettazione dell’utente
- Buone pratiche di test di accettazione degli utenti
- Conosci gli utenti che useranno il software
- Preparare il piano di test di accettazione degli utenti con largo anticipo
- Sistema di gestione dei test di accettazione degli utenti ben strutturato
- Crea scenari basati sui requisiti di business
- Definire chiaramente i criteri di accettazione
- Fase in cui viene eseguito il test di accettazione dell’utente
- Sviluppo sequenziale
- Sviluppo iterativo
- Approccio di test di accettazione dell’utente
- Casi di test basati sui requisiti
- Business process based test cases
- Casi di test guidati dall’interfaccia utente
- Fissare le priorità attraverso i test basati sul rischio
- Per esempio
- Esempi di test di accettazione dell’utente
- Alpha Testing
- Beta Testing
- Conclusione
- Altri articoli popolari:
Che cos’è l’User Acceptance Testing?
È un tipo di test che viene eseguito da utenti reali nell’ultima fase di test, prima che il prodotto o l’applicazione venga rilasciato nell’ambiente di produzione o sul mercato.
L’ambiente utilizzato per condurre lo User Acceptance Testing (UAT) è simile all’ambiente di produzione e non è l’ambiente di sviluppo.
User Acceptance Testing (UAT) Checklist
E’ importante assicurare che le seguenti fasi e le loro attività di test siano coperte come parte dello User Acceptance Testing per assicurare risultati ottimali dallo UAT.
- Inizio del progetto di test di accettazione dell’utente
- Pianificazione del test di accettazione dell’utente
- Progettazione del test di accettazione dell’utente
- Esecuzione del test di accettazione dell’utente
- Decisioni di rilascio
- Azioni successive al test di accettazione dell’utente
Le attività che fanno parte di ciascuna delle fasi di cui sopra sono indicate di seguito.
Inizio del progetto User Acceptance Testing
Le seguenti attività dovrebbero idealmente essere eseguite come parte dell’inizio del progetto UAT.
- Identificare le parti interessate chiave
- Selezionare un team leader
- Comunicare l’intento aziendale, obiettivi e criteri di accettazione del sistema
- Concordare le risorse del team di test di accettazione degli utenti
- Concordare la documentazione per sostenere il test di accettazione degli utenti
- Concordare le strutture decisionali
- Concordare sulla squadra per il test di accettazione dell’utente
- Iniziare la formazione per il test di accettazione dell’utente
- Formare un piano di progetto iniziale per il test di accettazione dell’utente
Pianificare il test di accettazione dell’utente
Durante la pianificazione dell’UAT, i seguenti compiti dovrebbero essere eseguiti.
- Identificare il metodo di acquisizione del sistema per determinare il miglior approccio allo User Acceptance Testing.
- Determinare se l’intento del business e le aspettative degli utenti sono state catturate e sono misurabili.
- Verificare che i requisiti del business sono stati catturati.
- Verificare che tutti i tipi di requisiti siano stati inclusi.
- Scrivere i criteri di accettazione e controllare che siano appropriati.
- Assicurarsi che l’ambito sia chiaro e rilevante.
- Catturare e verificare i processi aziendali.
- Valutate la documentazione attuale e la sua sostenibilità per servire come base di test.
User Acceptance Testing Design
E’ importante assicurarsi che il test design per UAT segua i seguenti passi per garantire che l’UAT fornisca il risultato desiderato.
- Stabilire i criteri di ingresso per lo User Acceptance Testing.
- Rivedere gli script di test dove disponibili.
- Definire la strategia di User Acceptance Testing.
- Rivedere le condizioni di test esistenti dove disponibili e scriverne di nuove.
- Rivedere i test case esistenti dove disponibili e scriverne di nuovi basati sulle condizioni di test.
- Scrivere script di test basati sui casi di test.
- Assicurarsi che i test coprano tutti i requisiti.
Esecuzione test di accettazione dell’utente
I seguenti compiti devono essere eseguiti come parte dell’esecuzione del test UAT.
- Controllare la disponibilità dell’ambiente di test.
- Definire un programma di test di alto livello rispetto alla strategia di User Acceptance Testing per raggiungere le priorità.
- Definire un programma di test dettagliato per ottenere il miglior uso delle risorse.
- Assicurarsi che il registro dei test sia tenuto aggiornato.
- Assicurarsi che gli incidenti siano riportati accuratamente e in tempo utile.
- Controlla regolarmente la risoluzione dei difetti con il team di sviluppo e assicurati che non ci siano colli di bottiglia.
- Genera regolarmente rapporti di riepilogo dei test.
Decisioni di rilascio del test di accettazione dell’utente
I seguenti elementi aiuteranno il team a decidere se andare avanti o meno con il rilascio, dopo l’UAT.
- Identificare lo stato rispetto ai criteri di accettazione.
- Identificare lo sforzo e il tempo richiesto per soddisfare i criteri di accettazione in dettaglio.
- Esaminare le alternative basate sui rischi in sospeso.
- Criteri di rilascio d’emergenza per permettere il rilascio controllato.
- Rapportare lo stato ai principali stakeholder con proposte alternative per il rilascio.
- Preparare il rapporto di completamento del test di accettazione dell’utente con raccomandazioni.
Azioni post test di accettazione dell’utente
Le seguenti attività devono essere eseguite dopo il completamento dell’UAT.
- Progettazione e piano di formazione dell’utente.
- Supporto post rilascio.
- Test continuo
- Rapporto post test di accettazione degli utenti con domande frequenti ecc.
Buone pratiche di test di accettazione degli utenti
Conosci gli utenti che useranno il software
Conosci il tuo pubblico target. Quali sono i loro problemi/bisogni? Qual è la loro motivazione? Come puoi raggiungerli? Quando si hanno tutte queste informazioni prima di iniziare il test di accettazione degli utenti, si risparmiano sforzi inutili e si ottengono risultati diretti.
Preparare il piano di test di accettazione degli utenti con largo anticipo
Di solito il test di accettazione degli utenti viene condotto prima del lancio del software sul mercato e in questa fase si è già sotto pressione per rispettare le scadenze e si è entusiasti della risposta dell’utente finale rispetto al software, quindi la pianificazione del test di accettazione degli utenti in questa fase potrebbe portare a perdere alcuni casi reali di utilizzo che sono frequenti. La disponibilità delle risorse potrebbe anche essere un vincolo in questa fase.
Sistema di gestione dei test di accettazione degli utenti ben strutturato
Un sistema di gestione dei test di accettazione degli utenti ben strutturato è quello che contiene opzioni di filtraggio facili, report efficienti, matrice di tracciabilità, funzioni di tracciamento dei bug e sicurezza.
Crea scenari basati sui requisiti di business
E’ sempre una buona pratica preparare scenari di test basati sui requisiti di business per indirizzare l’utente finale.
Definire chiaramente i criteri di accettazione
Se il prodotto è passato o fallito dopo lo sviluppo è deciso dai criteri di accettazione quindi è meglio definire chiaramente i criteri di accettazione.
Fase in cui viene eseguito il test di accettazione dell’utente
Ci sono molti modi di sviluppare un sistema ma classificati in 2 categorie:
- Sviluppo sequenziale
- Sviluppo iterativo
Sviluppo sequenziale
Lo sviluppo sequenziale usa una sequenza di fasi di sviluppo che tipicamente seguono una forma a V. UAT è il livello finale di test che verifica il sistema completato rispetto ai requisiti di business.
Sviluppo iterativo
In un approccio iterativo (come lo sviluppo Agile), la progettazione e il test avvengono durante brevi sprint e così la funzionalità del sistema diventa disponibile in modo incrementale alla fine di ogni sprint. L’UAT sarà necessario prima di lanciare ogni sprint.
Approccio di test di accettazione dell’utente
L’approccio UAT si basa su 3 elementi:
- Requisiti di business
- Processi di business
- Aspettative degli utenti
Ci dovrebbe essere un approccio che segue questi 3 elementi.
Casi di test basati sui requisiti
I casi di test devono coprire i requisiti di business, ogni caso di test dovrebbe essere collegato ad un requisito specifico basato su un numero ID. I casi di test possono essere scritti poco dopo che la specifica dei requisiti è stata definita e sono chiamati casi di test guidati dai requisiti. Lo svantaggio di questo approccio è che se i requisiti contengono errori allora anche i casi di test andrebbero male.
Business process based test cases
Business process based test cases sono scritti per assicurarsi che il sistema che viene consegnato funzionerà specificamente nel supportare i processi di business. I casi di test devono essere in grado di mostrare che i requisiti sono stati soddisfatti in un modo che riflette come l’organizzazione userà il sistema.
Casi di test guidati dall’interfaccia utente
I casi di test guidati dall’interfaccia utente sono strutturati intorno a moduli o schermate che devono essere completati. I casi di test si basano sull’inserimento dei dati, sulle interazioni attraverso lo schermo e sui rapporti. I casi di test guidati dall’interfaccia utente possono essere incorporati all’interno di casi di test basati sul processo di business dove il processo di business coinvolge l’inserimento dei dati, l’interazione o il reporting.
Fissare le priorità attraverso i test basati sul rischio
L’UAT viene solitamente eseguito sotto pressione perché viene fatto poco prima che il sistema venga rilasciato agli utenti finali perché lo usino, quindi c’è la necessità di trovare un modo per fare il meglio nel tempo limitato disponibile. Per questo, si usa la tecnica di prioritizzazione per eseguire prima i test più importanti in modo che qualsiasi test lasciato incompleto sia meno importante di quello completato. Questo è chiamato test basato sul rischio.
Il livello di rischio per ogni requisito è identificato e i requisiti sono ordinati per priorità.Il test basato sul rischio può essere usato insieme ad altri approcci.
Per esempio
Il test basato sul rischio potrebbe essere incluso nel test basato sui requisiti per assicurare che le aree più importanti siano testate per prime.
Se il sistema fa ciò che è richiesto mentre manca qualche parte dettagliata della specifica tecnica allora questo risultato dovrebbe essere riportato ma non è uno “show-stopper.
D’altra parte, se il sistema soddisfa ogni elemento delle specifiche tecniche ma è ingombrante da usare, allora è motivo di preoccupazione.
Esempi di test di accettazione dell’utente
Ogni software di qualsiasi dominio come Automotive, Viaggi/Turismo ecc. dovrebbe passare attraverso un adeguato test di accettazione dell’utente prima della consegna alla produzione.
Supponiamo che ci sia un software di monitoraggio mobile in cui un amministratore amministra le risorse mobili ed è un’applicazione web-based. È passato attraverso molte forme diverse di test come il test funzionale, il test di integrazione, il test di sistema, il test delle prestazioni ecc. e ora arriva il turno del livello più importante di test ed è il test di accettazione dell’utente. Idealmente, dovrebbe essere eseguito a due livelli:
Alpha Testing
Questo tipo di test di accettazione dell’utente è fatto dai tester presso il sito degli sviluppatori per controllare qualsiasi ultimo problema prima della consegna del software agli utenti finali per il beta testing.
Beta Testing
E’ fatto dagli utenti finali presso le loro sedi e controlla eventuali problemi prima che il software sia rilasciato alla produzione.
Conclusione
Il beneficio del test di accettazione dell’utente è che non ci saranno sorprese quando il prodotto sarà rilasciato alla produzione/al mercato per l’uso effettivo.
Altri articoli popolari:
- Che cos’è il test di accettazione o User Acceptance Testing (UAT)?
- Che cos’è l’Acceptance Test-Driven Development in Agile Methodology?
- Che cosa sono la Piramide di Test e i Quadranti di Test nella Metodologia Agile di Test?
- Che cosa sono i Prodotti di Lavoro del Progetto nel Test Agile?
- Che cosa è il Test dei Casi d’Uso nel test del software?