La primera sesión a la que asistí fue propuesta por @danilomerlino y trató sobre testing. En realidad inicialmente fue planteada como gestión de bugs, pero una vez expuesta la problemática, nos la pasamos hablando del testing. Estimo que en la sesión fuimos unas 15 personas. En forma resumida la problemática que disparó la sesión fue: a pesar de que los programadores hacen sus pruebas unitarias, cuando el software llega a los testers estos encuentran una gran cantidad defectos. Entre las sugerencias habladas para superar esta situación se mencionaron diversas prácticas como ser:
- Pair programming / Revisión de pares
- Test cruzados entre los programadores
- Trabajo más cercano entre programadores y testers
- Behaviour-Driven Development
Algunos de los asistentes comentaron haber experimentado bajas en la cantidad de defectos reportados a partir del uso de 1,2 y 3, cosa que también ha sido confirmada por diversos autores (Steve McConell entre ellos).
Yo fui quien hizo la propuesta 3 y junto con la propuesta mostré algunos features de proyectos en los que he participado en el último tiempo. Hay que destacar que si bien esta práctica permite generar pruebas de aceptación automatizadas, esto es simplemente un efecto colateral, el gran beneficio que genera usar BDD es la charla que se da entre el equipo y el usuario y los ejemplos de uso resultantes de la misma.
Comparto a continuación algunos links mencionados durante la sesión que pueden resultar de interés:
- Screencast paso a paso de cómo desarrollar una funcionalidad aplicando BDD con Cucumber
- Sitio de entrada a la familia de herramientas Cucumber
- Artículo de resumen de ideas centrales de la técnica Specification by Example
- Reporte de bugs con Scrum, por Juan Gabardini
Continuará…