No se trata únicamente de escribir los tests antes que el código, esa es la parte más sencilla.

Con TDD podrás escribir código radicalmente más simple, mantenible, expresivo y conciso. Vuélvete realmente productivo y evita gastar tiempo en depurar fallos y reimplementar funcionalidades, escribiendo código que soporte el paso del tiempo.

Objetivos de aprendizaje

  • Emplear el estilo test-first de programación, en el que los tests se escriben antes que el código, para crear una sólida red de seguridad basada en tests automáticos.

  • Adoptar el ciclo red-green-refactor para no escribir más código del estrictamente necesario para implementar los requisitos.

  • Escribir tests basados en el comportamiento del software (el dominio) en lugar de su implementación, que protejan ante futuros cambios y sirvan como documentación.

  • Usar los tests como herramienta de feedback para tomar decisiones de diseño.

  • Interiorizar hábitos y patrones para aplicar la técnica *test-first* de forma efectiva.

  • Aprender los principios de diseño necesarios para desarrollar aplicaciones orientadas a objetos más complejas con TDD.

¿Cómo funciona nuestra metodología?

  • Píldoras de teoría

    Aprenderás los conceptos teóricos con videos cortos, fácilmente digeribles, que puedes ver cuantas veces quieras.

  • Katas prácticas

    Aplicarás lo aprendido con una serie de ejercicios prácticos propuestos.

  • Soporte en comunidad

    Tendrás acceso al servidor de Discord de Exeal donde podrás conversar, resolver dudas y compartir experiencias con los demás alumnos.

  • Acceso de por vida

    Tendrás acceso para siempre a todos los materiales del curso, así como a las nuevas actualizaciones del mismo.

Temario del curso

    1. Test-driven development (TDD) como técnica de diseño y desarrollo incremental

    2. Beneficios de usar Test-driven development

    3. ¿Cuando es recomendable y cuando no usar TDD?

    4. Para que TDD funcione hay que practicar mucho

    5. BONUS: 7 minutes, 26 seconds, and the Fundamental Theorem of Agile Software Development

    1. Las 3 leyes del TDD

    2. Ejemplo: Greeting Kata (1 de 2)

    3. Tres métodos para avanzar de rojo a verde

    4. Ejemplo: Greeting Kata (2 de 2)

    5. Ejercicio: Fizz Buzz Kata

    6. Solución: Fizz Buzz Kata (1 de 3)

    7. Refactorizar y la regla del 3

    8. Solución: Fizz Buzz Kata (2 de 3)

    9. Solución: Fizz Buzz Kata (3 de 3)

    10. Ejercicio: Leap Year Kata

    11. Ejercicio: Leap Year Kata (tarea)

    12. Solución: Leap Year Kata

    13. Bonus: Solución a Fizz Buzz Kata con TypeScript y Jest

    14. Cuestionario de evaluación

    1. Introducción a los hábitos con TDD

    2. Emplea una checklist para saber qué te falta

    3. Trata los tests como especificaciones

    4. Organizar el test en bloques Given/When/Then

    5. Comienza por el then y escribe hacia atrás

    6. Intenta adivinar el resultado del test antes de lanzarlo

    7. Los tests son código de primera clase

    8. ¿Test rígidos? Considera cambiar el diseño

    9. Kata: String Calculator

    10. Kata: String Calculator (tarea)

    11. Kata: Anagramas (con Baby Steps)

    12. Cuestionario de evaluación

    13. ¡Sigue practicando! Guía para la práctica deliberada con katas

    14. Recursos adicionales

    1. Antes de que te vayas...

About this course

  • €19,90
  • 34 lecciones
  • 2 horas de contenido de video

Instructores

Technical Coach Pedro Pardal

Software engineer y tech lead con +12 años de experiencia construyendo aplicaciones web escalables en el cloud, y liderando equipos multidisciplinares usando metodologías ágiles. Inspirado por los valores de Software Craftsmanship y prácticas de Extreme Programming y DevOps, poniendo especial énfasis en la entrega temprana de valor, comunicación transparente con el cliente y excelencia técnica.

Qué dice nuestro alumnado

Victoria Kovaleva - Junior Software Engineer

Cuando hablo con personas con 10 o 20 años experiencia, me dicen que ojalá ellos hubieran podido aprender al principio todo lo que yo sé ahora

David Lorenzo - Software Engineer

Aprender con Pedro fue un punto de inflexión en mi carrera profesional

Samuel Álvarez - Software Engineer @ Voxel Group

Lo que tú enseñas es una forma de desarrollar software, son muchas piezas que se juntan para formar un puzzle.

Hemos formado a los developers de estas empresas

Kairos Digital Solutions
Mango
Zooplus
Voxel
Stradivarius
Domingo Alonso Group
Wolters Kluwer
Z1
DevoluIVA