Cómo Utilizar Proxies en el Testeo de Aplicaciones

Compartir:
Proporciona estrategias prácticas para garantizar la calidad de tus aplicaciones en mercados diversos con la utilización de un proxy.

El Rol Fundamental del Proxy en el Testeo de Aplicaciones

Las pruebas de software han evolucionado significativamente en los últimos años, especialmente debido a la creciente demanda de aplicaciones web en lugar de aplicaciones de software independientes. Con esta transición, surge la necesidad de probar el software en múltiples dispositivos y ubicaciones.

Además, es esencial monitorear el tráfico HTTP/HTTPS para garantizar la seguridad de las aplicaciones web. En este artículo, exploraremos cómo el uso de un proxy en el testeo de software puede convertirse en una herramienta fundamental para potenciar tus procesos de prueba.

¿Que es un servidor proxy?

Un proxy es un servidor intermediario que actúa como un punto de contacto entre tu computadora y la Internet. Al usar un Proxy, tu dirección IP se oculta, pero el tráfico de tu red no se encripta. Los Proxies también pueden ayudarte a acceder a contenido bloqueado geográficamente y pueden ser útiles para mejorar la velocidad de conexión a Internet.

Visión General de las Pruebas Localizadas

Como hemos mencionado anteriormente, las aplicaciones web modernas requieren pruebas en múltiples ubicaciones. Supongamos que tienes un sitio web alojado en los Estados Unidos que vende regalos que se pueden pedir desde cualquier parte del mundo y luego ser entregados en tu puerta.

Según los requisitos del sitio web, si un visitante o cliente visualiza los precios de los productos con una IP de Estados Unidos, debería mostrar el precio en dólares estadounidenses. En cambio, si un cliente ve el sitio desde cualquier lugar de Europa, debería mostrar el precio en euros. Otro ejemplo prominente sería que el mismo sitio web aparezca en diferentes idiomas según el país.

En el caso del ejemplo de precios, si un desarrollador web se encuentra en Estados Unidos, ¿cómo puede estar seguro de que el precio aparecerá en euros para las personas que lo visualizan desde Europa? La respuesta radica en el uso de un proxy francés, italiano u otro desde la región de la Unión Europea. Con esto, te presentamos los tests localizadas.

Tests Localizadas: Desafíos y Soluciones con Proxies en el Testeo de Software

¿Qué es el testeo localizado? El término "localización" se refiere a adoptar el idioma y la cultura locales del mercado objetivo a través de un sitio web. Sin embargo, la localización va mucho más allá de los dos pequeños ejemplos mencionados anteriormente, como la traducción de texto y las monedas locales. Esto se debe a que incorpora requisitos de diseño más amplios, productos o servicios, y campañas de marketing y publicidad.

Por lo tanto, los tests de localización se definen como asegurar que una aplicación web o software esté localizada correctamente. Aquí es donde los proxies pueden ser útiles. Pero antes de centrarnos en ello, concentrémonos en algunos de los desafíos significativos de los tests localizados.

Desafíos Enfrentados al Probar para la Localización

Garantizar que las monedas locales, idiomas y otros materiales promocionales se muestren correctamente para todas las ubicaciones/países a los que atiende tu sitio web es un desafío. Por ejemplo, si necesitas asegurarte de que tu sitio web funcione y esté disponible desde Tokio hasta Los Ángeles (pasando por Europa) y desde Moscú hasta Ciudad del Cabo, podrías optar por hacer cualquiera de las siguientes opciones:

-Contratar colegas para la mayoría de las regiones y probar manualmente tu aplicación web. Sin embargo, no es factible y no escalaría.

-Externalizar el trabajo a un servicio de pruebas global, lo que resultará costoso.

-Configurar “switches” o “flags”.

Con este método, por ejemplo, si deseas ver la versión china del sitio web, podrías configurar el código de la siguiente manera en tu sitio web en un botón o con una “flag”:

IF idioma=cn Entonces
  mostrar contenido chino
Fin IF.

Configurar “flags” como la anterior es más accesible pero no devolverá resultados de prueba precisos. Para experimentar el sitio web como lo harían tus visitantes, necesitas acceder al sitio web desde una geo localización precisa.

Uso de Proxies en Pruebas Localizadas Automatizadas para Superar Desafíos

Como discutimos en la sección anterior, contratar testers para diferentes ubicaciones no será escalable. Además, si tu contenido localizado no se muestra correctamente, corres el riesgo de perder una cantidad sustancial de tus ventas. Sin embargo, al utilizar servidores proxy, la escalabilidad se convierte en una realidad.

