Skip to content

Plan de Certificacion

Plan estructurado para validar que cada proceso funcional de PROXIMITI opera correctamente en el entorno de produccion de Ontime antes del go-live. Cada script de prueba referencia las capacidades de la Matriz Funcional y los flujos documentados en la seccion de Procesos.


1. Estrategia de Certificacion

1.1 Fases

FaseObjetivoDuracion EstimadaParticipantes
PreparacionEntorno configurado, datos maestros cargados, accesos creados1-2 semanasIT Ontime + Desarrollo
Pruebas Unitarias de IntegracionValidar cada integracion externa (Azure AD, ALINA, NOVA, proveedores)1 semanaIT Ontime + Desarrollo
Pruebas Funcionales por ProcesoEjecutar scripts de prueba proceso por proceso, cubrir flujo feliz y flujo de error2-3 semanasOperaciones + QA
Pruebas de CargaValidar rendimiento con volumetria proyectada de produccion1 semanaIT Ontime + Desarrollo
Piloto ControladoOperacion real con centros seleccionados; minimo 2 semanas sin incidencias criticas2-4 semanasOperaciones + Centros piloto
Go-LiveRollout completo a todos los centros1 semanaTodos los equipos

1.2 Entornos

EntornoPropositoDatosAcceso
DesarrolloDesarrollo continuo y pruebas unitariasDatos semilla sinteticosSolo equipo de desarrollo
Staging / Pre-produccionCertificacion funcional y pruebas de cargaCopia anonimizada de datos realesQA + Operaciones + IT
ProduccionOperacion realDatos realesTodos los usuarios autorizados

1.3 Roles en la Certificacion

RolResponsabilidadPerfil
Analista de certificacionEjecuta scripts de prueba, documenta resultados, reporta incidenciasEquipo QA de Ontime
Operador pilotoPrueba flujos reales de recepcion y entrega en centro PUDOOperador de centro seleccionado
Transportista pilotoPrueba app carrier en ruta real (handshake, multi-drop, recogida)Conductor de Ontime
IT OntimeValida integraciones, configura infraestructura, monitorizaEquipo de sistemas
Equipo de desarrolloSoporte tecnico, correccion de bugs, despliegue de fixesEquipo dev PROXIMITI

2. Pre-requisitos de Certificacion

Checklist de lo que debe estar listo antes de empezar cualquier script de prueba. Todos los items deben estar en estado OK para iniciar la fase de pruebas funcionales.

#PrerequisitoResponsableVerificacionEstado
1Azure AD configurado con app registrations para BFF, portal y apps movilesIT OntimeLogin exitoso en portal web y ambas apps moviles
2Roles Azure AD creados: USER_PUDO, USER_CARRIER, USER_ADMIN, USER_CUSTOMER, USER_BILLINGIT OntimeJWT contiene roles correctos en claim roles
3Claim center_code mapeado en Azure AD (extension attribute o claims mapping policy)IT OntimeJWT incluye center_code con valor correcto para operadores
4Base de datos PostgreSQL 16 desplegada y accesibleIT OntimeGET /actuator/health retorna UP en los 8 servicios
5Esquema de BD inicializado (tablas tp_pprx_*)IT OntimeAdmin panel > Schema Explorer muestra todas las tablas
6Datos maestros cargados: centros, usuarios, tarifasOperacionesAdmin panel muestra centros activos y tarifas configuradas
7ALINA ERP endpoint accesible desde la red de produccionIT Ontimecurl al endpoint retorna 200
8NOVA Mulesoft endpoint accesible y configurado (email/SMS)IT OntimeNotificacion de prueba recibida por email o SMS
9Azure Blob Storage configurado con contenedores proximiti-pod y proximiti-photosIT OntimeUpload y download de imagen de prueba exitosos
10Azure Blob Storage — contenedor proximiti-documents para contratosIT OntimeUpload de PDF de prueba exitoso
11SSL/TLS configurado en todos los endpoints publicosIT OntimeHTTPS sin warnings en navegador; certificados validos
12PUDO Manager App instalada en dispositivos de prueba (Android + iOS)IT OntimeLogin exitoso y dashboard visible
13Carrier App instalada en dispositivos de prueba (Android + iOS)IT OntimeLogin exitoso y lista de pendientes visible
14Proveedores externos accesibles: Kanguro API + Hublocker APIIT OntimeSync de catalogo ejecuta sin error desde admin panel
15Secrets HMAC compartidos con Kanguro y Hublocker para webhooksIT OntimeWebhook de prueba con firma valida procesado correctamente
16Red, firewall y DNS configurados — todos los servicios se comunicanIT OntimeHealth check de BFF retorna todos los downstream UP
17Zipkin desplegado y accesible para trazabilidad distribuidaIT OntimeTraza end-to-end visible en Zipkin UI
18Variables de entorno configuradas en orquestador (~50 variables)IT OntimeVer Requisitos Tecnicos para lista completa
19Backup automatico de BD configurado y probadoIT OntimeRestauracion exitosa desde backup de prueba
20Monitorizacion y alertas configuradas (health checks, metricas, logs)IT OntimeDashboard de monitoreo operativo con alertas activas

