Siempre pensamos en el diseño de software, pruebas funcionales, CI/CD, pero ¿sabemos cómo se comportará nuestra aplicación si vemos un pico repentino en la carga de tráfico? O ¿qué pasa si hay un tráfico extremo en nuestra aplicación durante la temporada alta de vacaciones, podremos evitar una caída? Para salvarnos de estas condiciones imprevistas de caída, solo las pruebas de rendimiento agresivas y adecuadas pueden ayudar. El enfoque de las pruebas de rendimiento es medir la velocidad, estabilidad, fiabilidad y escalabilidad de una aplicación de software.

  • Velocidad. Determinar qué tan rápido responde la aplicación.
  • Estabilidad. Determinar si la aplicación es estable bajo condiciones de carga variables.
  • Fiabilidad. Determinar si la aplicación puede manejar tolerancia a fallos y recuperación.
  • Escalabilidad. Determinar el número máximo de usuarios concurrentes que la aplicación puede manejar.
Pruebas de carga con JMeter y LoadView

Desde la configuración hasta la ejecución de la prueba en solo minutos.

Pruebas de Rendimiento: Poniendo tu Aplicación a Prueba

Para asegurarnos de que nuestra aplicación sea confiable y resistente ante un aumento brusco en el tráfico, necesitaremos configurar un entorno cercano al tiempo real donde nuestra aplicación sea sometida a una carga agresiva de usuarios concurrentes. Para avanzar con esto, necesitaremos una herramienta de rendimiento que pueda ejecutar los escenarios de prueba con los usuarios deseados y nos ayude a encontrar los cuellos de botella en la infraestructura detrás de la aplicación.

Una vez definamos nuestros requisitos para las pruebas de rendimiento, el siguiente paso es encontrar la solución adecuada que pueda soportar nuestras necesidades de prueba. Hay muchas soluciones y herramientas de pruebas de carga, desde herramientas gratuitas y de código abierto, hasta opciones comerciales altamente complejas que requieren grandes recursos para implementar y ejecutar. Siempre es mejor hacer tu propia investigación para encontrar la que mejor se adapte a ti, sin embargo, encontrar una solución que sea fácil de usar/desplegar, que pueda realizar múltiples tipos de pruebas de carga, que tenga integraciones/soporte para tecnologías populares y que proporcione todos los reportes y métricas necesarias son factores críticos.

Para este artículo, vamos a observar las diferencias generales y básicas entre Gatling y LoadView.

 

Herramientas de Pruebas de Rendimiento: Gatling

Gatling es una herramienta de pruebas de rendimiento de código abierto. El framework Gatling está basado en Scala, Akka y Netty. La herramienta permite a los desarrolladores construir y ejecutar pruebas y gestionar fácilmente sus pruebas localmente o en la nube. Para escribir una prueba con Gatling, necesitamos usar DSL (Lenguaje Específico de Dominio), que es más o menos equivalente a lo que ofrecen JMeter y Tsung. Sin embargo, mientras JMeter y Tsung usan XML con etiquetas específicas para implementar operaciones como bucles, Gatling permite a los usuarios definir clases Scala que ofrecen funcionalidad similar, pero son mucho más legibles.

 

Ventajas de Gatling

  • Compatibilidad. Funciona con casi todos los sistemas operativos y cualquier navegador.
  • Open-source. Como Gatling es de código abierto y utiliza Scala, que tiene un DSL legible para humanos, permite a los desarrolladores crear y ejecutar pruebas de carga con mayor facilidad.
  • Seguimiento de Código. La versionado con Gatling permite a los equipos rastrear y reutilizar código para mejorar la colaboración.
  • Multihilo. La funcionalidad de multihilo, que usa Netty y el toolkit Akka, asegura que no se asigne un hilo nuevo para cada usuario. En cambio, usa un solo hilo para simular una serie de rutas de usuarios.
  • API de Afirmaciones. Permite a los desarrolladores ejecutar muchos tipos de comprobaciones funcionales en paralelo con la prueba.
  • Integración con herramientas CI/CD. Una de las características estándar de Gatling es que puede integrarse en herramientas CI/CD, como Jenkins.
  • Informes. Gatling soporta informes gráficos coloridos e informativos que contienen información valiosa para el análisis.

 

Desventajas de Gatling

  • Soporte limitado de protocolos. Solo soporta pocos protocolos como HTTP, WebSockets, eventos enviados por el servidor y Java Message Service (JMS).
  • Integraciones. No tiene sus propias integraciones de monitoreo de host, tendemos a usar aplicaciones de terceros para el seguimiento.
  • Requisitos de hardware. Usando la versión gratuita, necesitamos tener un servidor que realmente pueda generar la carga pretendida en las pruebas.

 

Herramientas de Pruebas de Rendimiento: LoadView

