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 tráfico extremo en nuestra aplicación durante la temporada alta de vacaciones, podremos evitar que nos desatrajemos? Para salvarnos de estas condiciones imprevistas de bajar, sólo las pruebas de rendimiento agresivas y adecuadas pueden ayudar. El objetivo de las pruebas de rendimiento es medir la velocidad, estabilidad, fiabilidad y escalabilidad de una aplicación de software.

  • Velocidad. Determine la rapidez con la que responde la aplicación.
  • Estabilidad. Determine si la aplicación es estable en condiciones de carga variable.
  • Fiabilidad. Determine si la aplicación puede controlar la tolerancia a errores y la recuperación.
  • Escalabilidad. Determine el número máximo de usuarios simultáneos que la aplicación puede controlar.

 

Pruebas de rendimiento: Poner a prueba la aplicación

Para asegurarnos de que nuestra aplicación depende del rendimiento y es confiable debido al fuerte aumento del tráfico, tendríamos que configurar un entorno cercano a en tiempo real donde nuestra aplicación se somete a una carga agresiva de usuarios simultáneos. Para llevar esto adelante, necesitaríamos una herramienta de rendimiento que pueda ayudar a ejecutar los escenarios de prueba con los usuarios deseados y puede ayudarnos a encontrar cuellos de botella en la infraestructura detrás de la aplicación.

Una vez que hayamos descubierto nuestros requisitos de pruebas de rendimiento, el siguiente paso es encontrar la solución adecuada que pueda soportar nuestros requisitos de prueba. Hay muchas soluciones y herramientas de pruebas de carga, desde herramientas gratuitas de código abierto hasta opciones comerciales altamente complejas que requieren recursos importantes para implementar y ejecutar. Siempre es mejor hacer su propia investigación para encontrar cuál es la mejor para usted, sin embargo, encontrar una solución que sea fácil de usar / spin up, puede realizar múltiples tipos de pruebas de carga, tiene integraciones / apoya tecnologías populares, y proporciona todos los informes necesarios y las métricas son todos factores críticos.

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

 

Herramientas de prueba de rendimiento: Gatling

Gatling es una herramienta de prueba de rendimiento de código abierto. El marco Gatling se basa en Scala, Akka y Netty. La herramienta permite a los desarrolladores crear y ejecutar pruebas y administrar fácilmente sus pruebas localmente o en la nube. Para escribir una prueba con Gatling, necesitamos usar DSL (Domain Specific Language), es más o menos igual a lo que JMeter y Tsung ofrecen. Sin embargo, mientras que JMeter y Tsung usan XML con sus etiquetas específicas para implementar operaciones como bucles, Gatling permite a los usuarios definir clases de Scala que ofrecen una funcionalidad similar, pero son mucho más legibles.

 

Ventajas de Gatling

  • Compatibilidad. Funciona con casi todos los sistemas operativos y cualquier navegador.
  • Código abierto. Dado que Gatling es de código abierto y utiliza Scala, que tiene DSL legible por humanos, permite a los desarrolladores hacer cajas y ejecutar pruebas de carga más fácilmente.
  • Seguimiento de código. El control de versiones con Gatling permite a los equipos realizar un seguimiento y reutilizar el código para una mejor colaboración.
  • Multithreading. La característica multithreading, que utiliza Netty y el kit de herramientas de Akka, garantiza que no se designe un nuevo subproceso para cada usuario. En su lugar, utiliza un único subproceso para simular una serie de rutas de usuario.
  • API de aserciones. Permite a los desarrolladores ejecutar muchos tipos de comprobaciones funcionales junto con la prueba.
  • Integración con herramientas CI/CD. Una de las características estándar de Gatling es que se puede integrar en herramientas de CI/CD, como Jenkins.
  • Informes. Gatling es compatible con informes gráficos coloridos e informativos que contienen información valiosa para el análisis.

 

Desventajas de Gatling

  • Soporte de protocolo limitado. Admite muy pocos protocolos como HTTP, WebSockets, eventos enviados por el servidor y Java Message Service (JMS)
  • Integraciones. No tiene sus propias integraciones de supervisión de host, tendemos a utilizar aplicaciones de terceros para realizar un seguimiento.
  • Requisitos de hardware. Usando la versión gratuita, necesitamos tener un servidor que realmente pueda generar carga que está pensada fuera de las pruebas.

 

Herramientas de prueba de rendimiento: LoadView

LoadView es una solución de pruebas de rendimiento basada en la nube que permite a los desarrolladores e ingenieros ejecutar pruebas de carga en sus sitios web, aplicaciones web, servidores web, servicios web, etc. Con EveryStep Web Recorder, los usuarios pueden crear rápidamente scripts de escenarios a través de nuestros sitios y aplicaciones. A continuación, podemos ejecutar pruebas desde varias ubicaciones geográficas sin necesidad de hardware o recursos adicionales. Las pruebas de rendimiento de LoadView se ejecutan en una nube administrada por LoadView, solo necesitamos desencadenar o iniciar la prueba mediante la creación de escenarios de prueba en el sitio web de LoadView. Cada vez que ejecutamos una prueba, los servidores de AWS distribuidos geográficamente se hilan para generar los usuarios simultáneos necesarios para la prueba de carga. También podemos integrar nuestro escenario de prueba de rendimiento LoadView con nuestras herramientas de CI/CD como Jenkins.

 

