Curso Testing de Software y TDD con JUnit 5.

Testing de Software y TDD

Testing de Software y Desarrollo Dirigido por Test (TDD). Aprende los principios esenciales que te convertirán en un desarrollador/a más eficiente y capaz de construir software robusto.

Curso Testing de Software y TDD con JUnit 5.

Tiempo de estudio: 40 horas

Duración 6 semanas

Tutelados: Seguimiento continuo

Ejercicios Prácticos

100% Bonificable Fundae

Plazas Limitadas

Próxima convocatoria:

18 marzo de 2024

300,00

IVA no incluido

¿Eres autónomo, desempleado, estudiante?¿No puedes bonificar el curso? Consúltanos los descuentos para colectivos.
resumen curso
Resumen del curso
profesor del curso
El profesor
temario y objetivos del curso
Temario y objetivos
opiniones de alumnos
Opiniones
Preguntas frecuentes
FAQ
resumen

Curso Testing de Software y TDD con JUnit 5

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.

 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.

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.

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. 

¿Para quién es este curso?

  • Desarrolladores que deseen mejorar su nivel a través del desarrollo dirigido por tests.
  • Desarrolladores con experiencia interesados en aprender TDD y fundamentos de testing.
  • Desarrolladores de otras plataformas que quieran aprender pruebas unitarias y de integración en Java con JUnit 5.
  • Desarrolladores interesados en aprender los fundamentos de testing de calidad y TDD.

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.

Curso Testing de Software y TDD con JUnit 5.

profesor
Sergio garcia

Sergio García Trapiello

Ingeniero de software. Llevo desde 2009 construyendo todo tipo de productos software en distintos lenguajes (portales y aplicaciones Web, aplicaciones de escritorio, apps móviles, sistemas backend, Web Services y APIs, frameworks y arquitecturas de desarrollo, etc.)

Estudié Ingeniería Técnica Informática en la Universidad de Oviedo y después cursé el Master de Ingeniería Web en la misma Universidad. Desde entonces he trabajado como ingeniero y desarrollador en distintas empresas y distintos roles. Y también por mi cuenta como freelance.

A nivel profesional, lo que me apasiona es resolver problemas con el foco puesto en la calidad del software.

Empecé a aplicar TDD allá por el año 2012 y desde entonces soy un convencido del enfoque TDD y ATDD. Me encanta el proceso de identificar las necesidades, limar las ambigüedades traduciendo los requisitos a test de aceptación y luego empezar a desarrollar haciendo TDD (de hecho creo que ya no sé hacerlo de otra forma xd).

Otra de mis pasiones es formar. Me encanta enseñar a compañeros que están empezando, contarles mi visión del desarrollo de software y ver cómo aprenden y evolucionan.

 

Otros Cursos de Sergio García:

  • Curso Testing de Software y TDD con JUnit 5
temario
1. Introducción
1.1 Introducción
1.2 ¿Por qué hacer tests?
1.3 Cómo seguir el curso
1.4 Sobre el entorno de desarrollo
1.5 Instalación del entorno en Windows
1.6 Instalación del entorno en Linux
1.7 Vista jerárquica de paquetes en Eclipse)
2. Base teórica
2.1 ¿Qué aprenderemos en esta sección?
2.2 Introducción al agilismo
2.3 El testing en las prácticas CI/CD
2.4 Conceptos de TDD y ATDD
2.5 Tipos de tests
2.6 Principios de testing
3. Test unitarios
3.1 ¿Qué aprenderemos en esta sección?
3.2 Introducción a JUnit 5
3.3 ¿Qué es un tests unitario y cómo se escribe?
3.4 Plantilla Given-When-Then para Eclipse
3.5 Escribir los primeros tests unitarios – TextNormalizer
3.6 Introducir bugs en TextNormalizer
3.7 Ejercicio: probar EmailValidator. Enunciado
3.8 Ejercicio: probar EmailValidator. Solución
3.9 Pruebas de lanzamiento de excepciones.
3.10 Ejercicio: probar lanzamiento de excepción en EmailValidator. Enunciado
3.11 Ejercicio: probar lanzamiento de excepción en EmailValidator. Solución
3.12 Introducción a los tests parametrizados de JUnit 5
3.13 Tests parametrizados – Mejorando EmailValidatorTest
3.14 Tests parametrizados – Mejorando TextNormalizerTest
3.15 Test parametrizados – Probar InvoiceLine con @MethodSource
3.16 Usar Clock en lugar de Instant.now o new Date()
3.17 El término “test fixture”
3.18 Código fuente de la sección Test Unitarios
4. Desarrollo dirigido por test (TDD)
4.1 ¿Qué aprenderemos en esta sección?
4.2 El algoritmo TDD
4.3 TDD – Beneficios e inconvenientes
4.4 ATDD – Repaso
4.5 ATDD – TDD – Proceso en práctica (Contador de palabras) – Parte 1
4.6 ATDD – TDD – Proceso en práctica (Contador de palabras) – Parte 2
4.7 La importancia de interiorizar el proceso y dar pasos pequeños
4.8 Mejorando Product con TDD – parte 1
4.9 Mejorando Product con TDD – parte 2
4.10 Mejorando InvoiceLine con TDD
4.11 Ejercicio del triángulo – Enunciado
4.12 Ejercicio del triángulo – Solución
4.13 Aplicar TDD en nuestro día a día
5. Dobles de prueba
5.1 ¿Qué aprenderemos en esta sección?
5.2 Dobles de prueba – Introducción
5.3 Dobles de prueba – Ejemplo básico
5.4 Tipos de dobles de prueba
5.5 Cuándo usar un doble de prueba
5.6 Dobles de prueba – Frameworks
5.7 EasyMock – Getting Started
5.8 Mockito – Getting Started
5.9 CurrencyConverter con Mockito – parte 1
5.10 CurrencyConverter con Mockito – parte 2
5.11 CurrencyConverter con Mockito – Validación de estado vs comportamiento
6. Test de integración
6.1 ¿Qué aprenderemos en esta sección?
6.2 Test de integración – Introducción
6.3 Test de integración en el desarrollo ágil con TDD
6.4 Preparar base de datos H2
6.5 Probar funcionalidades que requieran acceso a BBDD – Problemática
6.6 Tests de acceso a BD – Solución con Spring Test
6.7 Tests de acceso a BD – Introducción a Database Rider
6.8 Tests de acceso a BD – Introducción a JDBDT (opcional)
6.9 Tests de acceso a BD – Database Rider – Ejemplo práctico
6.10 Testing con BBDD en memoria – Ventajas e inconvenientes
6.11 Tests Unitarios vs Tests de Integración – Enfoques
7. Proyecto de ejemplo
7.1 ¿Qué haremos en esta sección?
7.2 Aplicación parking – Descripción problema
7.3 Esqueleto del proyecto
7.4 Emitir un ticket – Test de aceptación
7.5 Emitir un ticket – Parte 1 – Preparamos el test de integración
7.6 Emitir un ticket – Parte 2 – Implementamos y metemos un bug
7.7 Emitir un ticket – Parte 3 – Resolvemos bug y terminamos la historia
7.8 Calcular importe a pagar – Tests de aceptación
7.9 Calcular importe a pagar – Domain – Parte 1
7.10 Calcular importe a pagar – Domain – Parte 2
7.11 Calcular importe a pagar – Infrastructure y application
7.12 Aplicación Parking – Resumen final

