En ocasiones los desarrolladores se enfrentan a desarrollos complejos, con los tiempos ajustados donde intentan obtener un código limpio, mantenible y que funcione. TDD es una metodología que ayuda a conseguir esto y, junto a la metodología ágil, crear software de calidad en el menor tiempo posible. Nuestro SlashBoy Agustín Dotta, nos enseñará hoy en qué consiste el TDD y cómo puede ayudarnos en nuestros desarrollos.

- Red (pruebas): escribimos un test que debería pasar un componente de nuestra aplicación. Éste no debe compilar y debe fallar.
- Green (codificar): escribimos el código que haga pasar el test. En este caso, no hacerlo perfecto está bien visto para que lo pase ya que en la siguiente etapa se va refactorizar. Con ello lo que conseguimos es la solución más sencilla posible.
- Refactor (refactorizar): refactorizamos el código escrito en la etapa anterior para que sea código limpio y funcione.
- Se testa todo el código.
- Sólo se escriben test, por ejemplo, cuando se tiene una tasa de cobertura de test muy elevada.
- Se testa cosas demasiado complejas. Hay que recordar que los test son unitarios por lo que cuando un test es muy complejo se debe separar en varios test.
- Debe ser rápido
- Ser reutilizable, es decir, ajo las mismas condiciones siempre se tiene que comportar igual.
- Tiene un nombre claro y explícito de tal modo que no genere dudas sobre lo que hace.
- Es atómico: es decir, sólo comprueba una cosa a la vez.
- Sólo falla si tu código está mal. No depende del entorno o de ficheros externos.