Must Read: Diseño Ágil con TDD de Carlos Blé

13 noviembre, 2011 por Ana Buigues Dejar una respuesta »

Recientemente he leido Diseño Ágil con TDD de Carlos Blé y considero que su lectura es una magnifica forma de introducirse en el mundo de la practica del Test Driven Development.

Para los que desconozcan que es TDD es una técnica de desarrollo de software enmarcada dentro de la metodología eXtreme Programming que tiene la virtud de minimizar el número de defectos del código y maximizar su calidad creando un código limpio que funcione.

El libro se divide en dos partes, un teórica y una práctica. En la parte teórica realiza una pequeña introducción sobre la importancia del Agilismo. Pasa a explicarnos el algoritmo del TDD y realiza un recorrido por los distintos tipos de test como son los Test de Aceptación, Test Funcionales, Test de Sistema, Test Unitarios y Test de Integración. También nos explica cuando usar los dobles de prueba y como escribir código que cumpla con los principios de diseño S.O.L.I.D.

La lectura de esta primera parte resulta realmente enriquecedora, introduce muchos aspectos del “como se deben realizar las cosas”, se nota que la artesanía del software es un papel importante dentro de esta técnica de desarrollo, bueno y del desarrollo en general.

La segunda parte es puramente práctica, dónde se aplica todo lo aprendido en la parte teórica paso a paso. Se realiza un ejemplo partiendo de los test de aceptación, de esta forma nos centramos específicamente en el problema a resolver. Se van desarrollando los test utilizando TDD y se observa como el código va cambiando y adaptándose a los requisitos de una manera incremental.

Qué beneficios obtenemos:

  • Escribimos código de calidad.
  • Los diseños son más simples, nunca escribimos más código del necesario.
  • Aumenta la fiabilidad del código gracias a los test.
  • Conseguimos código muy reutilizable.
  • La tranquilidad de realizar modificaciones, si rompemos algo un test nos lo dirá.

Qué problemas encontraremos:

  • La técnica en sí es muy sencilla, pero llevarla a cabo cuesta, hay que cambiar nuestra forma de pensar las cosas.
  • Estamos acostumbrados a escribir código que funcione y punto, ni refactorizaciones ni principios…El dilema del “no tengo tiempo o no hay tiempo” ya no vale.

Los ejemplos del libro están escritos en C#, yo los realicé en Java, los podéis encontrar aquí.

8 comentarios

  1. Luis Eyzaguirre dice:

    Excelente trabajo!!!, disfruté mucho con el libro, Me cuesta acostumbrarme a NO hacer el modelo del dominio antes del codigo.

    Graciasss!!!!

Deja un comentario