LoadView es una solución de pruebas de rendimiento basada en la nube que permite a desarrolladores e ingenieros ejecutar pruebas de carga contra sus sitios web, aplicaciones web, servidores web, servicios web, etc. Usando EveryStep Web Recorder, los usuarios pueden crear rápidamente escenarios a través de nuestros sitios y aplicaciones. Luego podemos ejecutar pruebas desde múltiples ubicaciones geográficas sin necesidad de hardware o recursos adicionales. Las pruebas de rendimiento de LoadView se ejecutan en una nube gestionada por LoadView, solo necesitamos activar o iniciar la prueba creando escenarios de prueba en el sitio web de LoadView. Cada vez que ejecutamos una prueba, se despliegan servidores AWS geodistribuidos para generar los usuarios concurrentes requeridos para la prueba de carga. También podemos integrar nuestro escenario de prueba de rendimiento LoadView con nuestras herramientas CI/CD como Jenkins.

 

Ventajas de LoadView

  • Facilidad de uso. Crear un escenario de prueba en LoadView requiere pocos detalles mencionados en el navegador, todas las complicaciones internas de ejecutar un script de prueba, crear servidores y alojar pruebas quedan a cargo de LoadView.
  • EveryStep Web Recorder. El grabador basado en la web proporciona funcionalidad para grabar escenarios de usuario dentro de aplicaciones web y sitios web. El grabador soporta una gran variedad de navegadores y dispositivos de escritorio y móviles y tecnologías usadas para crear aplicaciones dinámicas.
  • Inyectores Virtuales de Carga. Utiliza servidores Amazon Web Services ubicados en más de 15 zonas a nivel mundial.
  • Distribuir la carga de usuarios. La plataforma permite a los usuarios distribuir la carga dependiendo de dónde provengan la mayoría de los visitantes.
  • Informes. Proporciona una visión detallada extensa de planes de ejecución, transacciones por minuto, tiempo promedio de respuesta y detección de errores. Permite revisar el historial y detalles de la prueba en cualquier momento.
  • Integración CI/CD. Soporta integración con Jenkins.
  • Configuración fácil de proxy. Permite probar aplicaciones internas que están detrás de un firewall.
  • Soporte 24/7. Los equipos de soporte están disponibles 24/7 para tus preguntas o problemas.

 

Desventajas de LoadView

  • No es de código abierto. Como LoadView es una herramienta comercial, se requieren tarifas para ejecutar pruebas en la nube. Además, cualquier modificación a las herramientas debe realizarse a través de los canales de soporte adecuados.

 

Comparación: Gatling y LoadView

Veamos algunas de las principales diferencias entre Gatling y LoadView.

 

Aspectos Gatling LoadView
Soporte de aplicación para prueba de carga Gatling soporta HTTP, WebSockets y JMS. LoadView soporta aplicaciones complejas, como Flash, HTML5, Java, PHP, JavaScript, Ruby, Silverlight y más.
Scripting de acciones de usuario Se requiere comprensión básica de Scala y lenguaje DSL. Un grabador fácil de usar que ayuda a grabar escenarios para tus requerimientos específicos.
Ejecución de pruebas Ejecutar pruebas desde tu máquina o un grupo de servidores dedicados. Servidores en la nube completamente gestionados.
Prueba de carga geodistribuida Se requiere configurar servidores inyectores de carga en ubicaciones dedicadas para la prueba. Distribuye fácilmente el tráfico desde las regiones donde se encuentran tus usuarios.
Documentación y soporte Gatling proporciona una guía rápida de inicio y guía del usuario. LoadView tiene una base de conocimientos completa con artículos de soporte y documentación, además de soporte telefónico 24/7.
Precios Gratis de usar porque es de código abierto. LoadView tiene múltiples opciones de precios para satisfacer tus necesidades.
Integración con herramientas CI/CD Soporta plugins de Jenkins. Soporta plugins de Jenkins.
Monitoreo post-producción Necesitamos integrar aplicaciones de terceros, Gatling no proporciona monitoreo en tiempo real. Dotcom-Monitor provee soluciones de monitoreo post-producción para sitios web y aplicaciones, y ayuda a verificar el estado de salud.

 

Conclusión: Herramientas de Pruebas de Rendimiento Gatling vs LoadView

Esta fue una visión general de las herramientas de pruebas de rendimiento LoadView y Gatling. Por supuesto, conforme avanzamos en nuestro camino para lograr una mejor simulación de escenarios de la vida real, sin duda enfrentaremos muchos desafíos y nuevos conocimientos. Gatling y LoadView cumplen su propósito según los requisitos y escenarios de prueba. Hicimos una breve revisión de cada herramienta, sus pros y contras, cubrimos las integraciones con Jenkins y qué diferencia a cada herramienta de la otra. Muchas organizaciones y desarrolladores utilizan herramientas de prueba de carga de código abierto como Gatling, pero los beneficios que ofrece LoadView son inmensamente más poderosos y mejor adaptados para satisfacer las necesidades de desarrolladores e ingenieros de rendimiento.

Prueba LoadView por ti mismo. Recibirás pruebas de carga gratuitas para comenzar. O regístrate para una demostración en vivo gratuita con uno de nuestros ingenieros de rendimiento. Ellos te guiarán a través del proceso de configuración y ejecución de pruebas de carga.