3. Scripts de Prueba por Proceso

Cada script referencia las capacidades de la Matriz Funcional por su ID (e.g., BFF-01, SHPM-06). La columna OK/NOK debe rellenarse durante la ejecucion. Si un paso falla, documentar el motivo en la columna de observaciones.

3.1 Creacion de Expedicion (E2E)

Capacidades: BFF-01, BFF-02, BFF-17, BFF-18, SHPM-01, SHPM-02, CP-13, CP-40 Actores: Cliente (portal web) Prerequisitos: Usuario cliente autenticado en Azure AD, centros PUDO activos con capacidad, tarifas configuradas

PasoAccionResultado EsperadoOK/NOKObservaciones
1Acceder al portal como cliente (USER_CUSTOMER)Dashboard de cliente visible con KPIs de expediciones activas (CP-38)
2Clic en "Enviar Paquete"Formulario de nueva expedicion con pasos guiados (CP-13)
3Completar datos de remitente y direccion de origenValidacion de campos obligatorios; opcion de seleccionar direccion guardada (CP-40)
4Seleccionar centro PUDO destino via widgetMapa muestra centros cercanos por codigo postal (BFF-17); detalle con horario y capacidad (BFF-18)
5Completar datos del paquete: destinatario, peso, dimensionesEstimacion de tarifa visible basada en peso (CP-35, BFF-51)
6Revisar resumen y confirmar envioMensaje de exito; codigo de barras generado (BFF-01, SHPM-01)
7Enviar la misma peticion con la misma clave de idempotenciaNo se crea duplicado; retorna la expedicion existente (BFF-01)
8Acceder a "Mis Expediciones"Expedicion aparece en la lista con estado PENDIENTE (CP-39, BFF-40)
9Verificar notificacion al destinatarioEmail o SMS recibido via NOVA (NOTF-04)
10Verificar etiqueta imprimibleGenerar etiqueta HTML con codigo de barras, remitente y datos del centro (BFF-10, SHPM-21)

Criterio de aceptacion: Todos los pasos OK. La expedicion existe en BD con estado PENDIENTE y la notificacion fue entregada.


3.2 Recepcion en Centro PUDO

Capacidades: BFF-04..BFF-08, SHPM-06, SHPM-07, CNTR-07, CNTR-08, PUDO-06..PUDO-08 Actores: Operador PUDO (app movil) Prerequisitos: Expedicion en estado PENDIENTE, operador logueado en PUDO Manager

PasoAccionResultado EsperadoOK/NOKObservaciones
1Abrir PUDO Manager, login con Azure ADDashboard con conteo de expediciones pendientes y capacidad (PUDO-04)
2Tocar "Recibir" en acciones rapidasPantalla de escaneo de codigo de barras activa (PUDO-06)
3Escanear codigo de barras del paquete con camaraPaquete identificado; datos del remitente y destinatario mostrados
4Verificar que hay capacidad disponibleIndicador de capacidad muestra espacio libre (PUDO-08); si lleno, muestra error amigable
5Confirmar recepcionEstado cambia a RECEPCIONADO (SHPM-07); capacidad decrementa en 1 (CNTR-08)
6Verificar capacidad actualizada en dashboardEspacios libres decrementados; indicador visual actualizado (PUDO-14)
7Verificar en portal web como adminExpedicion muestra RECEPCIONADO en timeline con timestamp (CP-09, CP-10)
8Intentar recepcionar el mismo paquete de nuevoError: paquete ya recepcionado; no cambia de estado

Criterio de aceptacion: Estado RECEPCIONADO confirmado en ambas interfaces. Capacidad del centro correctamente decrementada.


3.3 Entrega al Destinatario (con POD)

Capacidades: BFF-11..BFF-13, SHPM-08, SHPM-18..SHPM-20, PUDO-09..PUDO-11, CP-12 Actores: Operador PUDO + Destinatario Prerequisitos: Expedicion en estado RECEPCIONADO

