2010-06-10 22 views
5

Nos enfrentamos a un problema al gestionar datos de prueba (xmls que se utiliza para crear objetos simulados). Los datos que tenemos actualmente se han desarrollado durante un largo período de tiempo. Cada vez que agregamos una nueva funcionalidad o caso de prueba agregamos nuevos datos para probar esa funcionalidad. Ahora, el problema es cuando el requerimiento comercial cambia el formato (como la longitud o el formato de una variable) o cualquier cambio que los datos de prueba no admitan, necesitamos cambiar toda la información de prueba que tiene 100s de MBs de tamaño. ¿Alguien podría sugerir un mejor método o proceso para superar este problema? Cualquier sugerencia sería apreciada.Gestión de datos de prueba para pruebas Junit

Respuesta

7

Personalmente, me mantendría alejado de la creación de datos para el caso de pruebas en cualquier lugar que no sean los casos de prueba. En lugar de crear datos de prueba, cree generadores de datos que permitan la generación rápida de objetos dentro de cada caso de prueba o dentro de cada bloque anterior.

Esto tiene dos ventajas principales:

  1. Hace que las pruebas mucho más fácil de leer como el desarrollador puede ver exactamente lo que se están utilizando objetos y
  2. Se debe en gran medida reducir la cantidad de prueba datos que necesita administrar

Reserve los datos de prueba para cosas como pruebas funcionales y de integración y use una herramienta como DBDeploy para gestionar esos datos. Esta información debe mantenerse intencionalmente pequeña. El uso de DBDeploy y DBUnit permite que la base de datos se limpie antes de cada prueba o conjunto de pruebas. Esto también debería limitar la cantidad de datos que necesita, ya que aumenta en gran medida la reutilización de datos.

+0

Gracias Chris. Esa fue una buena idea. – nobody

3

Si bien esto no es una solución completa a su problema, pero definitivamente ayudaría (especialmente en su caso, ya que usted tiene 100s de MB de datos) - Escribir las pruebas basadas en la verificación comportamiento en lugar de datos de verificación.

Martin Fowler tiene un muy buen artículo here

+0

Gracias Mihir. Encontré el artículo útil. – nobody

Cuestiones relacionadas