Property-Based Testing para una Librería de Conversión de Divisas en Bogotá
Visión general
De qué trata este proyecto.
Identifica 6-8 propiedades invariantes del dominio (por ejemplo: convertir A a B y luego B a A debe estar dentro de la tolerancia de redondeo declarada; la suma de las comisiones por tramo nunca supera el máximo declarado; conversión por importe cero devuelve cero). Implementa estas propiedades con Hypothesis, encuentra bugs reales, repórtalos, y deja una guía de cuándo escribir un test basado en ejemplo vs uno basado en propiedad. El entregable es el Pull Request con los tests, el informe de bugs y un mini-decálogo para el equipo.
El Briefing
Lo que harás y lo que demostrarás.
Introducir Property-Based Testing en una librería crítica de divisas y encontrar al menos 3 defectos reales que las pruebas por ejemplos no detectaron.
Earning criteria — what you'll demonstrate
- Identificar invariantes verificables a partir de reglas de negocio
- Escribir estrategias de generación de datos con Hypothesis
- Interpretar y aprovechar el shrinking para reducir el caso fallo a uno mínimo
- Comunicar el valor del PBT a un equipo acostumbrado a ejemplos
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Trayectorias profesionales que esto construye
Roles canónicosIngeniero de Software
Saber introducir Property-Based Testing en un código existente es un diferenciador real frente a perfiles que solo conocen pruebas basadas en ejemplos.
Este proyecto afina
- property-based-testing
- test-design
- invariant-analysis
Ingeniero Backend
Backend engineers en dominios financieros con redondeos y reglas regulatorias necesitan exactamente esta clase de pruebas para no romper cierres mensuales.
Este proyecto afina
- property-based-testing
- python
- unit-testing