Por Que Importa el Testing de Red en Movil

Los usuarios moviles experimentan un amplio rango de condiciones de red. Un usuario puede iniciar una transaccion en WiFi rapido, entrar a un ascensor (sin senal), salir a un estacionamiento (celular debil) y conducir lejos (cambiando torres).

Categorias de Condiciones de Red

CondicionVelocidadLatenciaEscenario Real
Sin red0N/AModo avion, subterraneo
2G (EDGE)50-200 Kbps300-1000msAreas rurales
3G0.5-5 Mbps100-500msAreas suburbanas
4G LTE5-50 Mbps30-100msAreas urbanas
5G50-1000+ Mbps1-10msAreas urbanas selectas
WiFi lento1-5 Mbps10-50msCafeterias, hoteles, aeropuertos

Herramientas de Throttling de Red

Settings > Developer > Network Link Conditioner con perfiles predefinidos.

Android Network Emulation

adb shell svc wifi disable
emulator -avd Pixel_8 -netdelay edge -netspeed edge

Charles Proxy

Funciona con iOS y Android. Permite configurar bandwidth, latencia y estabilidad.

Escenarios Esenciales de Testing de Red

1. Carga en Red Lenta

  • Indicadores de carga aparecen en 1 segundo
  • Contenido carga progresivamente
  • Errores de timeout despues de espera razonable
  • Usuario puede cancelar operaciones largas

2. Perdida de Red Durante Operacion

  • Envio de formulario → datos preservados, reintento
  • Subida de archivo → resume o reinicio con feedback
  • Transaccion de pago → manejo correcto, sin cargos dobles
  • Envio de mensaje → mensaje encolado

3. Transiciones de Red

  • WiFi a celular
  • Celular a WiFi
  • 4G a 3G a 2G
  • Red a sin red a red

Estrategias Avanzadas de Testing de Red

Testing de Logica de Reintentos

Verifica: backoff exponencial, maximo de reintentos, notificacion al usuario, sin duplicacion de efectos laterales.

Ejercicio: Plan de Testing de Red

Escenario: Prueba una app de mensajeria. Disena un plan cubriendo:

  1. Enviar mensaje en 2G
  2. Recibir mensajes al cambiar de WiFi a celular
  3. Subir foto con 20% de packet loss
  4. Comportamiento con respuesta 503 del servidor
Solucion
  1. Envio en 2G: Usar Charles Proxy a 50Kbps/500ms. Verificar estado “enviando”, transicion a “enviado”, timeout con reintento despues de 30s.

  2. Transicion WiFi-celular: Iniciar en WiFi, cambiar a celular. Verificar: sin mensajes perdidos, nuevos mensajes en 5s, reconexion WebSocket automatica.

  3. Subida con packet loss: Configurar Charles con 20% fallo. Verificar: reintento automatico, barra de progreso precisa, cancelacion posible.

  4. Respuesta 503: Usar Charles para retornar 503. Verificar: mensaje “servicio no disponible”, reintento con delay, mensajes previos visibles.

Tips Profesionales

Tip 1: Prueba la primera carga en 3G. Si toma mas de 5 segundos, perderas usuarios.

Tip 2: Crea presets de throttle personalizados y compartelos con tu equipo.

Tip 3: Prueba el segundo peor caso, no el peor. Los bugs mas dificiles aparecen en 80% packet loss, no en desconexion total.

Puntos Clave

  • Los usuarios moviles experimentan condiciones de red muy variadas
  • Herramientas de throttling son esenciales para testing realista
  • Prueba estados de carga, timeouts, logica de reintentos y transiciones de red
  • Atencion especial a pagos, subidas de archivos y funciones en tiempo real durante problemas de red