Ya sea que tengas un nuevo sitio web, o que acabes de desarrollar algunas funciones que tus usuarios requieren, ¿cómo aseguras que tu sitio web funcione bien cuando un gran número de usuarios comienzan a interactuar con él? La respuesta es la prueba de carga.  La prueba de carga es una parte vital de las pruebas de rendimiento utilizadas para determinar el comportamiento de un sitio web, aplicación o software bajo condiciones normales y máximas. La prueba de carga proporciona datos útiles que pueden mejorar el rendimiento de tu sitio web e incrementar la estabilidad bajo condiciones de carga esperadas.  Hasta hace poco, las pruebas de carga basadas en protocolos eran el único método para probar el sitio web bajo las condiciones de carga esperadas. A medida que la tecnología y la experiencia del usuario evolucionan, utilizar un navegador Chrome real permite a los probadores usar un entorno más realista necesario para simular usuarios reales y obtener resultados de prueba de carga más precisos. Las aplicaciones modernas dependen en gran medida de contenido dinámico y renderizado del lado del cliente, por lo que la prueba con navegadores reales es crítica para medir con precisión la experiencia del usuario bajo carga.

En este artículo, vamos a hablar sobre los siguientes tres enfoques de pruebas de carga ampliamente utilizados:

  1. Prueba de Carga basada en Navegadores (Usando un navegador Chrome regular)
  2. Prueba de Carga con Navegador sin cabeza
  3. Pruebas de Carga basadas en Protocolos

 

Prueba de Carga basada en Navegador Chrome

La prueba de carga basada en navegadores simula usuarios reales creando instancias regulares del navegador Chrome a través de generadores de carga, y el sitio web bajo prueba se navega con la ayuda de scripts simples. Esto crea un entorno casi idéntico al de los usuarios reales en el mundo real. Los usuarios virtuales en la prueba de carga basada en navegador se llaman Usuarios a Nivel de Navegador (BLU).  Los scripts de prueba de carga basados en navegador contienen instrucciones relacionadas con la navegación real e interacción en el sitio web. Por ejemplo, qué botón hacer clic, dónde navegar, qué información ingresar en los campos de texto, cómo interactuar con un elemento, cuándo interactuar con un elemento, y así sucesivamente. Esto permite a los probadores simular la trayectoria de usuario más idéntica a la de un escenario real.

 

Ventajas de la Prueba de Carga con Navegador Real

 

Perspectiva del Usuario

Los usuarios finales del mundo real interactúan con el sitio web usando navegadores, por ejemplo, en un navegador Chrome real. La prueba de carga basada en navegador te permite probar la carga de tu sitio web con un navegador Chrome regular y entender el comportamiento del usuario en el mundo real. Este enfoque captura el comportamiento real de renderizado, los retrasos de red y el rendimiento frontend que las pruebas basadas en protocolos no pueden medir. 

 

Scripts Simples

Para crear scripts de prueba de carga basados en navegador, no necesitas tener un conocimiento profundo de los protocolos subyacentes. Por ejemplo, si quieres crear una acción de inicio de sesión, sólo necesitas el nombre de usuario y la contraseña para llenar, y qué botón pulsar para continuar, no necesitas saber las tecnicidades de protocolos de autenticación y similares.

 

Menores Complejidades en las Pruebas

A diferencia de otros métodos tradicionales de prueba de carga donde necesitas pasar parámetros y valores, las pruebas de carga basadas en navegador son fáciles de crear e iniciar con scripts optimizados.

 

Optimización del Front-end

La prueba de carga basada en navegador te permite recopilar los datos más precisos del mundo real, como retrasos en la red y solicitudes, ya que tus usuarios también interactúan con tu sitio web usando un navegador regular. Esto ayuda a optimizar tu front-end.

 

Bajo Mantenimiento

Scripts simples y pruebas menos complicadas significan un mantenimiento más fácil y mayor agilidad para la prueba de carga. Por ejemplo, en nuestro ejemplo de inicio de sesión, si cambiamos el protocolo de autenticación, la prueba de carga de inicio de sesión no necesita cambiar ya que no se ve afectada por eso.

 

