Primeros pasos para aprender a trabajar desarrollando código guiado por pruebas (Test Driven Development – TDD). 

Curso de introducción a TDD 

Primeros pasos para aprender a trabajar desarrollando código guiado por pruebas (Test Driven Development – TDD). 

Instructores: Benjamin Rae
  • Inglés
  • Inglés, Español
  • 4.8 valoración
  • 239 personas inscritas
  • 16–20 h de curso (aprox)
  • Recursos descargables
  • Cuestionarios para validar la evolución
  • Katas para practicar
  • Acceso durante 1 año
  • Certificación incluida
  • Soporte de profesores
  • Comunidad TDD

Qué vas a aprender

Qué son los test automatizados y por qué son esenciales para crear aplicaciones sólidas y resistentes.
Conceptos y las herramientas necesarias para trabajar con TDD. 

  • Presentación de los conceptos que necesitas conocer para familiarizarte con TDD, asentar las bases y entender el por qué es necesario hacer test, cómo hacerlos y que valor aportan.
  • Cómo configurar tu entorno para testing: Escenario de implementación más habitual para entornos de prueba y tareas para configurarlo.
  • Diferentes metodologías de tests: Qué tipos de test existen y qué conseguimos con cada uno de ellos.
  • Cómo desarrollar software siguiendo TDD clásico: en qué consiste y cuáles son sus principales ventajas.

"Soy desarrolladora y este curso me dio una base súper útil para seguir aprendiendo. Desde el primer día pude aplicar lo que iba viendo en mi trabajo, y en solo dos semanas ya había terminado todo. Me sorprendió lo rápido que pude poner en práctica lo aprendido."— Laura Garreta. Developer.

"Recién empecé como developer y no tenía ni idea de TDD. Mi empresa me pagó el curso y, gracias a los ejercicios prácticos, aprendí a estructurar mejor mi código. Los videos están en inglés, pero se entienden perfecto y vienen con subtítulos, así que fue fácil."— Miguel Rivarola. Programador Junior

Contenido del curso

Módulo 1: ¿Qué es TDD? 1h
Aprenderás las bases de TDD, de dónde proviene, cuál es su origen y su utilidad, y cuales son las diferencias entre las dos escuelas más importantes de TDD: Inside-out y Outside-in.
Módulo 2: ¿Qué es el testing? 2h
Aprenderás a testear código de forma manual y darás los primeros pasos para introducir la automatización de testing, con el objetivo de que comprendas porque es valiosa. 
Módulo 3: Configuración del entorno de pruebas 3h
En este módulo aprenderás a configurar un entorno de pruebas tanto para Java con JUnit 5 como para TypeScript con Vitest, de modo que funcionen de la mejor manera con testing automatizado.
Módulo 4: Tipos de test 3h
Con el entorno de prueba listo, aprenderás sobre los principales tipos de test automatizadoss, cómo escribirlos y cuándo utilizarlos para comprender el valor que nos aportan. También descubrirás cómo usar test doubles y de qué manera ayudan en los test automatizados.
Módulo 5: Plan de testing 3h
Ahora que ya conoces los diferentes tipos de test, es hora de descubrir cómo combinarlos en un plan de testing y probar su aplicación.
Módulo 6: Best practices en testing 2h
Conocer los diferentes tipos de testing no es suficiente. En este módulo discutiremos dónde tiene sentido aplicar testing, dónde no, y cómo mejorar nuestra práctica.
Módulo 7: Otros conceptos relevantes relacionados con testing 2h
En este módulo introduciremos otros conceptos relacionados con los test que van más allá de los tipos principales, como test de mutación, cobertura y test basados en propiedades.
Módulo 8: Por qué tiene sentido hacer TDD 2h
Ahora que sabes cómo probar tu código, es momento de descubrir cómo trabajar con TDD puede ayudarnos y de qué manera. Aquí discutiremos cómo TDD puede influir en aspectos de nuestro desarrollo como el diseño y la eficiencia.
Módulo 9: Primeros pasos haciendo TDD 3h
Es momento de comenzar a desarrollar con TDD, de aplicar lo aprendido y empezar a utilizar TDD para desarrollar tu código en pequeños incrementos o baby steps siguiendo el ciclo de TDD.

Este curso te da acceso a: 

  • Recursos teóricos y prácticos para aprender los conceptos básicos.
  • Cuestionarios para validar la evolución de tu aprendizaje.
  • Ejemplos detallados de cada una de las técnicas explicadas.
  • Katas con las que practicarás lo que aprendes.
  • Soporte de profesores: Cada nivel dispone de un canal de comunicación directo con los profesores del curso para resolver dudas y compartir avances. Todos nuestros profesores son practicantes diarios de estas metodologías.
  • Comunidad TDD: Además hay a tu disposición un canal de comunidad donde podrás compartir con otros miembros del curso tus avances, dudas, materiales de soporte y cómo está siendo tu experiencia. 

 

Al finalizar el curso serás capaz de:

  • Escribir test rápidos y mantenibles: tests confiables, fáciles de mantener y legibles. La automatización como proceso clave para que los test sean viables y escalables.
  • Configurar un entorno para testing: Escenario de implementación más habitual para entornos de testing y tareas para configurarlo.
  • Conocer las diferentes metodologías de tests: Qué tipos de test existen y qué podemos conseguir con cada uno de ellos.
  • Desarrollar software siguiendo el flujo de trabajo TDD clásico: en qué consiste y cuáles son sus principales ventajas.

A quién está dirigido

Se trata de un curso puramente técnico, por lo que, se da por hecho que sabes programar en algún lenguaje. Es ideal para ti si quieres mejorar en tus habilidades de programación pero nunca has hecho TDD.


Requerimientos

  • Manejarte con soltura en al menos un lenguaje de programación.
  • Estar familiarizado con la sintaxis de ese lenguaje, los tipos de datos, el flujo de control y otras características específicas del lenguaje.
  • Tener una buena base de Programación Orientada a Objetos.
  • Te recomendamos que uses un IDE (Entorno de Desarrollo Integrado) y que te familiarices con los atajos de teclado.
  • Una cuenta de GitHub o GitLab.

¿Cuales son las ventajas de usar TDD?

Aplicando TDD con el nivel que te aportará este curso, crearás código más fiable, flexible y escalable gracias a la automatización.

Código de calidad y mantenible: Reduce errores, facilita nuevas funciones y asegura que el software funcione como se espera.
Pruebas de regresión eficientes:
Permiten detectar fallos rápidamente tras modificaciones, manteniendo la estabilidad del sistema.
Escalabilidad y menor riesgo:
Un código bien diseñado y probado es más fácil de mantener y adaptar.
Optimización de costes:
Menos tiempo en depuración y mayor eficiencia en el desarrollo reducen gastos a largo plazo.
Entrega continua más rápida:
Favorece la integración y despliegue continuo (CI/CD), acelerando el lanzamiento de nuevas funcionalidades.
Mayor colaboración y productividad:
Mejora la comunicación, facilita la incorporación de nuevos desarrolladores y fortalece el equipo.
Satisfacción del cliente:
Un software más estable y fiable genera confianza y fidelización.

Aprende a aplicar TDD en tus proyectos y optimiza tu código.

 

Ya hemos impartido este curso en estos clientes

cazoo-logo roche-logo santander-logo

¿Tienes alguna duda?

Escríbenos y te ayudamos a clarificar lo que necesites