Secciones

Introducción a TDD

El Desarrollo Dirigido por Tests (Test Driven Development), o TDD, es una técnica de diseño e implementación de software incluida dentro de la metodologías eXtreme Programing o XP.
La verdad es que la gran mayoría de personas del mundillo TDD admiten que el nombre no es el más adecuado, porque da a entender que se trata simplemente de desarrollar software y hacer test unitarios.

Algunos personas con bastante experiencia, como Carlos Ble, prefieren denominarla Desarrollo Dirigido por Ejemplos. Desde aquí aprovecho a todos los que esteis interesados en profundizar en el tema que leais el libro "Diseño Ágil con TDD" escrito por Carlos Ble.

En realidad esta técnica tiene una base es bastante sencilla que se podría resumir en tres pasos:
  1. Escribir la especificación del requisito.
  2. Implementar el código necesario para cubrir este ejemplo.
  3. Refactorizar para eliminar duplicidad y detectar mejoras.
Y como dicen que una imagen vale más que mil palabras, que mejor que un vídeo con un pequeño HelloWorld sobre TDD.


Como veis, hacer una pequeña prueba con TDD es muy sencillo, ¿pero que sucede cuando las cosas no son tan simples como lo que hemos realizado en el ejemplo anterior? En el libro de Lasse Koskela Test Driven: Practical TDD and Acceptance TDD for Java Developers, un libro muy interesante y centrado en aplicar TDD con Java, tenéis ejemplos y casos de uso mucho más reales y complejos que el que hemos visto en el vídeo anterior.

Como considero que este es un tema muy interesante, uno de mis objetivos para este 2011, es profundizar más en estas técnicas. En mayo, espero poder contar con Carlos Ble y aprovechar su magnífica idea Tour 2011, y que podamos compartir con nuestras experiencias.

Por cierto, el próximo mes de Marzo, en Valencia, Carlos Ble junto con ExtremoByte, tiene planificado dar un curso en Valencia sobre TDD. Creo que aún hay plazas para todos aquellos que quieran apuntarse!!!

Saludos,

Juan C. Fernández

2 comentarios:

  1. Muy interesante...!! yo este 2011 tengo como reto personal algo similar:
    “Model-Driven Development” (MDD).
    http://holisticsecurity.wordpress.com/2010/11/25/bpm-trend-agile-bpm/

    ... seguro me verás por allí ;)

    Salu2

    ResponderEliminar
  2. Tirando hacia temas mas terrenales : http://emmersonmiranda.blogspot.com/2011/01/webinar-sobre-selenium.html
    :-)

    ResponderEliminar