PasoAccionResultado EsperadoOK/NOKObservaciones
1En PUDO Manager, tocar "Entregar"Pantalla de entrega con escaneo de codigo de barras
2Escanear codigo de barras del paquetePaquete identificado; datos mostrados para verificar destinatario
3Solicitar firma del destinatario en pantallaCanvas de firma aparece; el destinatario firma con el dedo (PUDO-09)
4Capturar firmaFirma almacenada localmente, lista para subida
5Tomar foto de evidencia del paquete entregadoCamara activa; foto capturada (PUDO-09)
6Registrar documento de identidad: tipo (DNI/NIE/Pasaporte) + ultimos 4 digitosDatos de identificacion guardados (PUDO-09)
7Confirmar entregaImagenes POD subidas a Azure Blob via URL presignada (SHPM-18, PUDO-10); estado cambia a ENTREGADO (SHPM-08, PUDO-11)
8Verificar POD en portal webFirma y foto de evidencia visibles en detalle de expedicion via streaming proxy (CP-12, BFF-13)
9Verificar metadatos de POD via APIGET /pod retorna URLs de firma y evidencia (BFF-11, SHPM-19)
10Verificar capacidad del centroEspacios libres incrementados en 1 (CNTR-09)
11Verificar notificacion de entregaRemitente recibe confirmacion de entrega (NOTF-04)

Criterio de aceptacion: Estado ENTREGADO confirmado. POD (firma + foto + ID) visible en portal. Capacidad correctamente incrementada.


3.4 Intercambio Transportista-Centro (Dual QR)

Capacidades: BFF-04..BFF-08, SHPM-12..SHPM-16, PUDO-07, PUDO-12, PUDO-13, CA-03..CA-05 Actores: Operador PUDO + Transportista Prerequisitos: Transportista logueado en Carrier App con paquetes asignados para entregar

PasoAccionResultado EsperadoOK/NOKObservaciones
1Transportista abre Carrier App, login con Azure ADLista de expediciones pendientes para entrega visible (CA-03)
2Transportista inicia handshake en Carrier AppToken QR de sesion generado y codigo QR mostrado (SHPM-12, BFF-04)
3Operador escanea QR del transportista con PUDO ManagerSesion vinculada; operador ve lista de paquetes del transportista (SHPM-14, PUDO-07, BFF-06)
4Operador confirma recepcion de los paquetesPaquetes transicionan a RECEPCIONADO individualmente (SHPM-07)
5Transportista ve confirmacion en Carrier AppPolling detecta sesion VALIDATED; lista actualizada (SHPM-13, BFF-05)
6Verificar entrega en lote (3+ paquetes)Todos los paquetes procesados; resultado individual por paquete (BFF-08, SHPM-16)
7Verificar ambas apps muestran transaccion completadaHistorial actualizado en ambas aplicaciones
8Verificar timeout de sesion QRTras inactividad prolongada, la sesion expira; se requiere nuevo QR

Criterio de aceptacion: Handshake completado sin errores. Todos los paquetes en estado RECEPCIONADO. Ambas apps reflejan la transaccion.


3.5 Caducidad y Recogida

Capacidades: EXPR-01..EXPR-05, SHPM-09..SHPM-11, SHPM-17, CA-05, BFF-09 Actores: Sistema (automatizado) + Transportista Prerequisitos: Expedicion en estado RECEPCIONADO con fecCaducidad vencida

PasoAccionResultado EsperadoOK/NOKObservaciones
1Esperar ejecucion del CronJob de caducidad (o forzar manualmente)Expediciones vencidas transicionan a CADUCADO (EXPR-01, SHPM-09)
2Verificar outbox transaccionalRegistro creado en tabla outbox dentro de la misma transaccion (EXPR-04)
3Verificar despacho a ALINAOutbox record procesado; estado SENT o CONFIRMED (EXPR-02)
4Verificar estado en portal webExpedicion muestra CADUCADO en stepper con camino de caducidad de 6 pasos (CP-10)
5Verificar cuenta regresivaIndicador de retencion muestra "Caducado" en rojo (CP-11)
6Transportista ve paquete en lista de recogidas pendientesCarrier App muestra expediciones caducadas para recogida (SHPM-15, CA-05)
7Transportista inicia recogida en Carrier AppEstado transiciona a LOCKED_FOR_RETRIEVAL (SHPM-10); capacidad incrementada (SHPM-17, CNTR-09)
8Transportista confirma recogida del paqueteEstado transiciona a RECOGIDO
9Sistema cierra cicloEstado final: RETIRADO (SHPM-11)
10Verificar en portalTimeline completo del camino de caducidad visible (6 pasos)

Prueba adicional — DLQ:

PasoAccionResultado EsperadoOK/NOKObservaciones
11Simular fallo de ALINA (endpoint caido)Outbox reintenta con backoff exponencial hasta 5 intentos (EXPR-05)
12Verificar movimiento a DLQRegistro movido a dead letter queue tras agotar reintentos
13Admin re-dispara notificacion desde DLQRegistro vuelve a PENDING con conteo de reintentos reseteado (EXPR-03)

