El curso de Testing de Software y TDD te enseña los fundamentos del testing de calidad y el desarrollo dirigido por tests (TDD) en entornos ágiles. Aprenderás a aplicar principios sólidos de testing con herramientas como JUnit 5, Mockito y Database Rider, comprendiendo cómo los tests unitarios y de integración elevan la calidad del código y facilitan su adaptación a cambios. Con un enfoque práctico, más del 80% del curso son ejercicios aplicables directamente al día a día de un programador.
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
Test de conocimientos Tema 2
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
Test de conocimientos Tema 3
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
4.14 Código fuente de la sección Desarrollo Dirigido por Test (TDD)
Test de conocimientos Tema 4
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
5.12 Código fuente de la sección Dobles de Prueba
Test de conocimientos Tema 5
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 - Database Rider - Ejemplo práctico
6.9 Tests de acceso a BD - Database Rider - Ejemplo práctico
6.10 Testing con BBDD en memoria - Ventajas e inconvenientes
6.11 Insatalar Docker
6.12 Introducción a Testcontainers
6.13 Testcontainers - Ejemplo
6.14 Testcontainers - Database Rider
6.15 Tests Unitarios vs Tests de Integración - Enfoques
6.16 Código fuente de la sección Test de Integración
Test de conocimientos Tema 6
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
7.13 Código fuente de la sección Proyecto de Ejemplo
Una vez la formación haya llegado a su fin se hará entre a cada uno de los estudiantes de un certificado de aprovechamiento.
Información Adicional
Precio: 300,00 €
Si vienes de Empresa, puedes bonificar hasta el 100% del curso con el crédito FUNDAE