01 - Introducción al Testing

El testing de software es el proceso de verificar que una aplicación funcione de acuerdo con los requisitos establecidos y que su comportamiento sea el esperado en diferentes escenarios.

No se trata solo de encontrar errores, sino también de aumentar la confianza en la calidad del software y asegurar su mantenibilidad.

Objetivos principales del testing:

  • Detectar y prevenir defectos lo antes posible.
  • Garantizar la calidad del código y del producto final.
  • Facilitar el mantenimiento y la evolución del software.
  • Servir como documentación viva del comportamiento del sistema.

En proyectos de Java, que suelen ser grandes y de larga duración, el testing cobra un papel esencial. Algunas ventajas clave:

  • Reducción de costes: un error detectado en producción cuesta mucho más que uno detectado en la fase de desarrollo.
  • Confianza en el código: permite refactorizar y añadir nuevas funcionalidades sin miedo a romper lo existente.
  • Automatización: las pruebas pueden ejecutarse de forma automática en cada compilación o despliegue (CI/CD).
  • Mejores prácticas de desarrollo: promueve un diseño más modular, desacoplado y fácil de probar.
  • Pruebas unitarias: verifican el comportamiento de una unidad de código (normalmente un método o clase).
  • Pruebas de integración: comprueban la interacción entre distintos módulos del sistema.
  • Pruebas de aceptación/funcionales: validan que el sistema cumple con los requisitos funcionales del cliente.

En este curso/noteo nos centraremos especialmente en pruebas unitarias y en cómo hacerlas efectivas.

JUnit

JUnit es el framework estándar de testing en Java. Con JUnit podremos:

  • Escribir pruebas unitarias de forma sencilla.
  • Ejecutar pruebas automáticamente.
  • Validar resultados mediante aserciones.
  • Integrarlo con herramientas de construcción (Maven, Gradle) y CI/CD.

Actualmente, la versión más utilizada es JUnit 5 (Jupiter), que trae anotaciones modernas como @Test, @BeforeEach, @AfterEach, entre otras.

Mockito

Mockito es el framework más popular de mocking en Java. Permite, entre otras cosas:

  • Crear objetos simulados (mocks) para reemplazar dependencias reales en las pruebas.
  • Definir comportamientos esperados en esos mocks.
  • Verificar la interacción entre los objetos de nuestro sistema.

Mockito es especialmente útil en pruebas unitarias donde no queremos depender de bases de datos, servicios externos o lógica compleja.

  • clase/daw/test/1eval/introduccion.txt
  • Última modificación: 2025/09/16 09:19
  • por cesguiro