Desventajas de la Prueba de Carga con Navegador Real

 

Mayor Uso de CPU y Memoria

La prueba de carga basada en navegador usando un navegador Chrome regular, por ejemplo, requiere mayor CPU y memoria para crear instancias para la carga esperada. Sin embargo, esto no debería ser un problema si usas una plataforma de prueba de carga basada en la nube.

 

Tiempo de Ejecución Ocasionalmente Más Largo

La prueba de carga basada en navegador implica renderizar toda la interfaz de usuario del sitio web en una instancia del navegador en lugar de simplemente grabar solicitudes y respuestas de API. Esto puede tomar más tiempo que otros enfoques de pruebas de carga. Sin embargo, esto se compensa con la simplicidad de ejecutar pruebas basadas en navegador y con una excelente herramienta de prueba de carga en la nube.

 

Prueba de Carga con Navegador sin Cabeza

La prueba de carga con navegador sin cabeza implica ejecutar pruebas de carga en un entorno de navegador sin crear una ‘Cabeza’ o interfaz de usuario. Esto significa que las pruebas de carga se ejecutan creando instancias invisibles del navegador sin ninguna Interfaz Gráfica de Usuario (GUI).  La prueba de carga con navegador sin cabeza omite las operaciones de renderizado o dibujo ya que nadie está viendo los navegadores simulados. Te permite ejecutar rápidamente tus pruebas de carga en un entorno de navegador con menos recursos en comparación con la prueba de carga basada en navegador real.  Los ejemplos de navegador sin cabeza incluyen los siguientes:

 

Headless Chrome

El navegador Chrome puede lanzarse en modo sin cabeza con la versión 59 o posterior. Es liviano y menos intensivo en recursos, lo que puede usarse para la navegación, recopilación de información en páginas, generación de PDFs y toma de capturas de pantalla.

 

Headless Firefox

Firefox también ofrece modo navegador sin cabeza desde la versión 56 o posterior. Puede usarse para pruebas básicas con herramientas como Selenium para pruebas sin cabeza y automatización.

 

PhantomJS

PhantomJS es un Webkit sin cabeza flexible que soporta muchos estándares web. La API de JavaScript se usa para escribir scripts de prueba cuando se usa PhantomJS para pruebas. Se usa principalmente para navegación y pruebas de afirmación.

 

Ventajas de la Prueba de Carga con Navegador sin Cabeza

 

Menos Intensivo en Recursos

Como no se renderiza ninguna GUI en el entorno del navegador para pruebas de carga, la prueba de carga con navegador sin cabeza te permite generar más carga con menos recursos.

 

Pruebas en Entorno de Navegador Más Rápidas

Con la prueba de carga con navegador sin cabeza, las pruebas se ejecutan más rápido y obtienes resultados para corregir problemas potenciales rápidamente.

 

Desventajas de la Prueba de Carga basada en Navegador

Capacidades Limitadas del Entorno Navegador

Si bien puedes probar muchos escenarios basados en navegador en la prueba con navegador sin cabeza, no es suficiente para obtener una imagen completa de los usuarios reales que usan navegadores regulares como Chrome.

 

Falta de Monitoreo del Navegador

Algunos escenarios de casos de prueba requieren que veas tus pruebas basadas en navegador, como animaciones, transiciones SPA, etc., para analizar a fondo tus pruebas de carga. Las pruebas con navegador sin cabeza no tienen esta capacidad.

 

Prueba de Carga basada en Protocolos

La prueba de carga basada en protocolos es la forma más tradicional de pruebas de carga simulando el tráfico a nivel HTTP/S en los servidores de carga. Se utiliza principalmente para evaluar e inspeccionar el intercambio de solicitudes y respuestas para la carga esperada en el servidor.  La prueba de carga basada en protocolos es una forma mínima de pruebas de carga, la cual sola no es adecuada para aplicaciones web complejas que se enfocan en la experiencia del usuario.

 

Ventajas de la Prueba de Carga basada en Protocolos