Criterio de aceptacion: Ciclo completo de caducidad verificado. ALINA notificada. DLQ funciona correctamente con reintentos.


3.6 Seguimiento de Expedicion

Capacidades: BFF-19, SHPM-05, CP-10, CP-41 Actores: Cliente, Administrador, Publico (sin autenticacion) Prerequisitos: Expedicion existente con historial de estados

PasoAccionResultado EsperadoOK/NOKObservaciones
1Acceder a "Seguir Paquete" en portal clienteFormulario de busqueda por codigo de barras (CP-41)
2Ingresar codigo de barras validoTrackingStepper muestra timeline con estados completados en verde y pendientes en gris (CP-10)
3Verificar camino feliz (3 pasos)PENDIENTE → RECEPCIONADO → ENTREGADO con ETA bajo ENTREGADO
4Verificar camino de caducidad (6 pasos)PENDIENTE → RECEPCIONADO → CADUCADO → LOCKED → RECOGIDO → RETIRADO
5Acceder via URL directa /track/{barcode}Mismo resultado que busqueda manual (BFF-19)
6Consultar sin autenticacion (tracking publico)Datos basicos de tracking visibles sin token JWT (SHPM-05)
7Ingresar codigo de barras inexistenteMensaje de error claro: "Expedicion no encontrada"

Criterio de aceptacion: Ambos caminos del stepper se visualizan correctamente. Tracking publico funciona sin autenticacion.


3.7 Administracion del Sistema

Capacidades: BFF-20..BFF-31, CP-23..CP-29, CP-33, CP-34 Actores: Administrador Prerequisitos: Login como admin (USER_ADMIN)

PasoAccionResultado EsperadoOK/NOKObservaciones
1Acceder a panel de adminDashboard admin con KPIs: totales, desglose por estado, actividad 24h (BFF-16, CP-05)
2Tab Usuarios: listar usuariosTabla paginada con todos los usuarios (BFF-20, CP-23)
3Tab Usuarios: editar rol y asignar centroRol y centro actualizados correctamente (BFF-22, CP-23)
4Tab Centros: listar con filtro por proveedor y estadoTabla con badges de estado y proveedor (BFF-23, CP-24)
5Tab Centros: crear centro nuevo (5 tabs: Basico/Estado/Contacto/Horario/Tipo)Centro creado con 201; aparece en lista (BFF-25)
6Tab Centros: editar centro con control de concurrenciaActualizacion exitosa con ETag correcto; 412 con ETag obsoleto (BFF-26)
7Tab Centros: borrado logico de centroCentro desactivado; no aparece en listas publicas (BFF-27)
8Tab Datos Semilla: verificar estadoConteos por tabla de dominio correctos (BFF-28)
9Tab Salud del Sistema: verificar serviciosTodos los servicios retornan UP
10Tab Schema Explorer: navegar ERDDiagrama entidad-relacion interactivo con todas las tablas tp_pprx_* (CP-26)
11Tab Schema: detalle de tablaColumnas, PK, FK, CHECK, UNIQUE, indices visibles (CP-27)
12Tab Schema: buscar tablaFiltro resalta tabla en canvas (CP-28)
13Tab API Docs: Swagger UISwagger funcional con agrupacion por tags (CP-33, CP-34)
14Tab API Docs: autenticacion OAuth2Autenticar via OAuth2 y ejecutar endpoint de prueba (BFF-66)
15Verificar guard de rolAcceder a /admin como operador redirige a / (CP-04)

Criterio de aceptacion: Todas las funciones de administracion operativas. CRUD de centros y usuarios funcional. Schema Explorer y Swagger accesibles.


3.8 Gestion de Tarifas

Capacidades: BFF-50..BFF-55, CP-35, CP-36, CP-44 Actores: Administrador + Cliente Prerequisitos: Tarifas reales de Ontime cargadas en el sistema

PasoAccionResultado EsperadoOK/NOKObservaciones
1Admin: listar todas las tarifas (incluyendo inactivas)Lista completa con rangos de peso y precios (BFF-52, CP-36)
2Admin: crear nueva tarifa con rangos de pesoTarifa creada y visible en lista (BFF-53)
3Admin: editar tarifa existenteCambios persistidos correctamente (BFF-54)
4Admin: eliminar tarifaTarifa eliminada; desaparece de la lista (BFF-55)
5Cliente: ver tarifas activasSolo tarifas activas visibles (BFF-50)
6Cliente: estimar coste por pesoCalculo correcto basado en rangos (BFF-51, CP-35, CP-44)

Criterio de aceptacion: CRUD de tarifas funcional. Calculadora de coste retorna valores correctos segun rangos configurados.


3.9 Incidencias y Soporte

