- Introducción al Testing
- Concepto y propósito del testing
- Niveles de testing: unitario, integración, sistema, aceptación.
- Tipos de testing: Manual vs. Automatizado, Funcional vs. No funcional, etc.
- Testing Unitario en Java
- Introducción a JUnit (la biblioteca más popular para pruebas unitarias en Java)
- Escribiendo y ejecutando pruebas con JUnit
- Assertions, test fixtures, y ciclos de vida de las pruebas
- Mocking en Java
- Uso de bibliotecas como Mockito para crear objetos simulados (mocks) y stubs.
- Por qué y cuándo usar mocking.
- Testing de Integración en Java
- Diferencias entre pruebas unitarias y pruebas de integración.
- Herramientas y bibliotecas para pruebas de integración.
- Automatización de Pruebas
- Herramientas como Selenium para pruebas de aplicaciones web.
- Integración continua y automatización de pruebas con herramientas como Jenkins.
- Métricas y Cobertura de Código
- Uso de herramientas como JaCoCo para analizar la cobertura de tus pruebas.
- Importancia de la cobertura de código y sus limitaciones.
- Tendencias y Prácticas Avanzadas
- TDD (Test Driven Development) y BDD (Behavior Driven Development).
- Herramientas para BDD en Java como Cucumber.
Recursos recomendados:
- Libros:
- “JUnit in Action” de Petar Tahchiev, Felipe Leme, Vincent Massol, y Gary Gregory.
- “Practical Unit Testing with JUnit and Mockito” de Tomek Kaczanowski.
- Cursos en línea:
- Udemy: Hay varios cursos relacionados con testing en Java, incluidos los específicos sobre JUnit, Mockito, y Selenium.
- Coursera: “Automated Software Testing: Practical Skills for Java Developers” de Delft University of Technology.
- Sitios web y documentación:
- JUnit’s Official Documentation: Una referencia esencial para escribir y ejecutar pruebas en Java.
- Mockito’s Official Documentation: Una guía detallada sobre cómo usar Mockito para crear y utilizar mocks.
- Baeldung: Este sitio web tiene muchos tutoriales y guías relacionadas con el testing en Java.
- Herramientas:
- IDEs: Tanto IntelliJ IDEA como Eclipse ofrecen soporte integrado para JUnit y herramientas de testing en Java.
- Selenium: Una herramienta esencial para automatizar pruebas de navegadores web.
- Cucumber: Herramienta popular para BDD en Java.