Curso de TDD: Test-Driven Development

Dani SantamariaJavier Ferrer

Por Dani Santamaria y Javier Ferrer Diseño y Arquitectura de Software y Metodologías y buenas prácticas

Aprende Test-Driven Development (TDD) y las diferentes formas y estilos de aplicarlo en aplicaciones del Mundo Real™️

💸 Primera lección disponible sin registro 💸

Aprender la práctica del TDD puede ayudarte a construir software útil que funcione en el tiempo. Las reglas son sencillas:

  • 🔴 Escribe un test que falle para el comportamiento que quieres añadir
  • 🟢 Haz que el test pase, escribiendo el mínimo código posible.
  • 🔵 Refactoriza para mejorar el diseño del software

Sin embargo, aplicar TDD en aplicaciones del Mundo Real™️ tiene ciertos retos como ¿Cuándo merece la pena aplicarlo? ¿Qué estilo de TDD debería usar? ¿En qué dirección hago TDD? ¿Qué pasa si el diseño no emerge en la fase de refactor?

Con este curso aprenderás a:

  • 🚀 Conceptos y técnicas de TDD: Fake-it, Obvious implementation, Triangulation, Tranformation Priority Premise (TPP), etc.
  • 👓 Enfoques de TDD a la hora de resolver un caso de uso: Inside-out, Outside-in y Middle-out
  • 💃 Estilos de TDD, cogiendo aquellas partes de Classic TDD y Mockist TDD que más nos gustan para cada situación.
  • 👌 Buenas prácticas y recomendaciones a la hora de afrontar el TDD en nuestro día a día.
  • 🦄 Implicaciones a nivel de diseño de software: SOLID, YAGNI y DRY.

A lo largo del curso se proponen una serie de ejercicios para que puedas ir practicando la técnica en diferentes situaciones.

Durante el curso utilizamos una variedad de lenguajes de programación. Algunos ejemplos son específicos del desarrollo web (Back-end y Front-end), pero tratamos los conceptos de forma agnóstica para que también sea extrapolable a otros contextos.

¡Aprende TDD en profundidad para llevarlo a la práctica diaria en aplicaciones complejas! 💪

Contenido del curso

  1. 🍄 ¿Qué es TDD?
    • ⚡ TDD en 10 minutos
    • ♻️ Tu primer ciclo de TDD: Cálculo de precios con IVA
  2. 🙋 Inside-out TDD: El ciclo de TDD
    • 🟢 Optimizar el ciclo de TDD: 3 formas de pasar a verde
    • 🔵 Refactoring: diseñar y generalizar la solución
    • 🛠 ¡A praticar! Ejercicio Inside-out
  3. ⚡ Optimizando los ciclos de TDD
    • 📐 Transformation Priority Premise (TPP): Decidiendo cuánto generalizar
    • 🔥 Transformation Priority Premise en acción: Graduated Tiered Pricing
    • 👶 Baby steps: La frustración de caminar despacio
    • 🛠 ¡A praticar! Ejercicio TPP
  4. 🙏 Problemas de TDD Inside-out en aplicaciones de El Mundo Real™️
    • 😬 ¡La que hemos liado! El ejemplo típico se nos va de las manos en El Mundo Real™️
    • 🤔 TDD vs BDD vs ATDD vs DDD
  5. 💁‍♂️ Outside-in TDD desarrollando una API HTTP… ¿o mejor Middle-out?
    • ☁️ Fake it Outside-in TDD: Empezando con tests E2E
    • 😶‍🌫️ Fake it Outside-in TDD: Finalizando el caso de uso
    • 🕵️ Inside-out, Outside-in o Middle-out ¿Desde dónde y hacia dónde hago TDD?
    • 🛠 ¡A praticar! Ejercicio Outside-in
  6. 🕹️ Errores comunes aplicando TDD con servicios externos: ¡SOLID al rescate!
    • 🔴 Diseñando en la fase Roja: Obtener precios desde Stripe
    • 📦 Mockear otros subsistemas: Gestión de stock
    • 📨 Demasiados mocks en el caso de uso: Event-Driven Architecture al rescate
    • 🛠 ¡A praticar! Ejercicio con mocks
  7. 🖼️ Middle-out TDD en Next.js con Cypress y Testing Library
    • ✍️ TDD desde el front-end: Formulario de alta en Next.js
    • ✅ Middle-out TDD con Cypress y Testing Library
    • 🤔 TDD en el Front-end ¿Por qué y cuándo usarlo?
    • 🛠 ¡A praticar!
  8. 🕸️ TDD en código Legacy altamente acoplado
    • 🥇 Cómo empezar a hacer TDD en código legacy: Golden master
    • 👐 Refactorizar código legacy para aplicar TDD: Estrategia Hit & Run
    • 🚀 Estrategia cuando sí merece la pena invertir en el Legacy
    • 🛠 ¡A praticar! TDD en el Legacy
  9. 👓 Enfoques alternativos y siguientes pasos
    • 🤯 Programadores FLIPADOS: Aprendiendo a modelar
    • 🤘 Estilos de TDD: Classicist vs Mockist
    • 🦉 Repaso final y siguientes pasos

Vídeos del curso

Cursos relacionados

Ver catálogo completo

Paga según tus necesidades

lite (sólo mensual)

Cargando…
al mes
  • Acceso a un subconjunto de cursos para sentar las bases para un código mantenible, escalable y testable
  • Factura de empresa
Popular

standard

Cargando…
Ahorra 121
Pago anual de 0
al mes
  • Catálogo completo de cursos
  • Retos de diseño y arquitectura
  • Vídeos de soluciones destacadas de los retos
  • Recibir ofertas de empleo verificadas por Codely
  • Factura de empresa

premium

Cargando…
Ahorra 89
Pago anual de 0
al mes
  • Todo lo anterior
  • Más beneficios próximamente

No subiremos el precio mientras mantengas tu suscripción activa