Curso de introducción a TDD 

Primeros pasos para aprender a trabajar desarrollando código guiado por pruebas (Test Driven Development – TDD). En este curso aprenderás: 

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. 

 

Este es el primer nivel, indicado para personas que empiezan de cero. Para profesionales que ya están familiarizados con la práctica tenemos el nivel intermedio. 

 

PROGRAMA PARA EMPRESAS

¿Crees que este curso puede interesar a más miembros de tu equipo? Completa el formulario y solicita una propuesta con descuentos especiales. 

Instructores: Benjamin Rae
  • Inglés
  • Inglés, Español
  • 16–20 h de curso (aprox)
  • Recursos descargables
  • Acceso durante 1 año
  • Certificación incluida
  • Soporte de profesores
  • Comunidad TDD

Nivel Introducción: qué vas a aprender

  • Presentación de todos los conceptos que necesitas conocer para empezar a familiarizarte con TDD: el objetivo es que puedas asentar las bases y entender el por qué es necesario hacer test, cómo hacerlos y el valor que 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é podemos conseguir con cada uno de ellos.
  • Cómo desarrollar software siguiendo el flujo de trabajo TDD clásico: en qué consiste y cuáles son sus principales ventajas.


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 se espera que seas 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.

Una buena base de Programación Orientada a Objetos te permitirá sacar el máximo provecho a este curso. Te recomendamos que uses un IDE (Entorno de Desarrollo Integrado) y que te familiarices con los atajos de teclado, ya que esto te ayudará a ganar mucha velocidad y facilidad en el desarrollo.

 

Es ideal para ti si: Ya sabes programar y quieres mejorar en tus habilidades de programación pero nunca has hecho TDD. Si necesitas empezar de cero este es el nivel ideal. 


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 va a aportarte el curso, vas a contribuir a crear un código más fiable y flexible, promoviendo soluciones escalables y de alta calidad mediante la automatización. 

Calidad de código mejorada: Garantiza la calidad del código, reduce errores y facilita añadir nuevas funciones al código; puedes verificar que tu código funciona como se espera. 

Pruebas de regresión: Garantizan que la funcionalidad permanezca intacta después de hacerle modificaciones. TDD permite que este proceso sea más manejable, al ejecutar el testing de forma rápida y sencilla.

Mantenimiento y escalabilidad: TDD reduce los riesgos asociados al mantenimiento y la escalabilidad del software, ya que un código bien diseñado y probado es más fácil de mantener y escalar.

Mayor satisfacción del cliente: Ser capaces de desarrollar un producto de mejor calidad aumenta la satisfacción y fidelidad de los clientes. 

Reducción de costes a largo plazo: TDD favorece la disminución de costes a largo plazo al reducir el tiempo y los recursos necesarios para depurar errores.

Aceleración del Time to Market: Facilita la integración y entrega continua (CI/CD), acelerando el lanzamiento de nuevos productos y funciones. Conseguirás feedback rápido sobre el estado del código y te ayudará a identificar problemas en fases iniciales. 

Colaboración y productividad del equipo: Permite a los miembros del equipo comprender la funcionalidad y los casos de uso, facilitan la comunicación y reducen los malentendidos, lo que conduce a una colaboración más fluida y mejoran la productividad. Mejora el nivel técnico del equipo y contribuye a la retención del talento.

Facilita la incorporación de nuevos profesionales: Cuando escribes tests actúan como documentación viva, reduciendo la barrera de entrada para nuevos profesionales en un equipo. 



Más info sobre ¿Cómo aplicar TDD en tus proyectos de desarrollo de software?

Ya hemos impartido este curso en estos clientes

cazoo-logo roche-logo santander-logo

Contacta con nosotros

Si eres una empresa y necesitas un paquete de licencias estaremos encantados de preparar una propuesta a tu medida