Blog

JMeter DSL, la historia de la más reciente innovación en Testing de Software de Abstracta

¿Cómo nació JMeter DSL? ¿Por qué es tan importante esta innovación en testing de software? ¿Qué se espera de ella? Entérate de todo sobre la historia de JMeter DSL, la innovación más reciente de Abstracta, liderada por Roger Abelenda.

JMeter DSL es una librería que facilita el uso de JMeter mediante código.

Tal como ya te contamos en este artículo, lograr innovaciones en testing de software es crucial en el camino de Abstracta, como aporte para la industria IT y para mejorar la calidad de los sistemas digitales, con influencia directa en la vida de la comunidad global.

Con este sentido, el testing de performance cobra especial protagonismo, para poder evaluar el rendimiento de cualquier aplicación, sin excepción y bajo diferentes condiciones. Para asegurar la mejor experiencia posible a los usuarios, incluso en sistemas complejos y en momentos de alta demanda.

Según Business Wire, el 88% de los estadounidenses tiene sentimientos negativos hacia las marcas con sitios web y Apps móviles de bajo rendimiento. Estos sentimientos negativos están asociados a la molestia, la frustración, la desconfianza y el enfado. De este modo, el testing de performance tiene cada día mayor relevancia en la creación de software de calidad.

JMeter DSL es la más reciente innovación en testing de software desarrollada por Abstracta, y es sin dudas una gran aliada para el testing de performance. Lanzada en 2020, se trata de una librería que facilita el uso de JMeter mediante código, agregando además nuevas funcionalidades.

“JMeter DSL confirma a Abstracta como una empresa innovadora, con conocimientos y experiencia sólida en performance testing y en particular en JMeter, con capacidad de desarrollar soluciones adecuadas para mejorar procesos existentes”.

Roger Abelenda, Chief Technology Officer de Abstracta y líder del desarrollo de JMeter DSL.

Con esto en foco, conversamos con Roger, para comprender a fondo la relevancia de esta innovación para la industria IT.

Roger Abelanda, CTO de Abstracta Inc.

¿Cómo nació la idea de crear JMeter DSL?

Fue hace ya varios años, antes de formar parte de Abstracta, cuando yo participaba del desarrollo de algunas herramientas que requerían pruebas frecuentes de carga y performance debido a la criticidad y el volumen de datos que manejaban. Usando JMeter me resultaba bastante lento, difícil de modularizar, mantener y compartir los tests plans, además que la manera de ejecutar los tests en el pipeline de desarrollo no era óptimo.

En ese momento, pensé que algo tenía que haber al respecto sin tener que migrar a otro lenguaje y/o entorno, como requería Gatling. Algunas soluciones existían, como Ruby-DSL y Taurus, entre otros, pero requerían incorporar un nuevo lenguaje o aprender nuevamente cosas que ya sabía cómo hacer con JMeter.

¿Cómo fue que se dio espacio a esto en Abstracta?

Luego de unos años, ya siendo parte de Abstracta, volví a experimentar las mismas necesidades. Vimos problemas relacionados con esto en algunos equipos de Abstracta, por lo que decidí hacer una POC (prueba de concepto). Se la presenté al CEO de Abstracta, y decidimos publicarla como código abierto para ver si la comunidad se enganchaba con la idea. La primera versión fue liberada el 13 de agosto del 2020.

¿De qué formas Abstracta ha fomentado esta innovación en testing de software?

El C-suite ha colaborado con la visión, priorización y promoción del mismo como forma de fomentar la innovación. Los equipos de performance y desarrollo han sido gran parte del desarrollo de la herramienta, ayudando en el diseño y priorización de funcionalidades, introducción de buenas prácticas, escritura de blogs, etc.

Actualmente, dedico parte de mi tiempo al diseño e implementación de funcionalidades, además de atender dudas y pedidos de la comunidad. También participo de webinars y escribo blogs para hacer conocer la herramienta.

¿Cómo ha sido la recepción por parte de la comunidad de testing?

La verdad es que hemos recibido muy buena recepción. Han sido parte importante de múltiples procesos, no solo en la difusión mediante blogs y videos, sino en el mismísimo desarrollo. ¿De qué modo? Pidiendo funcionalidades y mejoras, reportando bugs, generando discusiones, ayudando en el diseño y priorización de funcionalidades, compartiendo contenidos en el canal de discord y mandando pull requests con código para incorporar en la librería.

Es justamente debido a esto que seguimos invirtiendo en mejorar el DSL. Aún así, todavía estamos buscando más colaboración de la comunidad, para que más personas se involucren y conozcan la solución.

