Quali sono le considerazioni importanti durante il Backend Testing?
Domanda
Volevo sapere quali sono le considerazioni importanti da tenere a mente durante i test di backend.
Il mio progetto non ha GUI fondamentalmente è tutto lavoro correlato al back-end. Complete Server Side è in Java e stiamo usando Oracle Db.
Gradirei davvero che tutti voi poteste condividere alcuni consigli di esperti su quali sono le considerazioni da tenere a mente durante il test Backend Testing.
Soluzione
Dal momento che la tua domanda è molto generale, quindi deve essere la mia risposta. Ecco alcune cose da tenere a mente:
- Devi essere in grado di tornare a un punto di partenza coerente per ogni esecuzione di test. Creare uno snapshot DB e disporre di un meccanismo per ripristinare il DB da quello snapshot prima di ogni esecuzione.
- L'istantanea deve essere rappresentativa del database di produzione. Dal momento che potresti non voler copiare i dati di produzione effettivi per motivi di privacy e sicurezza, questo probabilmente significa avere un mezzo per generare i dati (e rigenerarli quando ci sono cambiamenti, ad esempio cambiamenti nello schema).
- Per i test di regressione, è necessario disporre di test unitari per tutti i casi d'uso comuni e, si spera, molti di quelli non comuni. JUnit è probabilmente un buon framework per questo.
- Valuta di includere uno strumento di copertura del codice per vedere quanta persistenza il livello viene toccato dai test unitari. La copertura del codice al 100% non significa che tu eserciti tutti i percorsi decisionali, ma almeno ti dà un'idea di quanto coprono i tuoi test.
- È necessario testare sia la velocità effettiva (gli inserti e le selezioni avvengono abbastanza velocemente per un singolo utente?) sia la concorrenza (fare più utenti - più di quanto ci si aspetti dalla produzione - accedere alle stesse tabelle sia per la lettura che per l'inserimento / l'aggiornamento - causare problemi di prestazioni o deadlock? Se ci sono deadlock, si stanno risolvendo correttamente?)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow