Se dio una introducción a la importancia de las pruebas, cuál es la diferencia entre Pruebas Unitarias, Pruebas de Integración y Pruebas E2E (End-to-End). Además se realizaron ejemplos sobre cómo hacer pruebas unitarias utilizando Gradle
y JUnit + Jupiter
.
- Ejemplo 01: Implementación del algoritmo de números primos y primeras pruebas con
JUnit
. - Ejemplo 02: Implementación de la estructura de datos
Set
y pruebas unitarias. Importancia de@BeforeEach
. - Reto 01: Implementación de la estructura de datos
Stack
y pruebas unitarias.
Se vio otro ejemplo de cómo crear pruebas unitarias utilizando JUnit + Jupiter
, así como el ejecutar las pruebas utilizando el proceso de Integración Continua
con Github Actions
.
- Ejemplo 01: Implementación de una mini base de datos con pruebas unitarias.
Se dio una introducción al framework de pruebas TestNG
el cual proclama ser una versión moderna y mejorada del ya conocido JUnit
.
-
Ejemplo 01: Implementación de un juego para adivinar un número aleatorio usando
TestNG
para realizar pruebas unitarias. -
Ejemplo 02: Implementación de pruebas de integración de la página de Wikipedia usando
TestNG
ySelenium
.
Durante las primeras 3 sesiones se implementaron White Box Testing
el cual consiste en basar las pruebas en la implementación del código. En esta sesión vimos cómo realizar Black Box Testing
utilizando Behaviour Driven Development
con Cucumber
.
- Ejemplo 01: Implementación de un cajero automático y realización de pruebas unitarias con
JUnit
y pruebas de caja negra conCucumber
.
Se dio una introducción a Mockito
, cuál es la diferencia entre Mock
y Spy
, así como la simulación de salidas mediante el uso de los métodos when
para Mocks y doReturn
para Spies.
-
Ejemplo 01: Implementación de una aplicación que consulta la temperatura actual basado en una latitud y longitud. Las pruebas utilizan
Mock
conwhen
. -
Ejemplo 02: Extensión del ejemplo 01 pero ahora consumiendo un API adicional que obtiene la latitud y longitud de acuerdo a la IP actual. Las pruebas utilizan
Spy
condoReturn
.
Se explicó de qué trata el Test Driven Development
y cómo aplicarlo para ayudar en el desarrollo de soluciones.
-
Ejemplo 01: Implementación del algoritmo de búsqueda binaria aplicando
TDD
. -
Ejemplo 02: Implementación de un algoritmo para verificar el balanceo de paréntesis aplicando
TDD
.