Ventajas de LoadView

  • Facilidad de uso. La creación de un escenario de prueba en LoadView necesita pocos detalles que se mencionarán en el explorador, LoadView se ha asumidon todas las complicaciones internas de ejecutar un script de prueba, crear servidores y hospedar pruebas.
  • EveryStep Web Recorder. El grabador basado en web proporciona escenarios de usuario de registro de funcionalidad dentro de aplicaciones web y sitios web. La grabadora es compatible con una gran cantidad de navegadores y dispositivos de escritorio y móviles y es compatible con tecnologías que se utilizan para crear aplicaciones dinámicas.
  • Inyectores de carga virtual. Utiliza servidores de Amazon Web Services ubicados en más de 15 zonas de todo el mundo.
  • Distribuir carga de usuario. La plataforma permite a los usuarios distribuir la carga dependiendo de la procedeción de la mayoría de los visitantes.
  • Informes. Proporciona una amplia descripción detallada de los planes de ejecución, la transacción por minuto, el tiempo medio de respuesta y la detección de errores. Nos permite revisar el historial de pruebas y los detalles en cualquier momento.
  • Integración CI/CD. Admite la integración con Jenkins.
  • Configuración de proxy fácil. Pruebe las aplicaciones internas que están detrás del firewall.
  • Soporte 24/7. Los equipos de soporte están disponibles las 24 horas del día, los 7 días de la semana para sus preguntas o problemas.

 

Desventajas de LoadView

  • No de código abierto. Como LoadView es una herramienta comercial, hay cargos necesarios para ejecutar pruebas en la nube. Además, cualquier modificación de los instrumentos tendría que hacerse a través de los canales de apoyo adecuados.

 

Comparación: Gatling y LoadView

Echemos un vistazo a algunas de las principales diferencias entre Gatling y LoadView.

 

Perspectivas Gatling LoadView
Soporte de aplicaciones de prueba de carga Gatling admite HTTP, WebSockets y JMS. LoadView admite aplicaciones complejas, como Flash, HTML5, Java, PHP, JavaScript, Ruby, Silverlight y más.
Acciones del usuario de scripting Se requiere una comprensión básica del lenguaje Scala y DSL. Un grabador fácil de usar que ayuda a registrar escenarios para sus requisitos específicos.
Ejecuciones de pruebas Ejecute pruebas desde su máquina o un grupo de servidores dedicados Servidores en la nube totalmente administrados
Prueba de carga distribuida geográficamente Se requiere la instalación de servidores de inyector de carga en una ubicación dedicada para probar Distribuya fácilmente el tráfico desde las regiones en las que se encuentran los usuarios.
Documentación y soporte Gatling proporciona un inicio rápido y una guía del usuario. LoadView tiene una base de conocimiento completa de artículos de soporte y documentación, así como soporte de guardia las 24/7.
Precios Libre de usar ya que es de código abierto LoadView tiene varias opciones de precios para satisfacer sus necesidades.
Integración con herramientas CI/CD Soporta plugins Jenkins Soporta plugins Jenkins
Monitoreo de postproducción Necesitamos integrar aplicaciones de terceros, Gatling no proporciona monitoreo en tiempo real. Dotcom-Monitor proporciona soluciones de supervisión de postproducción para sitios web y aplicaciones, y ayuda a comprobar el estado de mantenimiento.

 

Envolviendo: Herramientas de prueba de rendimiento Gatling vs LoadView

Esta fue una visión general de las herramientas de pruebas de rendimiento LoadView y Gatling. Por supuesto, a medida que avanzamos en nuestro camino para lograr un mejor ajuste a la simulación de escenarios de la vida real, sin duda nos encontraremos con muchos desafíos y nuevos conocimientos. Gatling y LoadView cumplen su propósito en función de los requisitos y escenarios de prueba. Echamos un breve vistazo a cada herramienta, los pros y los contras, cubrimos las integraciones con Jenkins, y lo que diferencia cada herramienta de la otra. Muchas organizaciones y desarrolladores utilizan herramientas de pruebas de carga de código abierto como Gatling, pero los beneficios que proporciona LoadView son inmensamente más potentes y más adecuados para satisfacer las necesidades de los desarrolladores e ingenieros de rendimiento.

Pruebe LoadView por sí mismo durante 30 días. Recibirá $20 en créditos de pruebas de carga para comenzar. O regístrese para obtener una demostración en vivo gratuita con uno de nuestros ingenieros de rendimiento. Le guiarán a través del proceso de configuración y la ejecución de la prueba de carga.