JMeter DSL, uma ferramenta inovadora para testes de desempenho

O que é o JMeter DSL, que melhorias ele traz em relação ao JMeter e que novas funcionalidades oferece? Esta contribuição open source desenvolvida pela Abstracta já é usada por pessoas de diferentes partes do mundo, como Estados Unidos, Índia, Rússia, Ucrânia e China, e é baixada cada vez mais a cada dia. Descubra tudo neste artigo.

Código do JMeter DSL

Publiquei recentemente um texto em que falava da importância de avaliar o desempenho de qualquer aplicação, sem exceção e em diferentes condições. O objetivo é claro e concreto: evitar quedas, garantir a experiência do usuário correta e melhorar a qualidade do software.

Sem dúvida, uma ferramenta muito útil para alcançar esse objetivo é o JMeter DSL, uma inovação que fizemos na Abstracta em relação ao JMeter, com algumas melhorias e novos recursos.

Primeiro, vou explicar o que é o JMeter em termos gerais e, depois, entrar em detalhes sobre as novas possibilidades que temos agora com o JMeter DSL, para mostrar todo o potencial dessa inovação tão promissora.

JMeter

O JMeter é uma ferramenta que permite desenhar e executar testes de desempenho por meio de uma interface gráfica, sem necessidade de conhecimentos de programação. Essa característica o torna muito atraente para muitos usuários, embora também traga algumas desvantagens.

À medida que começamos a desenhar planos de teste complexos, a complexidade de gerenciá-los com a interface oferecida, de trabalhar colaborativamente no plano de teste, de visualizar o plano inteiro de forma rápida e fácil e de ganhar velocidade no design, entre outros pontos, fica evidente. Além disso, para as equipes de desenvolvimento, é tedioso ter de interagir com uma interface fora do ambiente de desenvolvimento em que estão.

Integrar o JMeter a um ambiente de integração contínua exige passos adicionais que normalmente não são necessários com outros tipos de testes. Felizmente, muitos desses problemas são resolvidos com facilidade por outras soluções, como o Gatling ou o K6. Como? Usando código, que tem propriedades e ferramentas desenvolvidas que ajudam em todos os aspectos acima.

No entanto, essas ferramentas têm algumas limitações: exigem mudar de linguagem ou aprender a programar; têm algumas funcionalidades pagas; e não dão suporte a algumas funcionalidades que o JMeter oferece. Além disso, não há tanto conhecimento e documentação sobre elas.

O JMeter oferece uma API que permite desenhar e executar testes a partir de código. Mas essa API exige muito código para desenhar e executar testes simples. Além disso, é preciso ter conhecimento avançado do JMeter e do seu código. Em outras palavras, essa API foi pensada para uso interno da aplicação, e não para facilitar o design e a execução de testes a partir de código.

O que é o JMeter DSL e qual é a sua contribuição para esse problema?

Um homem digitando código no notebook

O JMeter DSL é uma biblioteca desenvolvida pela Abstracta. É uma camada que simplifica o uso do JMeter por meio de código e ainda adiciona algumas funcionalidades. Entre elas, executar testes em serviços de nuvem e avaliar os resultados da execução dos testes.

Para ilustrar, podemos pensar no JMeter DSL como um adaptador ou uma extensão. Em um equipamento de som, por exemplo, o JMeter DSL seria o controle remoto. Ou seja, a ferramenta propõe uma nova forma de usar a mesma coisa (o JMeter), que para algumas pessoas pode ser mais prática. Isso porque agora elas têm a possibilidade de obter benefícios que não conseguiam com a interface que tinham até então, ou que eram mais difíceis de conseguir.

O JMeter DSL permite usar o JMeter a partir de código de forma simples, sem precisar aprender uma nova linguagem nem incorporar novas ferramentas. Assim, amplia o número de possíveis usuários capazes de aproveitar o JMeter, permite testes mais rápidos e simples e contribui para o desenvolvimento de software de qualidade.

Especificamente, o JMeter DSL facilita a integração de testes de desempenho contínuos aos pipelines de desenvolvimento existentes, promovendo os testes shift-left. Além disso, simplifica a aplicação de habilidades de engenharia e desenvolvimento de software no desenvolvimento e na manutenção de testes de desempenho com JMeter.

Como o JMeter DSL funciona?

Clique aqui para acessar o nosso guia do usuário do JMeter DSL, elaborado pela Abstracta.

O JMeter DSL oferece um conjunto de métodos que podem ser combinados com facilidade, como se você estivesse montando peças de Lego, para construir um plano de teste do JMeter.

Com apenas uma dependência e um import, temos disponíveis os principais componentes que podem ser combinados. Ao mesmo tempo, com a ajuda de uma IDE, permite criar e executar rapidamente um plano de teste de desempenho, com documentação embutida, autocompletar e outras funcionalidades oferecidas pelas IDEs.

Os métodos do JMeter DSL simplesmente retornam objetos que permitem construir o plano de teste de forma simples e rápida. E executá-lo em um motor do JMeter embutido ou em um serviço de nuvem quando necessário, como o BlazeMeter ou o OctoPerf.

Os testes podem ser executados facilmente com o JUnit ou outros frameworks de execução de testes, o que facilita integrá-los aos pipelines de desenvolvimento existentes.

Não é necessário instalar o JMeter nem configurar nada adicional, além das ferramentas padrão de um ambiente de desenvolvimento Java.

Economize tempo com o JMeter DSL

Roger Abelenda, Chief Technology Officer

O tempo é, sem dúvida, um dos nossos recursos mais valiosos, e ter ferramentas que nos permitam otimizar as tarefas é, por si só, um elo muito importante no trabalho do dia a dia. O JMeter DSL nos permite economizar tempo ao promover os testes shift-left e fazer os testes o quanto antes.

Criar e manter testes de desempenho com o JMeter DSL é muito mais rápido do que com a interface gráfica do JMeter. Não só porque é mais fácil ler e entender todos os componentes de um plano, mas também porque promove mais reutilização. E reduz o tempo de consulta à documentação, com documentação online.

Por outro lado, em geral, graças ao autocompletar das IDEs e à facilidade de manipular texto, é muito mais rápido criar um plano de teste com o JMeter DSL do que percorrer a interface gráfica do JMeter preenchendo os campos.

Tem alguma sugestão sobre o JMeter DSL? O seu feedback é mais do que valioso para a nossa equipe. Compartilho aqui o nosso repositório no GitHub para que você possa pedir o que considerar necessário ou útil. Você também pode avaliar com estrelas, às quais damos atenção especial.

Na Abstracta, temos o compromisso de implementar funcionalidades que respondam a uma necessidade dos usuários, e grande parte das nossas releases se baseia nesses pedidos.

Temos muitas ideias no backlog que achamos que poderia ser interessante implementar, mas preferimos, na maioria dos casos, esperar que um usuário relate a necessidade, para não sobrecarregar a ferramenta com funcionalidades que talvez não sejam tão usadas.

Isso nos permite priorizar o trabalho e o esforço investido, documentar a razão de ser de cada componente e envolver a comunidade no desenvolvimento da ferramenta.

Acesse o nosso guia do usuário e tire todas as suas dúvidas sobre o JMeter DSL.

Fique conectado

com a Abstracta

Notícias, artigos e recursos para construir software melhor.

Este site é protegido por reCAPTCHA e se aplicam a Política de Privacidade e os Termos de Serviço do Google.

Leia sobre nossa política de privacidade.

Ilustração de duas pessoas conectadas por uma ponte, uma com um notebook e outra com um tablet, representando colaboração e comunicação. Fim do artigo sobre jmeter dsl.