Capacidades: BFF-45..BFF-49, ISSU-01..ISSU-07 Actores: Operador PUDO + Administrador Prerequisitos: Expedicion existente para vincular la incidencia

PasoAccionResultado EsperadoOK/NOKObservaciones
1Operador: crear incidencia vinculada a expedicionIncidencia creada con tipo, severidad y referencia (BFF-47, ISSU-01)
2Operador: ver detalle de incidenciaTrail de auditoria visible con timestamp de creacion (BFF-46, ISSU-02)
3Admin: listar incidencias con filtrosFiltrado por estado, tipo, severidad y centro funcional (BFF-45, ISSU-03)
4Admin: cambiar estado (abierta → en curso → resuelta → cerrada)Transicion registrada en trail de auditoria (BFF-48, ISSU-04, ISSU-07)
5Operador: escalar incidencia no resueltaSeveridad incrementada; registro en trail (BFF-49, ISSU-05)
6Verificar chat de soporteToken de sesion generado (stub en v2.0; produccion requiere proveedor real) (ISSU-06)

Criterio de aceptacion: Ciclo completo de incidencia operativo. Trail de auditoria refleja todos los cambios. Escalado funciona correctamente.


3.10 Notificaciones

Capacidades: BFF-42..BFF-44, NOTF-01..NOTF-05, CP-21, CP-22 Actores: Operador PUDO + Sistema Prerequisitos: Notificaciones existentes en el sistema

PasoAccionResultado EsperadoOK/NOKObservaciones
1Verificar badge de campana en portalConteo de no leidas visible (CP-22, BFF-43, NOTF-02)
2Acceder a pagina de notificacionesLista paginada filtrada por centro del operador (CP-21, BFF-42, NOTF-01)
3Marcar notificacion como leidaConteo de no leidas disminuye (BFF-44, NOTF-03)
4Trigger de notificacion por evento (e.g., recepcion de paquete)Notificacion creada en BD + envio via NOVA (NOTF-04, NOTF-05)
5Verificar envio real via NOVA (produccion)Email o SMS recibido por el destinatario

Criterio de aceptacion: Notificaciones se crean por eventos. NOVA entrega mensajes. Badge y lista funcionan correctamente.


3.11 Integraciones Externas

Capacidades: BFF-32, BFF-33, ADPT-01..ADPT-06, CP-30..CP-32 Actores: IT Ontime + Administrador

PasoAccionResultado EsperadoOK/NOKObservaciones
Autenticacion
1Azure AD: login portal webRedirect a Azure AD, tokens validos, roles correctos en JWT
2Azure AD: login PUDO Manager (AppAuth flow)Callback exitoso, token almacenado en secure storage
3Azure AD: login Carrier App (AppAuth flow)Callback exitoso, token almacenado en secure storage
4Azure AD: refresco silencioso de tokenToken renovado sin interaccion del usuario
5Azure AD: token invalido rechazadoRespuesta 401 Unauthorized (BFF-64)
ERP — ALINA
6Trigger caducidad → outbox → ALINAOutbox record creado → HTTP POST a ALINA → estado CONFIRMED (EXPR-02)
7ALINA rechaza mensajeReintento con backoff exponencial; DLQ tras 5 intentos (EXPR-05)
Notificaciones — NOVA
8Trigger evento → llamada a NOVAHTTP call a NOVA API → email/SMS recibido (NOTF-05)
9NOVA no responde (timeout 500ms)Accion principal no se bloquea; fire-and-forget (NOTF-05)
Proveedores
10Kanguro: sync de catalogo desde adminCentros Kanguro visibles en admin panel (BFF-32, ADPT-01)
11Hublocker: sync de catalogo desde adminLockers Hublocker visibles en admin panel (BFF-32, ADPT-01)
12Kanguro: webhook con firma HMAC validaWebhook procesado correctamente (ADPT-04)
13Kanguro: webhook con firma HMAC invalidaWebhook rechazado (ADPT-04)
14Hublocker: webhook con firma HMAC validaWebhook procesado correctamente (ADPT-05)
Almacenamiento
15Upload POD (firma + foto) a Azure BlobImagenes subidas y visibles via streaming proxy (BFF-12, BFF-13)
16Upload foto de perfil a Azure BlobFoto visible en header del portal (BFF-56, BFF-57)
17Eliminar foto de perfilFoto eliminada; no recuperable (BFF-58)
18Upload documento de contrato (PDF)PDF subido a contenedor proximiti-documents (CNTR-06)

Criterio de aceptacion: Todas las integraciones responden correctamente. Flujos de error (timeout, rechazo) manejados con gracia.


3.12 Modo Offline (Apps Moviles)

Capacidades: PUDO-17, PUDO-18, CA-06, CA-07 Actores: Operador PUDO + Transportista Prerequisitos: Dispositivo con apps instaladas y operativas

