In ingegneria e nelle sue varie sottodiscipline, il test di accettazione è un test utilizzato per determinare se un prodotto soddisfa le specifiche o i requisiti contrattuali. Questi test possono includere test chimici, test fisici o test delle prestazioni. Nell'ingegneria dei sistemi, i test di accettazione possono comportare test in scatola nera di un sistema (come software, parti meccaniche fabbricate o lotti di prodotti chimici) per confermare che soddisfi i requisiti prima della consegna.
Nei test del software, l'International Software Testing Qualifications Board (ISTQB) definisce i test di accettazione come: test formali delle esigenze, dei requisiti e dei processi aziendali degli utenti per determinare se il sistema soddisfa i criteri di accettazione e consentire agli utenti, ai clienti o ad altre entità autorizzate di poter decidere se accettare il sistema.
Il test di accettazione dell'utente (UAT) è la fase finale del processo di garanzia della qualità, condotto prima del rilascio finale, per valutare se il prodotto o l'applicazione è in grado di gestire scenari del mondo reale. Verificare che il sistema soddisfi i requisiti aziendali simulando il comportamento degli utenti e vietando le modifiche se determinati criteri non vengono soddisfatti. Le forme di test di accettazione includono test di accettazione dell'utente, test dell'utente finale, esecuzione di test di accettazione e sviluppo basato sui test di accettazione.
Potrebbe essere necessario eseguire più volte il piano di test di accettazione poiché non tutti i casi di test possono essere eseguiti in un'unica iterazione di test. Questo processo consiste in procedure di test predeterminate, istruzioni per i tester su quali dati utilizzare, procedure dettagliate da seguire e risultati di esecuzione attesi. Se i risultati effettivi corrispondono a quelli attesi, il test case è considerato superato. Se il numero di casi di test falliti non supera la soglia predeterminata del progetto, il piano di test di accettazione si considera superato, altrimenti il sistema può rifiutarlo o accettarlo in base all'accordo tra lo sponsor e il produttore;
Lo scopo principale della conduzione dei test di accettazione è che, una volta completati e soddisfatti i criteri di accettazione, lo sponsor dovrebbe approvare lo sviluppo del prodotto in quanto soddisfa i requisiti aziendali.
User Acceptance Testing (UAT) è il processo di verifica che una soluzione fornisca agli utenti le funzionalità richieste. Questo processo è diverso dal test del sistema, che serve a garantire che il software non si blocchi e soddisfi i requisiti di documentazione, ma garantisce che la soluzione possa effettivamente servire agli utenti. Questo tipo di test dovrebbe essere eseguito da un utente finale o da un esperto in materia (PMI), preferibilmente il proprietario o il cliente della soluzione. Gli utenti devono eseguire scenari di test in condizioni reali per garantire che il software possa funzionare nell'uso reale.
L'UAT è la convalida finale delle funzionalità aziendali richieste, simulando le condizioni del mondo reale per garantire l'accettazione della soluzione da parte dell'utente.
Il test di accettazione operativa (OAT) è un test software non funzionale utilizzato per determinare la disponibilità operativa complessiva di un prodotto, servizio o sistema. Questo tipo di test si concentra sulla prontezza operativa del sistema per garantire che possa effettivamente diventare parte di un ambiente di produzione.
I tipi di test di accettazione comuni includono: test di accettazione utente (UAT), test di accettazione in fabbrica (FAT) e test di accettazione operativa (OAT). Durante i test di accettazione in fabbrica, l'apparecchiatura viene generalmente testata prima dell'installazione per confermare che non solo soddisfi le specifiche ma sia anche pienamente operativa.
I criteri di accettazione sono "un insieme di criteri che un sistema o un componente deve soddisfare per essere accettato da un utente, cliente o altra entità autorizzata".
Tuttavia, quante esigenze non soddisfatte si nascondono dietro questi standard?