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
| Condicion | Velocidad | Latencia | Escenario Real |
|---|---|---|---|
| Sin red | 0 | N/A | Modo avion, subterraneo |
| 2G (EDGE) | 50-200 Kbps | 300-1000ms | Areas rurales |
| 3G | 0.5-5 Mbps | 100-500ms | Areas suburbanas |
| 4G LTE | 5-50 Mbps | 30-100ms | Areas urbanas |
| 5G | 50-1000+ Mbps | 1-10ms | Areas urbanas selectas |
| WiFi lento | 1-5 Mbps | 10-50ms | Cafeterias, hoteles, aeropuertos |
Herramientas de Throttling de Red
iOS Network Link Conditioner
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:
- Enviar mensaje en 2G
- Recibir mensajes al cambiar de WiFi a celular
- Subir foto con 20% de packet loss
- Comportamiento con respuesta 503 del servidor
Solucion
Envio en 2G: Usar Charles Proxy a 50Kbps/500ms. Verificar estado “enviando”, transicion a “enviado”, timeout con reintento despues de 30s.
Transicion WiFi-celular: Iniciar en WiFi, cambiar a celular. Verificar: sin mensajes perdidos, nuevos mensajes en 5s, reconexion WebSocket automatica.
Subida con packet loss: Configurar Charles con 20% fallo. Verificar: reintento automatico, barra de progreso precisa, cancelacion posible.
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