I test di accettazione devono essere scritti prima, prima che il codice sia scritto. Quando passano, sai che la funzione è completa e fa ciò che dovrebbe fare. Tuttavia, la maggior parte di questi test segue solo il percorso felice. Consideriamo due scenari:
- Il tuo dipartimento QA è in grado di gestire i propri test automatici.
In questo caso, hai risparmiato loro la fatica di scrivere test di percorso felice, in modo che possano concentrarsi su casi limite, test di mutazioni, test di stress, test esplorativi e test di regressione. Inoltre, possono rimuovere i test dalle proprie esecuzioni di test se preferiscono avere il proprio test di accettazione. Hai prodotto codice che ha meno probabilità di essere bacato, ha risparmiato tempo e ha permesso loro di concentrarsi su ciò che sono bravi a ... Il QA non è fare in modo che il software faccia ciò che dovrebbe fare - non dovresti spedire il codice a loro se c'è qualche domanda su questo - si tratta di assicurarsi che il software non faccia quello che non dovrebbe fare.
- Il tuo dipartimento QA non è in grado di gestire i propri test automatici.
In questo caso, hai scritto test automatici che non possono scrivere, il che è utile. Forse impareranno a leggere i test automatici e capiranno cosa testate, cosa che li aiuterà a sviluppare un piano di test. Avete anche spedito il software che sapete funziona su un percorso felice, il che significa che il reparto QA ha più tempo per concentrarsi su esplorazione, regressione, ecc. Il loro compito è quello di violare il vostro software, non verificare di essere minimamente competenti.
In entrambi i casi, seguendo un piano di sviluppo guidato dal comportamento si risparmia tempo e denaro e si produce software più robusto.