Validaciones manuales¶
Parte manual de cada puerta del plan de implementación. Las ejecuta el experto de dominio / QA; el resultado se registra en el PR que cierra la fase.
F0 — Andamiaje¶
- Abrir la URL del deploy de Pages: el esqueleto carga.
GET /api/healthresponde con la lista de radares de la D1 real y sulast_seen_at.- Abrir un PR trivial: aparece el preview deployment con URL propia.
F1 — Contrato + DAL¶
- Con
NUXT_DAL_ADAPTER=fixture, la app arranca sin red (solo assets locales) y las rutas API devuelven las fixtures. - Sin la variable (adaptador live), las mismas rutas devuelven datos de la D1 del demo.
- Editar a mano una fixture (renombrar una columna) → el contract test falla con mensaje claro.
F2 — Mapa + raster (la validación crítica)¶
- Abrir N0B del volumen más reciente de cada radar del demo.
- Abrir el mismo COG en QGIS con la misma paleta cargada (archivo QML generado desde el catálogo de paletas del viewer).
- Comparar lado a lado: geolocalización (costa, fronteras), extensión del producto, colores por rango de valores, tratamiento de nodata (0) y range folded (1).
- Mover el cursor sobre zonas de eco conocidas: el valor físico mostrado coincide con el pixel identificado en QGIS (± redondeo de nivel).
- Repetir en corto para los otros 6 productos raster (EET, DVL, DAA, DU3, DTA, N0G — atención al range folded en N0G).
- Cotejo cualitativo con el viewer legado: la semántica de paleta/leyenda de reflectividad se corresponde con la esperada por el experto (no hay comparación píxel a píxel — radares y productos distintos).
F3 — Selección + timeline + animación¶
- Copiar la URL de una vista (radar+producto+frame+overlays) y pegarla en otro navegador/incógnito: vista idéntica.
- Animar 20 frames de N0B: sin stutter perceptible en el hardware de referencia del equipo.
- Elegir un día con huecos de datos (o simularlo con fixtures): los huecos se ven marcados en el timeline, no rompen la animación.
- Verificar que el date picker no ofrece fechas fuera de la ventana de 72 h.
- Radar sin datos recientes (si lo hay): el semáforo de frescura lo señala.
F4 — Fenómenos + VWP¶
Alcance recortado (decisión 22): sin VIL/top/granizo por celda — el feed no distribuye SS/HI. La puerta se valida contra datos vivos en un día de tormenta (preview deployment con D1/R2 reales).
- Con un episodio convectivo real: las celdas aparecen en las posiciones esperadas, con tracks pasado/pronóstico orientados según el movimiento conocido. Incluye confirmar la semántica deducida de las grabaciones (decisión 25):
pastreciente→viejo ymovement_degconvención "desde" — si la convención resulta otra, solo cambianutils/overlay/tracks.tsy su test canario. - La tabla de celdas ordena por dBZ máx y sus valores (dBZ + altura) coinciden con el GAB del NST crudo (cotejo manual de 2–3 celdas; las celdas fuera de la paginación de 6 del GAB muestran "—", no un valor inventado).
- Charts de tendencia de una celda seguida ≥ 4 volúmenes: la serie es continua y coherente (sin saltos por confusión de
cell_id), con huecos visibles donde el GAB no listó la celda. - Markers de meso con anillo a escala (
radius_km) y severidad porstrength_rank; el flag TVS del NMD se refleja en el marker y en la tabla. - VWP: barbas y tabla contra el tabular crudo del producto NVW del mismo volumen (dirección/velocidad por altura, 2–3 niveles cotejados a mano; los u/v derivados ya se validan contra el perfil grabado en
tests/unit/vwp-panel.spec.ts). - Join temporal (decisión 24): pisando frames N0B intermedios, el overlay muestra el volumen de fenómenos vecino (≤ 600 s) y se limpia con mensaje al salir de tolerancia — nunca celdas viejas presentadas como actuales.
F5 — Mosaico + i18n + pulido¶
- Mosaico con los 3 radares del demo: los solapes entre radares se ven razonables (sin costuras violentas), la animación mantiene fluidez.
- Cambiar
es↔endesde la URL y desde el selector: todo el chrome cambia; ningún string queda en el idioma anterior. - Recorrido con teclado por los controles principales; contraste de la leyenda sobre ambos temas.
- Abrir en un móvil real: layout usable, controles alcanzables.
F6 — Validación E2E (M5)¶
- Semana de operación: el experto usa el viewer contra el pipeline vivo a diario; se registra cada incidencia; cero bloqueantes al cierre.
- Al menos un episodio convectivo real observado en vivo con storm + VWP correctos.
- Deploy desde cero en un proyecto Pages limpio siguiendo solo la documentación: funciona sin pasos no documentados.
- Revisión de consumo del tier gratuito (lecturas D1, requests) tras la semana de uso: dentro de presupuesto.