Fundamentos de Testing de Software y TDD con JUnit 5

Aprende los principios de Testing de Software y Desarrollo Dirigido por Test (TDD) con JUnit 5 y Mockito desde cero

Ratings 5.00 / 5.00
Fundamentos de Testing de Software y TDD con JUnit 5

What You Will Learn!

  • La importancia del testing automático en el desarrollo ágil de software
  • Escribir tests unitarios y de integración de calidad, siguiendo los principios FIRST
  • Escribir tests unitarios con JUnit 5
  • Probar el lanzamiento de excepciones con JUnit 5
  • Usar tests parametrizados de JUnit 5 (@ParameterizedTest, @ValueSource, @CsvSource, @MethodSource, etc.)
  • Usar Clock en lugar de Instant now() o new Date()
  • Aplicar con soltura la técnica desarrollo dirigido por tests (TDD), de forma práctica y efectiva. Tras el curso podrás desarrollar software dirigido por test
  • Redactar tests de aceptación y traducirlos a tests unitarios y test de integración
  • Fundamentos de dobles de prueba, cuándo usarlos y cuándo es mejor usar el objeto real
  • Crear dobles de prueba con EasyMock y Mockito
  • Escribir test de integración con JUnit 5
  • Aplicar TDD con tests de integración
  • Escribir tests de funcionalidades que acceden a base de datos con Spring Test y BD H2 en memoria
  • Escribir tests de funcionalidades que acceden a base de datos con Database Rider y BD H2 en memoria
  • Aprender las ventajas e inconvenientes del testing con bases de datos en memoria
  • Aprender diferentes enfoques de testing. Test Unitarios vs Test de integración. De dentro a fuera vs de fuera a dentro

Description

Una de las formas más efectivas de construir software es usando una métodología ágil. Pero en un desarrollo ágil es básico que el código se adapte bien a los cambios, ahí es donde entra el testing de calidad y el Desarrollo Dirigido por Test (TDD). En este curso aprenderás los Fundamentos del Testing de Software y el TDD a través de la popular herramienta de Java JUnit 5.

Aprende los fundamentos del testing de calidad con TDD (Test Driven Development) y mejora el nivel de tus desarrollos con la ayuda de este curso.

El objetivo principal del curso, más allá de aprender JUnit, Mockito o Database Rider, es que aprendas los principios que te permitan aplicar un TDD efectivo y de calidad, con tests unitarios y de integración. Y, por supuesto, que aprendas por qué es tan importante el testing en el desarrollo ágil.

  • Aprende la importancia del testing en las prácticas CI/CD y en el desarrollo ágil

  • Interioriza los principios de testing.

  • Aprende a escribir test unitarios y de integración con JUnit 5

  • Aprende cuándo y cómo usar dobles de prueba con EasyMock y con Mockito

  • Aprende desarrollo dirigido por tests como técnica de diseño

  • Pon en práctica el proceso ATDD y TDD

  • Aprende a escribir test de funcionalidades que acceden a bases de datos

  • Conoce y practica los distintos enfoques de testing. Tests unitarios vs tests de integración. De dentro a fuera vs de fuera a dentro.

Una habilidad que elevará tus desarrollos al siguiente nivel.

El testing de calidad es clave si quieres construir software robusto de forma ágil. Pero lo que realmente nos ayudará a diseñar mejor código, y por tanto a ser más productivos, es nuestra habilidad para aplicar el Desarrollo Dirigido por Test  (TDD) de forma efectiva.

En cuanto interiorices esta técnica y sepas escribir tests basados en unos principios básicos, tu nivel como programador/a subirá muchísimo. Y estoy convencido que ya no querrás trabajar de otra forma. Te lo digo por mi propia experiencia y la de muchos compañeros a los que he ayudado a aprender e interiorizar el TDD.

Enfoque del curso y metodología de aprendizaje

  • De un programador para programadores. Todo el material del curso vas a poder aplicarlo directamente en tu día a día como desarrollador. Es lo que yo he aplicado cada día durante más de 10 años.

  • Sobre todo práctico. Más del 80% del material son clases prácticas.

  • Desde cero y paso a paso. El único requisito es que tengas conocimientos básicos de programación orientada a objetos en cualquier lenguaje. Escribiremos los primeros tests desde cero, con ejemplos muy sencillos e iremos subiendo el nivel de dificultad poco a poco.

    • No necesitas venir del mundo Java. Yo te guiaré para montar el entorno y explicaré todo el código que hagamos.

  • La tecnología como un medio y no como un fin. Conceptos aplicables a cualquier lenguaje y tecnología.

    • Aprenderás JUnit 5 y otras herramientas como Mockito y Database Rider, pero siempre con un propósito y no como un fin en sí mismo.

    • La idea es que puedas aplicar los conceptos aprendidos en cualquier otro lenguaje.

  • Evaluaciones y actividades de práctica

    • Casi todas las secciones tienen al final un cuestionario para que puedas evaluar tu progreso.

    • Ejercicios para que practiques por tu cuenta (todos resueltos en la siguiente clase).

    • Código fuente con todos los ejemplos al final de cada sección.

    • Enlaces a lecturas adicionales recomendadas.

  • Al final haremos un pequeño proyecto de ejemplo que incluirá todos los conceptos vistos durante el curso.

En resumen, si quieres dar un salto como programador, ser más productivo y mejorar la calidad de tus desarrollos, este curso es perfecto para tí. Simplemente decir que estás invitado. Para mí sería un honor tenerte como estudiante en este curso.

¡Así que no te lo pienses más e inscríbete!

¡Nos vemos en las clases!


Who Should Attend!

  • Desarrolladores, que estén al comienzo de su carrera y quieran mejorar su nivel a través del desarrollo dirigido por tests
  • Desarrolladores con experiencia, pero que no estén habituados a trabajar en base a testing y que estén interesado en aprender desarrollo dirigido por test (TDD) y fundamentos de testing
  • Desarrolladores con o sin experiencia que vengan de otras plataformas y que quieran aprender a escribir pruebas unitarias y de integración en Java con JUnit 5
  • Desarrolladores que, simplemente estén interesados en aprender los fundamentos de un testing de calidad y de TDD

TAKE THIS COURSE

Tags

Subscribers

77

Lectures

83

TAKE THIS COURSE