Introducción
Existen infinidad de herramientas para probar el rendimiento de tu web, cada una de ellas tiene sus pros y sus contras, e independientemente de eso probablemente terminarás eligiendo la que ya conoces y con la que te sientes más cómodo.
En este post hablaremos sobre una herramienta que hemos conocido recientemente. Nos referimos a Taurus.
¿Qué es Taurus?
Supongo que podemos definir Taurus como un framework de tests de rendimiento creado para ayudarte a escribir tus scripts de tests de una manera más fácil que los scripts habituales de JMeter o Selenium. Esto se hace creando un archivo yaml, que puede ser tan simple o tan complejo como desees o necesites. Incluso puede ejecutar scripts JMeter o Selenium existentes, por lo que te puedes imaginar lo potente que pueden llegar a ser tus tests.
Es de código abierto y ha sido desarrollado por los creadores de Blazemeter.
Complemento del navegador
Existe el complemento Blazemeter que está disponible para Chrome y puedes usarlo para registrar tu sesión de navegación. Presiona el botón para comenzar y simplemente navega por tu sitio web para que pueda simular esta sesión en tus tests.
Puedes descargar la sesión como un script Jmeter o Selenium. E incluso como un archivo de configuración de Taurus, por lo que no sería necesario escribir una sola línea de código.
Instalación
En primer lugar, dependiendo de tus recursos y requisitos para los tests, puedes instalar Taurus en tu propia máquina o en un servidor. Existen múltiples métodos pero te mostraremos los dos que consideramos mejores.
Si quieres ir rápido o simplemente no tienes otra máquina a tu disposición, puedes usar la imagen de Docker de Taurus.
Por otro lado, si necesitas realizar tests que exigen recursos o si necesitas ejecutar tests de forma regular, probablemente deberías instalar Taurus en un servidor de tu proveedor de cloud favorito. En este caso, recomendaría usar el paquete de Python en su lugar, ya que probablemente querrás hacer el mejor uso posible de los recursos de tu máquina.
Docker
https://gettaurus.org/docs/Installation/
Como dije anteriormente este sería mi método preferido para la instalación en mi máquina. Probablemente tengas Docker instalado en tu sistema, por lo que solo necesitas ejecutar::
docker pull blazemeter/taurus
Gestor de paquetes de Python
sudo apt-get update sudo apt-get install python3 default-jre-headless python3-tk python3-pip python3-dev libxml2-dev libxslt-dev zlib1g-dev net-tools sudo python3 -m pip install bzt
Efectuando los tests
Dependiendo del método de instalación deberás ejecutar la herramienta de línea de comandos o Docker para realizar los tests.
-
bzt my_test.yml
-
docker run --rm -v :/bzt-configs -v :/tmp/artifacts blazemeter/taurus my_test.yml
De todos modos, la parte importante está en el archivo yaml donde reside la declaración del test y la configuración. Un yaml simple podría ser algo así:
execution:
- concurrency: 10 ramp-up: 1m hold-for: 5m scenario: quick-test scenarios: quick-test: default-address: https://myweb.com think-time: 3s keepalive: true requests: - /test.php - /anotherpage.php
Esto ejecutará un test durante 5 minutos con 10 usuarios simulados (o threads) que realizarán dos solicitudes con un retraso de 3 segundos entre cada una. Durante el test puedes ver una interfaz de usuario para seguirlo:
Pero la mejor parte son los informes online. Puedes obtener un informe html interactivo que se subirá a la web de Blazemeter con solo agregar lo siguiente al archivo yaml.
reporting: - module: blazemeter report-name: My test test: Taurus test project: My web upload-artifacts: false # upload artifacts when test is finished
Al final de la prueba obtendrás una dirección web y tu informe debería verse así:
Como se mencionó anteriormente, puedes ejecutar scripts JMeter existentes, la sintaxis de configuración sería así.
execution: - concurrency: 10 ramp-up: 1m hold-for: 5m scenario: jmeter sample scenarios: jmeter sample: script: tests/jmx/session1.jmx
Por supuesto, puedes ejecutar varios escenarios en la misma prueba, o incluso ejecutarlos en paralelo en varias máquinas. Pero podemos dejar este y quizás otros temas más avanzados para otra publicación.
Conclusión
Taurus es un framework de tests web potente y flexible, y espero que lo hayas podido comprobar en este post. Es difícil pensar en un escenario de tests en el que Taurus no pueda ser útil, puede realizar pruebas web muy complejas pero también puede realizar de forma sencilla las más básicas, incluso puedes usar el complemento de Chrome para obtener el archivo de configuración hecho para ti si no quieres escribir ni una línea de código, si bien la sintaxis del archivo de configuración es fácil e intuitiva de aprender.
Para concluir, si tienes alguna duda sobre este tema o simplemente necesitas de nuestros servicios, visita nuestra web y contáctanos, ¡estaremos encantados de ayudarte!