lunes, 7 de julio de 2008

Pruebas Unitarias

Se utiliza para poder probrar que todo esta correcto en un módulo de código asi podemos saber que todo los módulos funcionan bien lo ideal es escribir todos los modulos independientes unos de otros.

Para que una prueba unitaria sea buena se deben cumplir los siguientes requisitos:

  • Automatizable: no debería requerirse una intervención manual. Esto es especialmente útil para integración continua.
  • Completas: deben cubrir la mayor cantidad de código.
  • Repetibles o Reutilizables: no se deben crear pruebas que sólo puedan ser ejecutadas una sola vez. También es útil para integración continua.
  • Independientes: la ejecución de una prueba no debe afectar a la ejecución de otra.
  • Profesionales: las pruebas deben ser consideradas igual que el código, con la misma profesionalidad, documentación, etc.

Se recomienda seguirlos o de lo contrario las pruebas pierden parte de su función.Pero no es obligatorio.


Los beneficios de escribir pruebas unitarias son muchos:
  • El código es menos frágil.
  • Hacer cambios es más seguro y fácil.
  • Podemos integrar continuamente de manera rápida.
  • Podemos hacer refactors agresivamente.
  • Tenemos una documentación viva de nuestros APIs.
  • Nos permite pensar desde el punto de vista de la interfaz y no de la implementación.
  • Los errores están más acotados y son más fáciles de localizar: dado que tenemos pruebas unitarias que pueden desenmascararlos.