PasoAccionResultado EsperadoOK/NOKObservaciones
1Activar modo avion en dispositivoBanner de "Sin conexion" visible en ambas apps
2PUDO Manager: recepcionar paquete offlineOperacion almacenada en Hive local (PUDO-17)
3Carrier App: registrar entrega offlineOperacion almacenada en cola offline (CA-06)
4Desactivar modo avionBanner de conectividad desaparece
5Verificar sincronizacion automaticaOperaciones pendientes se sincronizan con el servidor (PUDO-18, CA-07)
6Verificar consistencia de datosEstados en servidor coinciden con las operaciones locales

Criterio de aceptacion: Operaciones offline se almacenan correctamente y se sincronizan sin perdida de datos al restaurar conectividad.


3.13 Perfil y Foto de Usuario

Capacidades: BFF-34..BFF-39, BFF-56..BFF-58, USR-01..USR-15, CP-37, CP-42, CP-43 Actores: Operador PUDO + Cliente Prerequisitos: Usuarios autenticados

PasoAccionResultado EsperadoOK/NOKObservaciones
1Operador: ver pagina de perfilInfo personal, centro asignado, enlace a seguridad de Azure AD (CP-37)
2Operador: subir foto de perfilFoto visible en header y dropdown (BFF-56, BFF-57)
3Operador: eliminar foto de perfilAvatar vuelve a iniciales; foto no recuperable (BFF-58)
4Cliente: ver y editar perfilNombre, telefono y datos actualizados (CP-43, BFF-34, BFF-35)
5Cliente: CRUD de direccionesCrear, editar y eliminar direccion (CP-42, BFF-36..BFF-39)
6Primer login de usuario nuevoAuto-provision crea registro en BD (BFF-60, USR-02, USR-11)

Criterio de aceptacion: Perfiles visibles y editables. Foto de perfil funcional. Auto-provision en primer login.


4. Pruebas de Carga

Ejecutar con herramienta de carga (e.g., k6, JMeter, Gatling) contra el entorno de staging con datos representativos de produccion.

EscenarioDescripcionMetrica ObjetivoOK/NOK
Creacion masiva de expediciones1.000 expediciones creadas en 1 hora< 500ms p95 por creacion
Consulta concurrente de tracking100 consultas simultaneas al endpoint publico de tracking< 200ms p95 por consulta
Sincronizacion de proveedoresCatalogo de 500 centros desde Kanguro< 30s sync completo
Upload concurrente de POD50 uploads simultaneos (firma + foto, ~500KB cada uno)< 2s p95 por upload
Dashboard de admin con volumetria realDashboard con 10.000 expediciones en BD< 1s carga completa
Widget PUDO selector100 busquedas concurrentes por codigo postal< 300ms p95 por busqueda
Listado paginado de expediciones50 consultas concurrentes con filtros y paginacion< 300ms p95
Login concurrente50 logins simultaneos via Azure AD< 3s p95 por login completo
Polling de sesion QR100 clientes polling cada 2s durante 5 minutos< 100ms p95 por poll

Criterio de aceptacion: Todas las metricas dentro de los objetivos. Sin errores 5xx bajo carga sostenida. Sin degradacion de tiempos de respuesta despues de 30 minutos.


5. Criterios Go / No-Go

5.1 Criterios Go (TODOS deben cumplirse)

#CriterioVerificacionEstado
1Integraciones externas funcionales: Azure AD, ALINA, NOVAScript 3.11 — todos los pasos OK
2Flujo E2E completo: creacion → recepcion → entrega → POD visibleScripts 3.1 + 3.2 + 3.3 — todos OK
3Flujo de caducidad completo: CADUCADO → outbox → ALINA → recogidaScript 3.5 — todos los pasos OK
4Handshake dual-QR operativo entre ambas appsScript 3.4 — todos OK
5Apps moviles instaladas y funcionales en dispositivos objetivo (Android + iOS)Login + escaneo + POD en ambas apps
6Datos maestros cargados y verificadosAdmin panel muestra centros, usuarios, tarifas correctos
7Pruebas de carga superan metricas objetivoSeccion 4 — todas las metricas dentro de objetivo
8Backup y recuperacion probadosRestauracion exitosa desde backup con datos intactos
9Monitorizacion y alertas configuradasDashboard de monitoreo operativo; alertas para servicios caidos
10Equipo de soporte nivel 1 formadoAl menos 2 personas capacitadas en operacion PROXIMITI
11Documentacion de operacion entregadaGuias de operador PUDO y transportista disponibles y revisadas
12Piloto controlado exitoso (minimo 2 semanas)Sin incidencias criticas durante piloto
13Modo offline probado y funcionalScript 3.12 — sincronizacion sin perdida de datos
14Tarifas reales configuradas y validadasTarifas de Ontime sustituyen las ilustrativas
15SSL/TLS activo en todos los endpoints publicosCertificados validos; HTTPS sin warnings

