2010-05-21 8 views
5

Desidero eseguire il test di regressione delle stored procedure t-sql. La mia idea è di specificare per ogni SP più set di parametri di input. L'SP dovrebbe essere eseguito con questi parametri, i risultati dovrebbero essere scritti sul disco. La prossima volta i nuovi risultati dovrebbero essere confrontati con i risultati archiviati in precedenza.Test di regressione per stored procedure T-SQL

Qualcuno conosce un buon strumento per qualcosa del genere? Non dovrebbe essere così difficile da implementare, ma in pratica avrete bisogno di funzionalità come "ignorare quella colonna" o qualcosa del genere. E suppongo che un tale strumento dovrebbe già esistere !?

applausi, Achim

+0

Fornire solo input e output attesi sembra più come se si testassero le funzioni. Le stored procedure possono utilizzare dati diversi dai parametri di input e possono avere effetti collaterali come scrivere dati su una tabella, quindi sarà necessario impostare il palco per il test popolando le tabelle appropriate e salvando eventuali effetti collaterali come parte del test. risultato. – mdma

risposta

5

vorrei utilizzare una suite di test di unità come DbUnit. DbUnit imposterà il database, eseguirà la procedura memorizzata e quindi verificherà il risultato, e facoltativamente ripristinerà il database pronto per il prossimo test. Rappresenta i dati di input e i risultati previsti come file XML, che è possibile decodificare dai dati e dallo schema già presenti nel database.

Al test di regressione, si utilizza l'unità db per eseguire le stored procedure in prova una volta e raccogliere l'output (senza convalidarlo). Questo definisce la tua linea di base su cui eseguire i successivi test di regressione.

DbUnit ha una bella astrazione per i dati tabulari, che possono essere recuperati da file CVS, file XML o oggetti di database.

Gli ingressi di prova e i risultati previsti sono facili da diff e memorizzati nel controllo di versione, poiché sono memorizzati come XML. Come accennato, puoi anche caricare e salvare i dati dai file CSV.

DbUnit è un ottimo strumento per testare la funzione del database, lo project page e lo FAQ sono buone risorse per iniziare.

+0

Sembra buono, ma sembra essere uno strumento Java. Qualcuno conosce uno strumento simile per .Net? – Achim

+0

Siamo spiacenti, non hai menzionato una lingua nella tua domanda. Per .NET c'è NDbUnit - http://code.google.com/p/ndbunit/. La pagina del progetto afferma che prende in prestito molte idee da DbUnit, quindi dovrebbe essere una buona corrispondenza. – mdma

+0

Mi sono appena imbattuto in questo - TSQLUnit - http://sourceforge.net/apps/trac/tsqlunit/ – mdma

Problemi correlati