BDD: El panorama completo

El desarrollo guiado por comportamiento se vuelve cada vez más una técnica que todos quieren utilizar. Pero siento que no existe un concepto claro en la comunidad de qué implica utilizar BDD en un proyecto. Como muchos, comencé a explorar BDD desde el punto de vista de la automatización de escenarios. Pero a medida que fui profundizando en el estudio de BDD, descubrí que esto es sólo una pequeña parte de BDD, y que existe mucho más y se encuentra disperso en la internet por lo que es difícil ver el panorama completo.

Este post pretende ampliar la visión de BDD como metodología ágil, para aquellos que aún no han ido más allá de la automatización.

Continuar leyendo →

Aplicando el patrón Page Object en la automatización de escenarios

En los últimos dos post, he comentado acerca de patrones y técnicas para las pruebas unitarias. En esta oportunidad, hablaré de un patrón que podemos utilizar a nivel de nuestras pruebas de extremo a extremo (end to end). Se trata del patron Page Object.

Continuar leyendo →

Aumentando la expresividad de nuestras especificaciones

En el post anterior, vimos como aplicar el patrón databuilder puede ayudarnos a escribir el contexto inicial de nuestras especificaciones de manera más clara. En este artículo describiré algunas técnicas adicionales que ayudan a mejorar la expresividad de las pruebas.

Continuar leyendo →

Utilizando el patron Databuilder en nuestras pruebas unitarias

Para aplicar TDD o BDDSpec de manera efectiva, es importante que conozcamos algunos patrones y técnicas que nos permitan mantener nuestra suite de pruebas ordenada y mantenible. El código de prueba debe ser tratado como ciudadano de primera categoría al igual que el de nuestra aplicación. A continuación describiré el uso del patrón DataBuilder, y cómo nos ayuda a escribir pruebas más expresivas.

Continuar leyendo →

BDD de especificaciones: un ejemplo concreto en Java

Esta es la implementación en Java de un ejemplo concreto de BDD de Especificaciones. Es importante que leas primero de que se trata el ejemplo en el artículo anterior, antes de proceder a ver la implementación.

Continuar leyendo →

BDD de especificaciones: Un ejemplo concreto

En un artículo anterior, había compartido con ustedes un ejemplo concreto de BDD de historias. Ahora toca el turno de un ejemplo de lo que es BDD de especificaciones.

Continuar leyendo →

Desarrollo Agil con BDD en Java

Continuando mi tour por las comunidades de desarrolladores de Bogotá, hice presencia en el 7mo. Java Day para compartir con la comunidad de Java mi charla de Desarrollo Ágil con BDD.

Continuar leyendo →

#AgileOpenMedellin - Mi experiencia

El pasado sábado 22 de Junio de 2013, estuve participando en mi primer evento de agilidad en Colombia, el AgileOpen Medellín, que se llevó a cabo en Ruta N de esta ciudad. Con mas de 70 sesiones y 580 participantes, el evento fue todo un éxito, con mucho intercambio de información, networking y mucho entusiasmo de los asistentes. A continuación mi experiencia.

Continuar leyendo →

Desarrollo Agil con BDD en PHP

El 12 de Junio de 2013 tuve la oportunidad de compartir mi charla acerca del Desarrollo Ágil utilizando BDD con la comunidad de PHP en Bogotá. Es la primera de una serie de charlas que tengo planificadas para este año donde pretendo difunfir el tema del desarrollo guiado por comportamiento con las comunidades de desarrolladores de la ciudad.

Continuar leyendo →

Usando dobles para especificar la comunicación entre objetos

Cuando usamos BDD de especificaciones para diseñar objetos, queremos describir el comportamiento de nuestros objetos como una unidad. Pero ¿qué pasa cuando este objeto debe interactuar con otros para lograr su propósito?. A continuación explicaré cómo hacer uso de dobles de prueba para describir la comunicación entre distintos objetos.

Continuar leyendo →