Skills que aprenderás
Convocatorias
No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.
Recursos
No hay recursos disponibles todavía para esta convocatoria
Dirigido a profesionales con experiencia sólida en TDD que quieren operar al nivel de diseño arquitectónico y toma de decisiones estratégicas sobre la calidad del software. A lo largo de las ocho horas del curso se aborda cómo guiar el diseño de módulos y bounded contexts enteros escribiendo los tests antes que el código, cómo evaluar críticamente suites existentes en busca de smells y deuda técnica oculta, y cómo razonar sobre los trade-offs entre las escuelas clásica y mockista de TDD en función del contexto arquitectónico. El participante también aprenderá a estructurar una pirámide de tests que maximice la confianza del sistema minimizando el coste de mantenimiento, a aplicar patrones avanzados que elevan la legibilidad y sostenibilidad de las suites, y a automatizar el pipeline TDD completo —incluyendo mutation testing— en un entorno CI/CD reproducible. Al terminar, el participante será capaz de liderar decisiones de diseño orientadas a tests en proyectos de complejidad real y de articular con argumentos sólidos cuándo, por qué y cómo aplicar cada estrategia.
Al finalizar el curso, el participante será capaz de:
Bloque 1 — Escuelas de TDD y fundamentos de diseño arquitectónico (≈ 1,5 h) Se revisan en profundidad las dos grandes corrientes del TDD: la escuela clásica de Chicago, que posterga el uso de dobles de prueba y enfatiza el comportamiento observable del sistema, y la escuela mockista de Londres, centrada en la colaboración entre objetos e intensiva en mocks. El bloque analiza los supuestos de diseño que cada escuela incorpora, los contextos arquitectónicos en que cada una produce mejores resultados —sistemas con lógica de dominio rico versus sistemas orientados a interacciones entre servicios— y los criterios de decisión que permiten elegir con criterio, evitando el dogmatismo. Se introduce además el concepto de deuda técnica latente y cómo el enfoque TDD la hace emerger antes de que el código de producción exista, convirtiendo los tests en una herramienta de anticipación de riesgo.
Bloque 2 — Evaluación y diagnóstico de suites existentes (≈ 1,5 h) Este bloque equipa al participante con un marco analítico para auditar suites de tests heredadas. Se estudian los smells más frecuentes —tests frágiles, acoplamiento excesivo a la implementación, falsos negativos silenciosos, explosión de mocks— y se trabaja con métricas cuantitativas y herramientas de análisis estático que permiten objetivar el diagnóstico. Se practica la identificación de zonas de riesgo en un proyecto real de complejidad media y se establecen criterios de priorización para decidir qué refactorizar primero.
Bloque 3 — Pirámide de tests y arquitectura de la estrategia de calidad (≈ 1,5 h) Se formaliza el modelo de pirámide de tests como herramienta de diseño estratégico: qué tipos de tests viven en cada capa, cómo se reparte la cobertura, qué coste de mantenimiento asume cada nivel y cómo se conecta la estrategia de tests con la arquitectura del sistema. Se trabaja la tensión entre confianza y velocidad de feedback, y se diseña una estrategia multicapa para un bounded context completo, justificando cada decisión con argumentos económicos y técnicos.
Bloque 4 — Arquitectura guiada por tests y patrones avanzados de suites (≈ 2 h) El núcleo del curso: cómo arquitecturar un módulo o bounded context escribiendo tests antes que cualquier código de producción, respetando SOLID y dejando que la presión del test guíe las decisiones de acoplamiento e interfaces. Se introduce la técnica de outside-in TDD para abordar funcionalidades completas desde el borde externo hacia el interior. En paralelo se estudian los patrones avanzados que elevan la legibilidad y mantenibilidad de las suites —Object Mother, Test Data Builder y Specification Pattern—, aplicándolos sobre el mismo proyecto para que el participante experimente su impacto directo en la expresividad del código de prueba.
Bloque 5 — Optimización de rendimiento y automatización del pipeline CI/CD (≈ 1,5 h) Se aborda el problema de suites lentas o inestables como obstáculo para la adopción sostenida de TDD, aplicando estrategias de paralelización, segmentación por capas y eliminación de dependencias externas. A continuación se construye el pipeline TDD completo en un entorno CI/CD: integración de los tests unitarios, de integración y de mutation testing como etapas diferenciadas, configuración de umbrales de calidad y gestión de informes. El bloque cierra con una reflexión sobre cómo sostener el ciclo TDD a escala de equipo y de organización.
Para aprovechar este curso el participante debe dominar el ciclo Red-Green-Refactor con soltura, saber utilizar dobles de prueba (mocks, stubs, fakes) con propiedad y tener experiencia en al menos un proyecto real en el que haya aplicado TDD de forma continuada. Se asume familiaridad con principios SOLID y con patrones de diseño fundamentales. Estos contenidos son cubiertos por TDD02.