Saltar al contenido principal

Estrategia de pruebas

Con cuentas personales, probar es más simple: no se necesita que la UTI provisione nada para empezar. El equipo usa sus propias cuentas Gmail/Outlook y las da de alta en el registro de prueba.

1. Apps propias de desarrollo (camino principal)

El equipo crea sus propios registros en ambas consolas:

ProveedorRecurso de pruebaCosto
GoogleGoogle Cloud project propio + consent screen External en modo "Testing" con los correos del equipo como usuarios de pruebaGratuito
MicrosoftApp registration propio con "Supported account types" = personal + cualquier tenant (endpoint /common)Gratuito

Esto permite validar todo el flujo end-to-end (authorize → callback → intercambio del code → validación del ID token → consulta al registro → sesión) con cuentas personales reales del equipo.

El código no cambia entre dev y prod

Entre desarrollo y producción solo cambian valores de configuración (client_id, client_secret, redirect URIs) y el registro UTI usado. El flujo ya estará probado.

2. Matriz de casos de prueba

#CasoResultado esperado
P1Login con cuenta Google registrada en la UTISesión creada
P2Login con cuenta Microsoft registrada en la UTISesión creada
P3Login con cuenta válida pero no registradaRechazo: "correo no registrado"
P4Login con cuenta registrada pero dada de bajaRechazo + log de auditoría
P5Mismo email por Google y por MicrosoftMisma identidad interna (account linking)
P6ID token expirado o manipuladoRechazo por validación de firma o exp
P7El usuario cancela en la pantalla del IdPRetorno limpio a la pantalla de inicio
P8LogoutSesión local destruida; cookie invalidada
P9email_verified = false en el tokenRechazo
P10Estado PRIMARY_AUTH_OK sin 2FALa sesión plena no se activa (preparación para D6)

3. Mocks para pruebas automatizadas (CI)

Para la suite automatizada no se depende de Google ni Microsoft reales:

  • Un mock OAuth2/OIDC server (o stubs de las respuestas del IdP) que emite ID tokens de prueba firmados con una clave de test.
  • Permite probar en CI los casos P3 a P6 y P9 (rechazos y validaciones) de forma determinista.
  • Las pruebas manuales con los IdP reales (P1, P2, P7, P8) se hacen contra las apps propias de desarrollo del §1.

4. Criterios de aceptación de esta fase

  1. Login end-to-end funcional con ambos IdP usando cuentas personales de prueba.
  2. Rechazo verificado de correos no registrados o dados de baja en el registro UTI.
  3. Account linking verificado con el mismo email en ambos IdP.
  4. Suite de CI verde con mocks del IdP.
  5. Registro UTI de prueba poblado (correos + números de celular) y proceso de alta/baja definido.