I criteri di accettazione sono una descrizione di ciò che verrebbe controllato da un test. Dato un requisito come “Come utente, voglio ritirare un libro dalla biblioteca”, un criterio di accettazione potrebbe essere “verificare che il libro sia segnato come ritirato”. Un test di accettazione per questo requisito fornisce i dettagli in modo che il test possa essere eseguito con lo stesso effetto ogni volta.
Formato del testModifica
I test di accettazione di solito seguono questa forma:
Dato (setup)
Uno stato specificato di un sistema
Quando (trigger)
Si verifica un’azione o un evento
Quindi (verifica)
Lo stato del sistema è cambiato o è stato prodotto un output
Inoltre, è possibile aggiungere dichiarazioni che iniziano con AND in una qualsiasi delle sezioni sottostanti (Dato, Quando, Poi).
Per il requisito di esempio, i passi potrebbero essere elencati come:
Given Book that has not been checked outAnd User who is registered on the systemWhen User checks out a bookThen Book is marked as checked out
Completa il testModifica
I passi precedenti non includono alcun dato specifico di esempio, quindi questo viene aggiunto per completare il test:
Dato:
Libro che non è stato controllato
Libri | |
---|---|
Titolo | Checked out |
Grande libro | No |
Utente che è registrato nel sistema
Utenti | |
---|---|
Nome | Sam |
Quando:
L’utente preleva un libro
Azione di checkout | |||
---|---|---|---|
Utente | Sam | Preleva | Grande libro |
Quindi:
Il libro è segnato come controllato
Libri | ||
---|---|---|
Titolo | Checked out | User |
Grande libro | Sì | Sam |
Esame del testModifica
L’esame del test con dati specifici porta solitamente a molte domande. Per l’esempio, queste potrebbero essere:
- Che cosa succede se il libro è già stato ritirato?
- Che cosa succede se il libro non esiste?
- Che cosa succede se l’utente non è registrato nel sistema?
- C’è una data in cui il libro deve essere ritirato?
- Quanti libri può ritirare un utente?
Queste domande aiutano a chiarire i requisiti mancanti o ambigui. Dettagli aggiuntivi come una data di scadenza possono essere aggiunti al risultato atteso. Altri test di accettazione possono controllare che condizioni come il tentativo di controllare un libro già controllato producano l’errore previsto.
Un altro esempio di testModifica
Supponiamo che il cliente aziendale voglia una regola aziendale che un utente possa controllare solo un libro alla volta. Il seguente test lo dimostrerebbe:
Scenario:Controllare che la regola di checkout sia applicata
Dato:
Libro che è stato controllato
Libri | ||
---|---|---|
Titolo | Checked out | User |
Grande libro | Sì | Sam |
Un altro grande libro | No |
Nome
Sam
Quando:
L’utente controlla un altro libro
Azione di checkout | |||
---|---|---|---|
Utente | Sam | Checks out | Un altro grande libro |
Quindi:
Si verifica un errore
Descrizione
Violazione della regola di business del checkout
Test di accettazione del progettoModifica
In aggiunta ai test di accettazione per i requisiti, i test di accettazione possono essere usati su un progetto nel suo complesso. Per esempio, se questo requisito fosse parte di un progetto di controllo dei libri in biblioteca, ci potrebbero essere test di accettazione per l’intero progetto. Questi sono spesso chiamati obiettivi SMART. Un esempio di test è “Quando il nuovo sistema della biblioteca sarà in produzione, gli utenti saranno in grado di controllare i libri in entrata e in uscita tre volte più velocemente di oggi”.