Come testare una funzione che aggiorna la password nel database?

2

Ho un database di test con pochi account utente. Non voglio rompere alcun test. Se sto scrivendo una funzione che aggiorna la password per l'utente in db e una che legge la password.

Dovrei resettare idealmente la password a quella precedente, una volta che ho finito di testare la funzione di aggiornamento?

Non ho mai scritto test di unità prima, quindi sono un po 'confuso.

    
posta Amogh Talpallikar 24.01.2014 - 07:16
fonte

1 risposta

7

Una regola importante quando si eseguono test ripetibili (automatizzati o meno) è quella di assicurarsi che i dati del test siano sempre nello stesso stato prima che i test inizino. Questo dovrebbe essere idealmente assicurato per ogni singolo test della tua suite di test, in modo da poter scambiare l'ordine di qualsiasi test in qualsiasi momento.

Il modo in cui ottieni questo dipende da te. Per il tuo scenario, può aver senso reimpostare la password allo stato originale dopo che il test è terminato (nota che devi farlo in modo indipendente dal risultato del test). Un approccio diverso consiste nell'avere un backup completo in db che viene ripristinato dopo ogni test (qualcosa che è fattibile per piccoli database a file singolo come SQL lite o MS Access, ma in genere non per grandi db C / S come Oracle o MS SQL server). Una terza alternativa è quella di avere uno script che inizializza tutti i dati di test rilevanti nel DB (comprese le password) in uno stato definito e di eseguire questo script automaticamente prima che venga eseguito qualsiasi test.

Quale di queste alternative è la migliore dipende dal tipo di database che stai utilizzando, dal tipo di test che hai, dalle dipendenze tra di loro, dalla quantità totale di dati di test e da alcune considerazioni sulle prestazioni e sulla sicurezza.

    
risposta data 24.01.2014 - 08:20
fonte

Leggi altre domande sui tag