In genere, un test di accettazione è scritto contro un requisito. Indipendentemente da come vengono acquisiti i requisiti, è necessario disporre di un insieme di elementi che il sistema deve essere in grado di fare, espresso come elenco in una SRS (Software Requirements Specification) o come raccolta di User story, tra le altre opzioni. Ad ogni requisito dovrebbe essere associato un test di accettazione che viene eseguito contro il sistema che genera ed esegue.
I test di accettazione vengono dopo il collaudo di unità (che di solito verifica la funzione, il metodo e il livello di classe), test di integrazione (livello di classe e pacchetto) e test di sistema (post-integrazione per garantire che il sistema funzioni come progettato). Dopo il test del sistema, l'organizzazione in fase di sviluppo sa che il software funziona come previsto. I test di accettazione assicurano che le esigenze del cliente / utente siano soddisfatte come specificato dai requisiti noti.