objetivos

Curso Testing de Software y TDD con JUnit 5

Aprenderás:

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

requisitos

  • Solo conocimientos básicos de programación orientada a objetos en cualquier lenguaje
  • Un ordenador personal. Puesto que gran parte del curso consiste en clases prácticas de programación es mucho mejor un PC que un móvil para seguir las clases prácticas

faq

Quiero bonificar el curso pero en mi empresa NO sabe cómo hacerlo

Podemos encargarnos, no te preocupes. Tiene un coste de un 10% sobre el importe del curso. Y este importe también es bonificable.

Quiero bonificar el curso y mi empresa se encargará de los trámites.

En este caso ponte en contacto con nosotros y te haremos llegar toda la documentación del curso para que podáis dar de alta la acción y grupo formativo.

¿Obtengo diploma de certificación?

Ofrecemos dos certificados:

  • Alumnos que bonifican el curso:
    • Certificado de asistencia al curso: para obtener este certificado debes haber completado el 75% del curso.
    • Certificado de aprovechamiento: Si has completado el curso y has realizado todas las pruebas prácticas del curso, y la media de tu calificación es igual o superior a 6.
  • Todos los alumnos:
    • Insignia de participación: si realizas el curso completo pero tu nota en los ejercicios del curso es inferior a un 6.
    • Insignia de aprovechamiento: si realizas el curso completo y tu nota en los ejercicios del curso es igual o superior a 6.
¿Cómo de estrictos son los plazos?

Los cursos están pensados entre dos fechas, para tener disponible al profesor y resto de alumnos para resolver dudas. Si no lo terminas a tiempo, seguirás teniendo acceso a la plataforma con todo el material disponible. Sin embargo, no tendrás a los profesores a tu disposición, aunque sí a otros alumnos que puedan estar en tu misma situación.Los alumnos que bonifiquen el curso tendrán que completarlo en los plazos especificados, al menos con un 75% de las actividades del curso completadas, y unos tiempos de conexión a la plataforma acordes a los tiempos de dedicación del curso. De no ser así no se podrá aplicar bonificación sobre el curso.

Soy autónomo, ¿puedo bonificar el curso?

Lamentablemente no. Sólo pueden bonificar los cursos tus empleados si los tienes. Ponte en contacto con nsotros y te ofreceremos un descuento.

No encuentro la forma de realizar el pago en la web

No puedes pagar el curso a través de la web. Rellena el formulario del curso que te interese y un miembro del equipo de trainingIT se pondrá en contacto contigo.

Cuando finalice el curso ¿seguiré teniendo acceso al curso?

Si, una vez finalice el curso podrás seguir accediendo a os materiales del mismo. Pero los profesores ya no atenderán el curso.

¿Y si no resido en España?

No supone ningún problema. Si estás contratado por una empresa española, y tienes contrato en España podrás bonificar el curso igualmente. Si no es tu caso podrás realizar el curso por tu cuenta.