martes, 16 de septiembre de 2008

Desarrollo Basado en el Comportamiento o BDD

Creo que los principios orientados a Objetos o mas conocido como OOP han encontrado eco a lo largo de los años, y disciplinas recientes han enfatizado la importancia de los mismos, en otras palabras la madurez de esta teoría hoy en día se ve mas cercana a la práctica y el uso generalizado de estas herramientas permitirán que llegemos a dicha madurez.

El Desarrollo Basado en el Comportamiento o Behaivor Driven Design, desafía a los desarrolladores a cuestionar cuales son las responsabilidades que ellos asigna a sus clases son apropiadas o pueden delegarse o moverse a otra clase. Cuestionarse de esta forma y utilizar Mocks para llenar los roles requeridos de colaboración de las clases, promueve el uso de interfaces basadas en roles, y esto también ayuda a mantener las clases pequeñas y desacopladas.

Al igual que el Diseño Basado en Dominio este describe el propósito y beneficio de su código.

Permite a los desarrolladores concentrarse en por qué el código debería de ser creado, en vez de los detalles técnicos, y minimiza la traducción entre el lenguaje en el cual se escribe y el lenguaje hablado por los usuarios.

(Extracto de WikiPedia)

Al final el Desarrollo Basado en Comportamiento no es mas que la evolución del Desarrollo Orientado a Pruebas o TDD. Veamos esta evolución en pasos, de como el aprendizaje y la adopción de TDD a llevado a su evolución y a convertirse en BDD:

  1. El desarrollador inicia escribiendo Pruebas Unitarias de su código con frameworks de prueba como NUnit.
  2. Cuando el conjunto de pruebas se incremente el desarrolladores disfruta y aumenta su sentido de confianza en el trabajo que realiza.
  3. Como consecuencia el escribir pruebas antes de escribir el código ayuda al desarrollador a concentrarse en escribir solamente el código que necesita.
  4. Así mismo, el desarrollador utiliza las pruebas como una forma de documentación para el código que no ha visto por algún tiempo.
  5. Llega el momento que el desarrollador se da cuenta que escribir pruebas en esta forma ayuda a descubrir la interfase de la aplicación de su código y TDD llega a ser parte del proceso de Diseño.
  6. Los expertos en TDD señalan que los desarrolladores se dan cuenta que TDD es acerca de definir el comportamiento en vez de las pruebas.
  7. El Comportamiento es acerca de las iteraciones entre los componentes del sistema y el uso de Mocking es fundamental para el avance de TDD.

(Extracto del sitio BDD.org )

La motivación es que iniciemos el camino al desarrollo basado en pruebas y evolucionemos al basado a comportamiento y mejor aún podamos desarrollar el modelo basado en dominio.

Hasta una próxima amigos!,

Manolo Herrera

No hay comentarios.: