2009-06-22 12 views
6

Durante varios años he estado usando una herramienta de prueba llamada qmTest que me permite hacer un desarrollo de base de datos basado en pruebas para algunas bases de datos de Firebird. Escribo una prueba para una nueva característica (tabla, disparador, procedimiento almacenado, etc.) hasta que falla, luego modifico la base de datos hasta que la prueba pasa. Si es necesario, hago más trabajo en la prueba hasta que vuelva a fallar, luego modifico la base de datos hasta que pase la prueba. Una vez que la prueba de la función está completa y se supera el 100% del tiempo, la guardo en un conjunto de otras pruebas para la base de datos. Antes de pasar a otra prueba o implementación, ejecuto todas las pruebas como una suite para asegurarme de que no haya nada roto. Las pruebas pueden tener dependencias en otras pruebas, y los resultados se registran y se muestran en un navegador.Primera herramienta de desarrollo de prueba para SQL Server 2005?

Nada nuevo aquí, estoy seguro.

Nuestra tienda tiene como objetivo estandarizar en MSSQLServer y quiero utilizar el mismo procedimiento para desarrollar nuestras bases de datos. ¿Alguien sabe de herramientas que permiten o fomentan este tipo de desarrollo? Creo que el Team System sí lo hace, pero no nos pertenece eso en este punto, y probablemente no lo hagamos por un tiempo.

No me opongo a las secuencias de comandos, pero agradecería un entorno más gráfico.

¿Alguna sugerencia?

Respuesta

2

Team System es probablemente la solución más conocida, pero también puede probar TSQLUnit (SourceForge).

No lo he usado, pero this article hace un buen trabajo al introducirlo.

1

En proyectos donde no tuve acceso al sistema de equipo para db pro, he usado scripts sql combinados con msbuild y la biblioteca de tareas sdc para msbuild (http://www.codeplex.com/sdctasks). El script msbuild llama a una tarea sdc para ejecutar mis scripts sql en un orden particular (por ejemplo, crear db, crear tablas, etc.) y en una cadena de conexión particular. Los scripts siempre comprueban si existe un objeto y lo destruyen primero y lo crean de nuevo.

Los scripts sql y msbuild que coloco en un proyecto de base de datos de estudio visual regular (que no hace nada especial, por lo que puede elegir usar un proyecto vacío simple), así que todo está controlado por código fuente.

con un conjunto de scripts de este tipo, puede configurar una nueva base de datos para cada ejecución de prueba. Luego puede usar scripts de inserción para llenarlo con datos y ejecutar pruebas unitarias en su contra.

Estos scripts son también útiles para la creación de bases de datos desde cero en diferentes entornos (DEV/TST/QUA/...)

1

pude adecuadamente apply a test driven development style against SQL Server databases using TSQLUnit. Seguí el mismo flujo que usted describió al escribir primero una secuencia de prueba unitaria que falla y luego hacer los cambios necesarios para que pase la prueba. Con el tiempo, también construí un conjunto de pruebas cuando las ejecuté validadas de que nada se rompió mientras realizaba nuevos cambios.

Hubo algunos puntos difíciles (incluidas las dificultades extremas al escribir pruebas para sprocs existentes) pero funcionó especialmente para los cambios de esquema.Sin embargo, recomendaría mirar T.S.T. the T-SQL Test Too1 que a diferencia de TSQLUnit (I had to roll my own) tiene soporte incorporado para las aserciones.

+0

+1 Gracias por señalarme a T.S.T., se ve muy bien. –

Cuestiones relacionadas