Menos Intensiva en Recursos

La prueba de carga basada en protocolos solo implica generar tráfico de solicitud-respuesta HTTP/S que permite generar una carga muy alta con recursos mínimos.

 

Ejecución Más Rápida

Dado que solo se analiza el tráfico HTTP/S para métricas a nivel de protocolo, la prueba de carga basada en protocolos ofrece una ejecución más rápida para cargas esperadas altas.

 

Desventajas de la Prueba de Carga basada en Protocolos

 

Pruebas Complejas

La creación de scripts para pruebas basadas en protocolos requiere un conocimiento profundo de varios protocolos usados en el nivel HTTP/S, como protocolo Oauth para inicio de sesión. Esto hace que la creación de scripts sea un proceso complejo y que consume mucho tiempo.

 

Entorno Menos Realista

A diferencia de los entornos del mundo real donde los usuarios acceden a tu sitio web con un navegador regular como Chrome, la prueba de carga basada en protocolos no ofrece tales capacidades. No es la opción adecuada para sitios web que se enfocan en la perspectiva del usuario.

 

Falta de Capacidades para Sitios Web Modernos

Los sitios web modernos tienen pilas tecnológicas más complejas ahora con uso intensivo de JavaScript en el navegador y llamadas AJAX, por ejemplo, que limitan la prueba de carga basada en protocolos en muchos escenarios de prueba.

 

LoadView para Pruebas de Carga basadas en Navegadores

Basado en lo que hemos discutido hasta ahora, es evidente que la prueba de carga basada en navegadores es la siguiente evolución de los enfoques de pruebas de carga. Los sitios web y tecnologías actuales se enfocan en experiencias ricas para los usuarios y dependen en gran medida de la interpretación y renderizado del lado del navegador en lugar del servidor. Las aplicaciones de una sola página (SPA) se usan ampliamente ahora con frameworks populares que usan frameworks JavaScript del lado cliente y llamadas AJAX, para poca o ninguna actualización de página para la interfaz de usuario.

LoadView ofrece pruebas de carga basadas en la nube usando navegadores reales como Chrome para crear el entorno más realista para tus escenarios de prueba de carga. Con LoadView, puedes crear scripts fácilmente para diferentes acciones y comportamientos de usuario y ejecutar tus pruebas con pocos clics.

 

Qué Puedes Probar con LoadView

  1. Sitios Web
  2. Aplicaciones de Página Única (SPA)
  3. Servicios/APIs de terceros
  4. Sitios web ricos en medios como servicios de streaming

 

Ventajas y Beneficios de LoadView para Pruebas de Carga con Navegador Real

  1. Crea scripts de prueba fácilmente sin escribir una sola línea de código usando EveryStep Web Recorder para probar la carga de todas tus páginas.
  2. Más de 40 navegadores reales de escritorio/móviles que te permiten probar tus páginas web en prácticamente cualquier dispositivo.
  3. La prueba de carga geodistribuida te permite probar usuarios desde múltiples ubicaciones para resultados más precisos en escenarios del mundo real.
  4. LoadView es amigable para DevOps y ofrece múltiples curvas de prueba para medir el rendimiento y optimizar la aplicación web.

 

Conclusión: Beneficios de la Prueba de Carga con Navegador Real

La prueba de carga basada en navegador es una necesidad para sitios web construidos sobre frameworks modernos y contenido rico en medios.  Las pruebas de carga usando navegadores reales como Chrome, que tiene más del 65% de la cuota de mercado, te proporcionan muchos resultados de rendimiento para optimizar rápidamente tu sitio web. Sin embargo, no deberías limitarte solo a Chrome para las pruebas de carga o a un solo dispositivo. Tener la capacidad de probar tu sitio web en prácticamente cualquier navegador o dispositivo desde múltiples ubicaciones geográficas te dará una visión integral sobre tus pruebas para analizar y optimizar tu sitio web para la carga esperada.

Prueba LoadView hoy. Recibe pruebas de carga gratuitas para comenzar con tus pruebas de carga basadas en navegador Chrome.