Cuando empleas proxies desde diversas ubicaciones para probar cómo se comporta tu sitio web en diferentes países, puedes ver claramente cómo cambia el contenido del sitio web para cada ubicación.

Además, puedes utilizar un controlador automatizado como Selenium para automatizar tus pruebas de localización. En la suite de pruebas de localización impulsada por Selenium, cada prueba genera una solicitud HTTP para un controlador de navegador, un programa que imita un navegador web estándar.

El controlador ejecuta estas pruebas a través de múltiples proxies y envía los resultados localizados de vuelta a la prueba.

¿Qué Tipos de Proxies son los Mejores para los Tests de Localización?

Para los tests localizados, los proxies residenciales tienen una gran ventaja sobre otros proxies, como los proxies de centro de datos. Esto se debe a que los proxies residenciales son direcciones IP de propietarios residenciales reales y, por lo tanto, sus direcciones IP parecen auténticas. También puedes elegir proxies residenciales de diversas ubicaciones para probar tu sitio web en todas las ubicaciones y verificar si aparece como se espera en dichos lugares.

En cambio, con los proxies de centro de datos, no tienes la opción de conectarte con diversas ubicaciones de todo el mundo. Su dirección IP pertenece a servidores en la nube.

Puedes obtener más información sobre las diferencias entre estos dos tipos de proxies en este artículo.

Monitoreo del Tráfico HTTP/HTTPS

Además de los tests de localización, también puedes utilizar proxies para monitorear el tráfico HTTP/HTTPS entre el servidor y el cliente. Dado que los servidores proxy dependen del tipo de protocolo, necesitarás diferentes tipos de protocolos al trabajar con distintos tipos de proxies.

Las aplicaciones y los servicios basados en la nube interactúan frecuentemente con el protocolo HTTP. Así que, para las pruebas de aplicaciones, puedes usar proxies para:

1. Registrar y analizar el tráfico entre la aplicación que estás probando y el servidor.

2. Editar las solicitudes de la aplicación y las respuestas que recibes del servidor.

3. Cambiar el ancho de banda de la conexión a Internet.

Lo que puedes hacer depende del tipo de proxy que utilices para las pruebas. Por ejemplo, podrías utilizar un servidor proxy convencional para verificar la disponibilidad del proxy en múltiples ubicaciones y su rendimiento.

En la mayoría de los escenarios, como testers, no saben desde qué parte del mundo usarán exactamente su aplicación. Por lo tanto, es imposible predecir a qué servicio de almacenamiento en la nube de terceros se conectará tu aplicación. Por lo tanto, al probar aplicaciones de almacenamiento en la nube, debes tener en cuenta que el comportamiento del almacenamiento en la nube difiere de una región a otra.

Así que puedes usar un servidor proxy para monitorear el tráfico de todas las aplicaciones conectadas a Internet o solo de una aplicación específica.

Beneficios Claves de Probar tu Aplicación Web con Proxies

Hasta ahora, has aprendido sobre los tests de localización y el monitoreo del tráfico HTTP/HTTPS mediante el uso de proxies. Sin embargo, este artículo no estaría completo si no incluyéramos los beneficios de utilizar proxies para las pruebas:

-Limitación de los tests a sola una Aplicación: En lugar de configurar todo el sistema operativo para testing, un servidor proxy te permite configurar el uso de una aplicación específica para los testeos. Mientras una aplicación se conecta a un proxy en una ubicación diferente, otras aplicaciones se conectarán a sus servicios esenciales. Esta técnica ahorra tiempo al evitar retrasos innecesarios con el software de test.

-Diversidad de Ubicaciones Geográficas: Las pruebas con proxies desde diferentes ubicaciones garantizan el rendimiento y la accesibilidad del sitio web.

-Pruebas Paralelas: Puedes configurar un servidor proxy para probar cada aplicación que abras. Esta técnica no causará interferencias entre ellas y reducirá el tiempo necesario para realizar los tests, ya que podrás ejecutar una serie de casos de prueba.

-Acceso Ininterrumpido: Dado que algunos sitios web implementan mecanismos anti-bot para prohibir direcciones IP, los proxies evitan que los sitios web sean bloqueados. Este es un excelente beneficio, ya que no quieres que tus sitios web sean bloqueados durante los tests.

-Compatibilidad con Proxies: Muchos usuarios han estado utilizando proxies HTTP durante décadas. Es probable que las aplicaciones que estás utilizando admitan proxies HTTP. Además, pueden integrarse como parte de tu suite de pruebas en lugar de ser un comando adicional.