5.2 Criterios No-Go (CUALQUIERA bloquea el go-live)

#CriterioImpactoMitigacion
1Fallo en autenticacion Azure ADNingun usuario puede acceder al sistemaVerificar app registrations, roles, claims
2ALINA no responde o rechaza mensajesPaquetes caducados no se reportan; no se recogenVerificar endpoint, credenciales, formato de mensaje
3Perdida de datos POD (firma/foto)Sin prueba de entrega — implicaciones legalesVerificar Azure Blob, presigned URLs, buckets
4Error en calculo o configuracion de tarifasFacturacion incorrecta a clientesVerificar rangos de peso y precios con Operaciones
5Centro PUDO no recibe actualizaciones de capacidadSobre-asignacion de paquetes; centro desbordadoVerificar ETag/concurrencia en servicio de centros
6Apps moviles crashean en dispositivos objetivoOperadores y transportistas no pueden trabajarProbar en dispositivos reales representativos
7Modo offline pierde operaciones al sincronizarPaquetes recepcionados o entregados sin registrarVerificar cola Hive y reconciliacion
8Notificaciones NOVA no se entreganDestinatarios no saben que su paquete esta listoVerificar canales email/SMS y configuracion NOVA

6. Gestion de Incidencias durante Certificacion

6.1 Clasificacion de Severidad

SeveridadDefinicionTiempo de RespuestaEjemplo
Critica (P1)Bloquea un proceso completo; no existe workaround4 horasLogin no funciona, POD no se guarda, expedicion no se crea
Alta (P2)Funcionalidad degradada pero con workaround disponible24 horasNotificaciones no llegan, sync de proveedor falla, dashboard lento
Media (P3)Error en flujo secundario; no afecta operacion principal48 horasFiltro de busqueda no funciona, tooltip FK no aparece
Baja (P4)Cosmetico, mejora o textoSiguiente sprintTexto mal alineado, icono incorrecto, color fuera de paleta

6.2 Proceso de Gestion

  1. Registro: El analista de certificacion documenta la incidencia con severidad, script afectado y paso fallido
  2. Triaje: El equipo de desarrollo confirma la severidad y asigna responsable (maximo 2 horas para P1)
  3. Correccion: El equipo de desarrollo implementa el fix y despliega en staging
  4. Re-certificacion: El analista re-ejecuta el script afectado desde el paso fallido
  5. Cierre: El analista confirma la correccion y marca la incidencia como resuelta

6.3 Criterio de Parada

Si se acumulan 3 o mas incidencias P1 abiertas simultaneamente, se detiene la certificacion hasta resolver todas las P1. El equipo de desarrollo tiene prioridad absoluta sobre la certificacion durante este periodo.


7. Checklist Final Pre-Go-Live

Verificacion final el dia anterior al go-live. Cada item debe estar firmado por el responsable.

7.1 Infraestructura

#ItemResponsableVerificacionEstado
1Todos los servicios (8) desplegados y saludablesIT OntimeGET /actuator/health retorna UP en cada servicio
2PostgreSQL 16 operativo con replicas (si aplica)IT OntimeConexion desde todos los servicios confirmada
3Azure Blob Storage con 3 contenedores configuradosIT OntimeUpload/download de prueba en pod, photos, documents
4SSL/TLS activo en todos los endpoints publicosIT Ontimecurl -I https://... muestra certificado valido
5DNS configurado para dominio de produccionIT OntimeResolucion DNS correcta desde red interna y externa
6Load balancer configurado (si aplica)IT OntimeTrafico distribuido correctamente; health checks activos

7.2 Seguridad

#ItemResponsableVerificacionEstado
7Azure AD operativo con todos los roles y claimsIT OntimeLogin exitoso con cada rol; JWT contiene claims correctos
8Secrets gestionados via vault o variables de entorno segurasIT OntimeNingun secret en texto plano en configuracion
9Rate limiting activo (60/min IP, 120/min sujeto)IT OntimeRafaga de peticiones retorna 429 (BFF-63)
10CORS configurado para dominios de produccionIT OntimePeticiones cross-origin bloqueadas desde dominios no autorizados
11Webhooks protegidos con firma HMACIT OntimeWebhook sin firma valida rechazado

7.3 Datos

#ItemResponsableVerificacionEstado
12Datos maestros de centros PUDO cargados y verificadosOperacionesAdmin panel muestra todos los centros activos
13Usuarios creados con roles y centros asignadosOperacionesCada operador puede loguearse y ve su centro
14Tarifas reales de Ontime configuradasOperacionesCalculadora retorna precios correctos
15Backup automatico programado y probadoIT OntimeRestauracion exitosa desde ultimo backup

