Saltar al contenido

Taller de diseño modular dirigido por pruebas

Foto de Guillermo Pascual
Hosted By
Guillermo P.
Taller de diseño modular dirigido por pruebas

Detalles

Habitualmente, el principal problema con el que se encuentran los principiantes al comenzar con TDD, es cómo aplicar la técnica a su plataforma. Los ejemplos que se utilizan al comenzar se centran en probar lógica pura, sin prestar atención a otro tipo de interacciones que tienen lugar en todo sistema.

Cuando, finalmente, se enfrentan al problema se encuentran con grandes dificultades a la hora de escribir test unitarios. Habitualmente solucionan esta situación escribiendo tests de integración.

Sin embargo, las dificultades a las que se enfrentan no tienen nada que ver con TDD. Sus problemas son uno de los síntomas de una arquitectura pobre o de la falta de ella. Este taller enfocará los problemas a los que habitualmente nos enfrentamos desde un punto de vista de la arquitectura de nuestras aplicaciones.

Los objetivos del taller son:

  • Promover el modelo de dominio como parte fundamental de toda aplicación.

  • Demostrar que los frameworks no tienen porqué ser los elementos centrales de un software / arquitectura.

  • Demostrar que se puede hacer TDD “de libro” en todas las partes de una aplicación. (TDD se puede hacer bien siempre, si no puedes plantéate porqué).

  • Mostrar como muchos de los problemas al hacer TDD (suites de tests lentas, dificultad a la hora de probar determinadas partes de las aplicaciones, etc...) tienen poco que ver con la técnica en sí, siendo, más bien, un síntoma de una arquitectura pobre.

  • Demostrar que se pueden tener suites de tests < 1s.

  • Dejar muy claro el concepto de “delivery mechanism”

  • Promover el diseño modular y emergente

El taller consistirá en el desarrollo de una aplicación web utilizando TDD y arquitectura modular. La aplicación sería un clon de alguna cuyo dominio sea conocido por la mayoría de los asistentes.

La construcción de la aplicación quedará dividida en pequeñas features que presentarán una dificultad o problema específico. Estos problemas servirán como punto de partida a las explicaciones teóricas. De forma que las explicaciones y la implementación de las features se va intercalando hasta completar la aplicación.

El lenguaje, así como cualquier otro tipo de herramientas a utilizar queda a elección de los asistentes.

Photo of Software Crafters Madrid group
Software Crafters Madrid
Ver más eventos
Medialab Prado
Plaza de las Letras, C/ Alameda, 15 · Madrid