Introducción:
Test Driven Development (TDD) o Desarrollo guiado por pruebas es una práctica de desarrollo software que combina dos actividades principales:
- Escribir las pruebas primero (Test First Approach)
- Refactorizar el código
Aunque ambas técnicas son conocidas desde hace varias décadas, se popularizaron dentro de la disciplina de desarrollo software Extreme Programing en 1999
La correcta aplicación de estas prácticas y disciplinas provoca un código más robusto, mantenible, con pruebas automatizadas desde el inicio. Las arquitecturas del código que se derivan de la aplicación de TDD son diferentes y habitualmente mejores que las obtenidas de código creado desde un diseño previo.
Metodología
La metodología utilizada será de un enfoque a taller práctico en el que se codificará en parejas (pair programming) realizando retos de programación de dificultad progresiva
Los contenidos teóricos del temario se expondrán de forma sintética durante las prácticas.
Objetivos:
Aunque TDD no es aplicable a toda situación de desarrollo software, los que lo utilizan lo consideran el mecanismo de desarrollo más eficiente.
TDD obliga al programador a:
- Usar buenos patrones de diseño
- Escribir código limpio
- Crear pruebas automatizadas
- Crear soluciones software mantenibles
Es decir, la práctica de TDD desarrolla fuertemente la capacidad del programador, especialmente si se va a trabajar en un framework agile (XP, Scrum)
Dirigido a:
Programadores y desarrolladores software. También es muy recomendable para testers que se estén introduciendo en la programación y vayan a trabajar con BDD o ATDD, así como criterios de aceptación en desarrollos ágiles
Requisitos:
Conocer el lenguaje de programación y estar habituado al uso de IDE, herramientas de gestión de configuración.