CursosWorkshop IAEmpresasPreciosBlogNewsletter
  • Cursos
  • Workshop IA
  • Empresas
  • Precios
  • Blog
  • Newsletter
Suscríbete
  • Cursos
  • Empresas
  • Comunidades
  • Blog
  • Tarjeta regalo
  • Newsletter
  • Soporte
  • Tienda
  • ConfAiBot
  • Contacta
  • Aviso legal
  • Condiciones generales
  • Política de privacidad
  • Política de cookies

Curso de TDD: Test-Driven Development

Standard
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™️

Ir al curso

💸 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

  • ⚡ TDD en 10 minutos
  • ♻️ Tu primer ciclo de TDD: Cálculo de precios con IVA

  • 🟢 Optimizar el ciclo de TDD: 3 formas de pasar a verde
  • 🔵 Refactoring: diseñar y generalizar la solución
  • 🛠 ¡A praticar! Ejercicio Inside-out

  • 📐 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

  • 😬 ¡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

  • ☁️ 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?

  • 🔴 Diseñando en la fase Roja: Sistema de envío de pedidos
  • 📦 Diseñar otros subsistemas usando Mocks
  • 📨 Demasiados mocks en el caso de uso: Event-Driven Architecture al rescate

  • ✍️ 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?

  • 🥇 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

  • 🤯 Programadores FLIPADOS: Aprendiendo a modelar
  • 🤘 Estilos de TDD: Classicist vs Mockist
  • 🦉 Repaso final y siguientes pasos
Ir al curso

Cursos relacionados

Standard
Patrones de diseño: Inbox y Outbox

📬 Patrones de diseño: Inbox y Outbox

Javier FerrerRafa Gómez

Aprende cuándo utilizar (y cuándo no) los patrones Inbox y Outbox.

Ver curso
Standard
Cómo medir la productividad de equipos de desarrollo [Charla]

🔬 Cómo medir la productividad de equipos de desarrollo [Charla]

AudienseCodely

Charla donde Alfredo Artiles nos cuenta cuando y cómo tiene sentido medir la productividad de equipos de desarrollo.

Ver curso
Standard
Event bus en base de datos [Diseño de Infraestructura]

🚏 Event bus en base de datos [Diseño de Infraestructura]

Javier FerrerRafa Gómez

Añade escalabilidad utilizando tu propia base de datos como un Event Bus.

Ver curso
Ver catálogo completo

Paga según tus necesidades

lite (sólo mensual)

19 €
al mes
  • Cursos esenciales de programación para construir una base sólida
Popular

standard

24,92 €
Descuento vs mensual de 49 €
Pago anual de 299 €
al mes
  • Catálogo principal para dominar cómo escribir un código mantenible, escalable y testable
  • Recibir ofertas de empleo verificadas por Codely
  • Factura de empresa
  • Acumular descuentos al renovar

premium

41,58 €
Descuento vs mensual de 89 €
Pago anual de 499 €
al mes
  • Cursos exclusivos de IA para mantenerte siempre actualizado
  • Acceso anticipado a nuevos cursos
  • Descuento en workshops
  • Recibir ofertas de empleo verificadas por Codely
  • Factura de empresa
  • Acumular descuentos al renovar

No subiremos el precio mientras mantengas tu suscripción activa

SuscríbeteInicia sesión