¿Por qué más personas deberían involucrarse? ¿De qué modo ayuda esta innovación al desarrollo de software de calidad?

JMeter DSL permite integrar pruebas de performance en manera continua en los pipelines de desarrollo existentes con mayor facilidad, promoviendo shift left testing. Además, facilita la aplicación de conocimientos, conceptos de ingeniería y desarrollo de software al desarrollo y mantenimiento de pruebas de performance de JMeter.

¿Por qué decidieron llevar adelante JMeter DSL como una contribución open source?

Lo que buscamos con JMeter DSL principalmente es tratar de facilitar la implementación de pruebas de performance y acercarlas a la mayor cantidad de público que podamos para, en general, mejorar la calidad de todas las aplicaciones que desarrollamos y usamos en el día a día. Buscamos la colaboración de la comunidad, para cocrear la mejor solución posible para todos, y pensamos que la mejor forma de lograr esto es mediante código abierto.

Finalmente, buscamos devolver a la comunidad algo, mediante un código y conocimiento incluido en el mismo y en su documentación, a cambio de todas las soluciones que utilizamos en el día a día que son de código abierto, que son la base de tantos proyectos en los que trabajamos.

¿Cada cuánto tiempo se realizan nuevas liberaciones y en qué consisten los cambios?

No tenemos un ciclo de release estable, vamos liberando funcionalidades y bug fixes tan pronto como los tenemos disponibles. En promedio, realizamos un release por semana, pero hay semanas de varios releases y otras sin releases. Apostamos a implementar funcionalidades que demuestren una necesidad de parte de los usuarios.

Tenemos muchas ideas en nuestro backlog de cosas que nos parece que podrían ser interesantes implementar, pero en la mayoría de los casos preferimos esperar y que los usuarios reporten las necesidades. Muchos de los releases que hacemos se basan en esos pedidos.

¿Por qué prefieren esperar en lugar de anticiparse?

Porque de ese modo evitamos sobrecargar la herramienta con funcionalidades que tal vez no sean tan usadas. Priorizamos ante todo las necesidades de los usuarios. Esto nos permite no solo priorizar el trabajo y el esfuerzo invertido, sino también documentar la razón de ser de cada componente e involucrar a la comunidad haciéndola partícipe del desarrollo de la herramienta.

¿A través de qué medios pueden realizar aportes los usuarios?

Siempre insistimos en que los usuarios entren al repositorio y pidan cosas que consideren útiles o necesarias. Además, le prestamos especial atención a las estrellas en GitHub. Las consideramos como una buena medida para entender qué tanto interés hay de la comunidad en la herramienta, además de fomentar la visibilidad del proyecto.

¿Cuáles son las expectativas a futuro con JMeter DSL?

Esperamos que sea la principal alternativa para hacer pruebas de performance desde código, uno de los componentes fundamentales en el stack de herramientas asociadas a JMeter y la principal alternativa a la interfaz gráfica de JMeter, a la cual consideramos como una muy buena alternativa para muchos usuarios.

¿Da algún rédito económico a Abstracta JMeter DSL?

No. El principal motivo de que Abstracta invierta en JMeter DSL, en conjunto con otras iniciativas existentes, es alimentar su naturaleza innovadora, que se remonta a su primer producto, GXTest con más de 14 años en el mercado. Y se refleja también en sus spin offs.

Esto nos permite continuar con nuestro compromiso de volcar nuestros conocimientos y experiencia, en este caso de performance y en particular en JMeter, posicionándonos como referentes y contribuyendo a la comunidad ayudando en la eficiencia de procesos existentes y la entrega de software de mejor calidad.

¡Síguenos en LinkedinTwitterFacebook, Instagram y Youtube para ser parte de nuestra comunidad y enterarte de nuestras próximas innovaciones!


¿Estás buscando un partner para realizar pruebas de performance? Abstracta es una de las empresas más confiables en ingeniería de calidad de software.

Conoce nuestras soluciones de testing de performance y contáctanos para conversar sobre cómo podemos ayudarte a que tus sistemas y apps sean robustas y confiables, incluso ante las más altas exigencias de tráfico.


Otros contenidos relacionados

¿Cuáles son los tipos de pruebas de rendimiento?

¿Cuándo es el mejor momento para comenzar con las Pruebas de Performance?

Testing de Performance, la llave maestra para mejorar tu Software

Threads Virtuales: JMeter y Project Loom

157 / 175