7.4 Integraciones

#ItemResponsableVerificacionEstado
16ALINA: endpoint de produccion accesible y probadoIT OntimeMensaje de prueba enviado y CONFIRMED
17NOVA: endpoint de produccion accesible y probadoIT OntimeEmail/SMS de prueba recibido
18Kanguro: API de produccion accesible; sync exitosoIT OntimeCentros Kanguro visibles en admin
19Hublocker: API de produccion accesible; sync exitosoIT OntimeLockers Hublocker visibles en admin
20Zipkin: trazabilidad end-to-end operativaIT OntimeTraza completa visible para peticion de prueba

7.5 Aplicaciones

#ItemResponsableVerificacionEstado
21Portal web desplegado y accesible via HTTPSIT OntimeLogin exitoso; dashboard visible
22PUDO Manager publicada en App Store / Google Play (o MDM)IT OntimeInstalacion y login exitosos en dispositivos operadores
23Carrier App publicada en App Store / Google Play (o MDM)IT OntimeInstalacion y login exitosos en dispositivos transportistas
24Widget PUDO Selector integrado en sitio de Ontime (si aplica)IT OntimeWidget muestra centros cercanos por codigo postal

7.6 Formacion y Soporte

#ItemResponsableVerificacionEstado
25Guia de operador PUDO entregada y revisadaOperacionesOperadores piloto confirman comprension
26Guia de transportista entregada y revisadaOperacionesTransportistas piloto confirman comprension
27Equipo soporte nivel 1 formado (minimo 2 personas)OperacionesCapacitacion completada; escalado definido
28Runbook de operacion entregado a ITDesarrolloProcedimientos de reinicio, rollback, escalado
29Contactos de escalado definidos (nivel 1 → nivel 2 → desarrollo)OperacionesLista de contactos documentada y distribuida

7.7 Monitorizacion

#ItemResponsableVerificacionEstado
30Health checks configurados para los 8 serviciosIT OntimeAlerta automatica si un servicio cae
31Dashboard de metricas operativo (latencia, errores, throughput)IT OntimeMetricas visibles en tiempo real
32Alertas configuradas: servicio caido, errores 5xx, latencia altaIT OntimeAlerta de prueba recibida por el equipo
33Logs centralizados y accesiblesIT OntimeBusqueda por X-Correlation-Id retorna trazas completas

7.8 Contingencia

#ItemResponsableVerificacionEstado
34Plan de rollback documentadoDesarrolloProcedimiento probado para revertir a estado anterior
35Punto de restauracion de BD creadoIT OntimeSnapshot de BD tomado justo antes del go-live
36Comunicacion de go-live preparada (usuarios, stakeholders)OperacionesEmail/comunicado redactado y aprobado

Apendice: Trazabilidad Matriz → Scripts

Referencia rapida para localizar en que script se certifica cada grupo de capacidades.

Grupo de CapacidadesScript de Prueba
BFF-01..BFF-10 (Proxy expediciones)3.1, 3.2, 3.4
BFF-11..BFF-13 (POD)3.3
BFF-14..BFF-18 (Centros, Widget)3.1, 3.7
BFF-19 (Tracking publico)3.6
BFF-20..BFF-31 (Admin)3.7
BFF-32..BFF-33 (Proveedores)3.11
BFF-34..BFF-41 (Cliente)3.1, 3.13
BFF-42..BFF-44 (Notificaciones)3.10
BFF-45..BFF-49 (Incidencias)3.9
BFF-50..BFF-55 (Tarifas)3.8
BFF-56..BFF-58 (Foto perfil)3.13
BFF-59..BFF-68 (Transversales)3.11, 3.7
CNTR-01..CNTR-15 (Centros)3.2, 3.3, 3.5, 3.7
SHPM-01..SHPM-25 (Expediciones)3.1, 3.2, 3.3, 3.4, 3.5, 3.6
USR-01..USR-15 (Usuarios)3.7, 3.13
NOTF-01..NOTF-05 (Notificaciones)3.10
EXPR-01..EXPR-05 (Caducidad)3.5
ISSU-01..ISSU-07 (Incidencias)3.9
ADPT-01..ADPT-06 (Adaptador)3.11
CP-01..CP-49 (Portal cliente)3.1, 3.6, 3.7, 3.8, 3.9, 3.10, 3.13
PUDO-01..PUDO-19 (PUDO Manager)3.2, 3.3, 3.4, 3.12
CA-01..CA-10 (Carrier App)3.4, 3.5, 3.12

Ecosistema PUDO de PROXIMITI — documentacion interna