05 calidad pruebas y cobertura - lfnavarroj1/sport-app-platform GitHub Wiki
Calidad pruebas y cobertura
Esta página está preparada para publicarse en la wiki de sport-app-platform.
Evidencia disponible
| Repositorio | Pruebas | Cobertura | CI remota | Estado |
|---|---|---|---|---|
| Backend | 328 | 96 % combinado | PR #8 en verde (ejecución 38177070246), integrado en develop el 2026-10-11 |
VERIFICADO_EN_CI |
| Frontend web | 167 | 98,07 % sentencias; 92,67 % ramas | PR #7 en verde (ejecución 38175510224), integrado en develop el 2026-10-11 |
VERIFICADO_EN_CI |
| Móvil | N/D |
N/D |
Sin evidencia | Andamiaje pendiente |
Estrategia de pruebas vigente
| Alcance | Herramientas adoptadas | Función |
|---|---|---|
| Backend: unidad, componente y API | unittest, TestClient/HTTPX |
Validar dominio, rutas ASGI, respuestas, errores y autorización. |
| Backend: integración y contratos | PostgreSQL efímero, emulador de Pub/Sub, OpenAPI y suites de contrato | Validar persistencia, mensajería y compatibilidad de contratos. |
| Web: unidad y componentes | Jasmine y TestBed | Validar lógica, formularios, estados y componentes Angular. |
| Web: recorridos integrados E2E | Playwright | Validar flujos del usuario en navegador contra simuladores controlados o la composición local. |
| Móvil | Pruebas unitarias y Espresso | Validar lógica, navegación e interfaz Android nativa. |
| Rendimiento | Locust y k6 | Ejecutar carga, smoke, estrés y umbrales automatizados. |
Postman no está adoptado como herramienta del proyecto: no existe una colección versionada, ejecución Newman ni integración con CI. Playwright sí está adoptado y cuenta con evidencia para recorridos web, pero no se usa como sustituto de las pruebas de integración y contrato del backend ni de Espresso en Android.
Code coverage chart
La barra representa la cobertura del backend medida por CI en cada PR integrado y la línea el umbral mínimo de 80 %. El frontend ya tiene reporte reproducible y se resume en la tabla; móvil continúa sin medición.
xychart-beta
title "Cobertura backend verificada en CI"
x-axis ["PR #1 (HU001)", "PR #2 (CORS)", "PR #3 (HU003)", "PR #6 (cookie)", "PR #8 (capacidades)"]
y-axis "Cobertura (%)" 0 --> 100
bar [96.9, 96.9, 97.8, 97.8, 96]
line [80, 80, 80, 80, 80]
Lectura correcta de cobertura
La cobertura ayuda a detectar código no ejercitado, pero no demuestra por sí sola:
- que los criterios de aceptación sean correctos;
- que las aserciones detecten regresiones;
- que exista integración real entre repositorios;
- que el sistema cumpla rendimiento, seguridad o disponibilidad;
- que una HU esté terminada.
Por eso cada corte debe presentar junto con cobertura:
- pruebas unitarias, integración, contrato, componente y E2E ejecutadas;
- tasa de éxito y fallos conocidos;
- ambiente y commit medidos;
- umbral configurado;
- evidencia de CI y artefactos;
- defectos abiertos por severidad.
Indicadores de calidad por sprint
| Indicador | Fórmula o unidad | Sprint 1 | Sprint 2 | Sprint 3 |
|---|---|---|---|---|
| Pruebas ejecutadas | Conteo | Backend: 328; web: 167 | N/D |
N/D |
| Pruebas aprobadas | Porcentaje | Backend y web: 100 % | N/D |
N/D |
| Cobertura backend | Sentencias y ramas | 96 % combinado (PR #8); línea base PR #1: 96,9 % · 89,2 % | N/D |
N/D |
| Cobertura web | Sentencias y ramas | 98,07 % · 92,67 % (PR #7) | N/D |
N/D |
| Defectos escapados | Conteo posterior a aceptación | N/D |
N/D |
N/D |
| Vulnerabilidades bloqueantes | Conteo | 0 en la ejecución registrada | N/D |
N/D |
| E2E críticos aprobados | Aprobados / total | 0/1 recorrido vertical HU001 | N/D |
N/D |
Los valores de sprint se llenan desde CI. La evidencia local previa al Sprint 1 permanece como línea base técnica y no se atribuye retroactivamente a una velocidad de sprint.