Il test di accettazione è una fase finale del test che viene eseguita su un sistema prima che il sistema venga consegnato a un ambiente live. I sistemi soggetti a questo processo di test potrebbero includere prodotti come un sistema software o un sistema hardware meccanico. I test di accettazione sono generalmente eseguiti come test “scatola nera”, il che significa che il tester utilizza input specificati nel sistema e verifica che gli output risultanti siano corretti, senza conoscere il funzionamento interno del sistema.
Test di accettazione dell’utente (UAT) è il termine utilizzato quando questi test vengono eseguiti dalla persona che utilizzerà il sistema live una volta consegnato. Se il sistema viene costruito o sviluppato da un fornitore esterno, questo viene talvolta chiamato test di accettazione del cliente (CAT). L’UAT o CAT funge da conferma finale che il sistema è pronto per il go-live. Un successo in questa fase può essere un requisito contrattuale prima che il sistema venga approvato dal cliente.
In alcuni settori, come la produzione, il test di accettazione in fabbrica (FAT) è il termine solitamente utilizzato per la fase di test formale. Questo test può essere eseguito dal venditore o fornitore del sistema e osservato dal cliente. Questo viene spesso fatto in modo molto formale, con ogni test in fabbrica o in sito documentato in dettaglio e ogni parte firmata.
Questa forma di test è spesso costituita da molti “casi di test” individuali, che sono scenari documentati individualmente. Ogni caso di test che fa parte del processo complessivo di solito documenterà in cosa consiste l’input al sistema e quale dovrebbe essere l’output previsto. Se l’output effettivo è quello previsto, si dice che il test case restituisce un risultato positivo o positivo.
Quando vengono progettati e specificati i test di accettazione, spesso un cliente o un gruppo di utenti finali documenterà quale livello di risultati sarà considerato sufficientemente positivo da consentire l’accettazione del sistema. Il pagamento al fornitore o al venditore può dipendere dal raggiungimento di questo obiettivo. Durante il test, a ciascun test case viene solitamente assegnato un risultato “pass” o “fail”. Alcuni casi di test possono essere estremamente importanti, mentre altri possono testare parti non essenziali del sistema. Pertanto, affinché il sistema raggiunga complessivamente un “pass”, potrebbe non essere necessario che ogni singolo caso di test ottenga un risultato positivo.