// QA y pruebas

Cómo probar tu propio flujo de verificación SMS de extremo a extremo

Antes de cada lanzamiento necesitas la prueba de que tu registro y flujo de OTP sigue funcionando: que los códigos se envían, llegan, verifican y rechazan correctamente. Esta guía muestra cómo probar tu propio flujo de verificación usando credenciales de prueba de proveedores, códigos mágicos, sandboxes y comprobaciones automatizadas en CI, sin hacer spam a teléfonos reales ni gastar en SMS en vivo.

Qué estás probando en realidad

Un flujo de verificación tiene varias piezas móviles, y cada una puede romperse por separado. Las buenas pruebas cubren el camino feliz y los caminos de fallo, porque el manejo del fallo es donde se gana o se pierde la confianza del usuario.

  • Envío: se genera y despacha un código para un número válido.
  • Recepción y verificación: el código correcto se acepta y la sesión se eleva.
  • Rechazo: los códigos erróneos, caducados y reutilizados se rechazan.
  • Límites: la limitación de tasa y los tiempos de espera de reenvío se comportan según lo diseñado.
  • Respaldo: la escalada de canal y los estados de error se renderizan correctamente.

Usa credenciales de prueba y códigos mágicos del proveedor

Cada proveedor importante te da una forma de ejercitar el flujo sin enviar mensajes reales. Twilio tiene credenciales de prueba y números mágicos que simulan éxito y respuestas de fallo específicas; Vonage, Sinch y MessageBird ofrecen modos sandbox y números de prueba. Úsalos en ejecuciones locales y de CI para que tu suite de pruebas nunca toque una operadora real.

  • Twilio: credenciales de prueba + números mágicos que fuerzan resultados de éxito/inválido/fallido.
  • Otros: claves API de sandbox y números de prueba designados.
  • Mantén las credenciales de prueba y de producción en configuraciones de entorno separadas y con nombres claros.
!

Nunca ejecutes pruebas contra credenciales de producción en CI: un fallo de bucle puede enviar miles de mensajes de pago y hacer que marquen a tu remitente.

Aprovisiona números de prueba que controles

Para pruebas de extremo a extremo que de verdad entreguen un mensaje, aprovisiona números programables que tú poseas como destinatarios de prueba, luego lee de vuelta el código entregado a través de la API de mensajería del proveedor y aliméntalo a tu paso de verificación. Como posees los números y la app, es una prueba de bucle cerrado limpia de tu propio sistema.

  1. 1

    Aprovisiona un número de prueba

    Crea un número programable en tu cuenta de proveedor dedicado al entorno de pruebas.

  2. 2

    Dispara tu envío

    Llama a tu propio endpoint de registro/verificación para que tu app envíe un código real al número de prueba.

  3. 3

    Lee el código por API

    Obtén el mensaje entrante a través de la API del proveedor y extrae el código por programación.

  4. 4

    Completa y verifica la aserción

    Envía el código a tu endpoint de verificación y comprueba que la sesión se eleva; luego libera el número.

Automatízalo en CI

Conecta lo anterior a tu pipeline para que la verificación se compruebe en cada build. Usa la vía mock/sandbox para pruebas unitarias y de integración rápidas que corren en cada commit, y reserva la prueba real de bucle cerrado (con números propios) para una etapa nocturna o previa al lanzamiento para controlar el coste.

  • Vía rápida: simula el proveedor o usa credenciales de prueba en cada commit.
  • Vía lenta: prueba real de envío a número propio de forma nocturna o antes del lanzamiento.
  • Verifica también los caminos de fallo: códigos caducados, códigos erróneos y respuestas de límite de tasa.
  • Alerta sobre regresiones de latencia de entrega, no solo aprobado/fallido.

Prueba la entregabilidad, no solo la lógica

Las pruebas de lógica demuestran que tu código es correcto; no demuestran que los mensajes lleguen en el mundo real. Envía periódicamente tráfico de prueba real a números en tus operadoras y países clave y mide la tasa de entrega y la latencia reales, para detectar una regresión de enrutamiento o filtrado antes que tus usuarios.

!

Los problemas de entrega suelen aparecer por país o por operadora. Rota tu monitorización por tu combinación real de destinos; la guía de entregabilidad explica por qué.

Preguntas frecuentes

¿Cómo pruebo OTP sin enviar SMS reales?+

Usa las credenciales de prueba y los números mágicos de tu proveedor, que simulan respuestas de éxito y fallo sin tocar una operadora. Reserva los envíos de mensajes reales para una pequeña prueba nocturna o previa al lanzamiento contra números que poseas, para mantener bajo control el coste y la reputación del remitente.

¿Cómo leo el código OTP en una prueba automatizada?+

Aprovisiona un número programable que poseas como destinatario de prueba, luego obtén el mensaje entrante a través de la API de mensajería del proveedor y extrae el código en tu prueba. Como posees el número y la app, es una prueba de bucle cerrado limpia de tu propio flujo.

¿Qué deben cubrir mis pruebas de verificación?+

Tanto el camino feliz (el código se envía, llega, verifica) como los caminos de fallo (código erróneo, código caducado, código reutilizado, límites de tasa y respaldo de canal). El manejo del fallo es donde se esconden la mayoría de los fallos reales y los riesgos de robo de cuenta.

¿Debe ejecutarse la verificación en cada build de CI?+

Ejecuta pruebas rápidas mock/sandbox en cada commit, y programa la prueba de entrega real más lenta de forma nocturna o antes del lanzamiento. Eso te da cobertura de lógica constante sin pagar por SMS en cada push.

EdgeGigs

¿Quieres probar tu registro y flujo de OTP de extremo a extremo?

Contrata en EdgeGigs a un desarrollador con mentalidad de QA para crear pruebas automatizadas sobre tu propio flujo de verificación: números de prueba, entornos de pruebas y CI incluidos.

Encuentra un desarrollador en EdgeGigs