Evidencia
Pruebas realizadas
Evidencias de las pruebas en campo, en modo offline y del suite de tests automatizados que validan el comportamiento del sistema.
Tests unitarios
20+ testsxUnit + Moq + FakeUnitOfWork — corren sin base de datos real, en CI.
- ViajeServiceTests: iniciar, finalizar, cancelar, retomar viaje del día, cerrar viaje huérfano
- EventoServiceTests: idempotencia (idLocal), pertenencia, anti-flood, fecha de detección
- CanjeServiceTests: generación de QR, validación de puntos suficientes
- 100% de los tests en verde en el build actual
Prueba de campo
Dispositivo realManejo real en zona urbana de Lima con Xiaomi Redmi Note, detección activada.
- Frenado brusco detectado correctamente en paradas de semáforo
- Aceleración brusca detectada al salir de cruce
- Giro brusco detectado en curva cerrada
- Uso de celular detectado al levantar el teléfono en movimiento
Prueba offline
Modo aviónViaje completo en modo avión: eventos en outbox local, sync al reconectar.
- 12 eventos almacenados en SQLite sin pérdida ni error
- Sincronización exitosa al reconectar: todos enviados sin duplicados
- Idempotencia confirmada: retransmisión de los 12 devuelve 200 sin duplicar puntos
- Score calculado correctamente en app sin conexión
Prueba de scoring
Viaje completoViaje de 8 km / 15 min con múltiples eventos inducidos.
- Score inicial 100 → descuentos por eventos → score final 71
- Desglose: Velocidad 100, Frenado 75, Aceleración 80, Giros 85, Celular 70
- Puntos acreditados al ledger inmutable post-viaje
- Historial de ruta GPS visualizado en mapa OpenStreetMap en la app
App en campo real
Capturas de la prueba de campo en Arequipa — mayo 2026. Dos conductores simultáneos, GPS en vivo, puntos acumulándose en tiempo real.

GPS en vivo · User-662 · 35.8 km/h · Arequipa

Mapa de ruta · User-630 · 54.3 km/h · Lima–Arequipa

Recorrido en tiempo real con marcador de inicio

Tracking GPS con radio de precisión activo