Stiamo cercando di capire se dovremmo scrivere test di accettazione che ruotano attorno a dati precaricati su un file di database, o aggiungere programmaticamente i dati necessari per test o riempire il database mentre testiamo altre funzionalità delle applicazioni.
Questo è un caso più dettagliato e di facile utilizzo: desideri test di accettazione (o test dell'interfaccia utente) aggiungendo una Book
al sistema. Ma per farlo, devi avere già Category
di righe nel database, quindi puoi assegnarne una al libro. Mentre stai scrivendo il tuo test case per aggiungere un libro, tu:
-
Utilizza un file di database seminato in precedenza che contiene già categorie in esso.
- contro sarebbe necessario mantenere quel file con ogni modifica del codice, con le modifiche latest sul sistema, E dovresti riempirlo tenendo conto della logica di business aggiuntiva (ad esempio, potresti seminare autori con parametri casuali ; ma risulta che un autore non può essere selezionabile a meno che non superi le condizioni x, ye z e la seminatrice non ha tenuto conto di ciò)
-
aggiungi la categoria nel test.
- contro sarebbe necessario mantenere ancora una volta la logica di business aggiuntiva
-
Ogni funzione testata conserva i dati , quindi per prima cosa esegui il test di accettazione per aggiungere categorie e quindi per aggiungere un libro.
- contro sarebbe il tuo strumento di test non avrebbe bisogno di isolare i test, o almeno eseguirli in un certo ordine.
Forse c'è una quarta opzione che non ho ancora considerato? Qual è l'approccio corretto per questo compito comune?