testes de performance com JMeter
Desenvolvimento

Executando testes de performance com JMeter

testes de performance com JMeter
Beatriz Makiyama
25 de março de 2019
testes de performance com JMeter

Há poucos dias, publiquei um artigo sobre o conceito de testes de performance em uma aplicação. Caso você não tenha lido, recomendo acessá-lo, pois esse artigo é uma continuação. 

Quando iniciei os meus estudos sobre Testes de Performance, logo conheci o JMeter. Essa ferramenta, desenvolvida pela Apache, traz um conjunto de soluções para avaliar fatores como desempenho, disponibilidade e escalabilidade das aplicações. Era o que precisávamos em um dos projetos da DB1. 

Para que este artigo não fique tão extenso, decidi agrupar as principais características do JMeter de acordo com a experiência que tive com a ferramenta. 

Primeiramente, o JMeter é gratuito e multiplataforma. Este talvez seja um dos maiores diferenciais da ferramenta, já que representa um bom custo-benefício. Em segundo lugar, os resultados dos testes podem ser exportados para CSV – e interpretados por outra ferramenta – ou manipulados para gerar tabelas e gráficos bem expressivos para apoiar tomadas de decisões. 

Outra característica relevante é a possibilidade de execução distribuída dos testes para atingir a maior quantidade possível de usuários simultâneos, bastante útil para simular cargas de requisições concorrentes. 

O JMeter também fornece um ambiente para programação dos testes, com possibilidade de declaração de variáveis para armazenamento de valores, e instalação de plugins para expansão das funcionalidades. Além disso, a ferramenta suporta diversos tipos de servidores e protocolos, como HTTP, HTTPS, SOAP, conexões via JDBC, LDAP, JMS, POP3 e outros. 

Para profissionais que preferem praticidade, o JMeter disponibiliza a execução de testes por linhas de comando, sem intervenção gráfica. Uma das vantagens deste recurso é a possibilidade de configurar os testes para serem executados automaticamente em um ambiente de integração contínua, como o Jenkins. 

Selecionei algumas dicas relevantes para que você tire um bom proveito da ferramenta após aprender a utilizá-la. Caso você já conheça a ferramenta, essas dicas talvez possam melhorar ainda mais a sua produtividade: 

1) Use “Árvores de Resultados” apenas com o log de erros ativo 

Filtre somente os logs de erros ao utilizar a árvore de resultados para facilitar a navegação e visualização dos dados. 

2) Aumente a memória heap do JMeter para até 75% da capacidade do computador 

Essa configuração evita os eventuais erros de falta de memória (Out of Memory Error). 

3) Mantenha o banco de dados controlado 

Após um tempo, a massa de dados criada pelos testes de performance pode sobrecarregar o banco de dados, impactando no resultado de testes posteriores. O ideal é criar um snapshot do banco de dados para ser reutilizado periodicamente ou até mesmo a cada teste. 

4) Verifique a capacidade do computador responsável pela execução dos testes 

Dependendo da quantidade de cenários, a execução pode exigir mais recursos, portanto, a capacidade do computador deve ser equivalente à essa necessidade. 

5) Se possível, não use o modo GUI (Interface Gráfica) 

Executar os testes por linha de comando reduz o consumo de memória. 

6) Mantenha a infraestrutura de testes o mais próximo possível do ambiente de produção 

Dessa forma, os resultados serão mais confiáveis. 

7) Envolva testadores, DBAs, administradores de rede, arquitetos de software e desenvolvedores no processo de testes 

Cada função tem uma participação neste processo, mesmo que pequena. É importante que todos estejam em sincronia para garantir uma entrega com qualidade. 

8) Prefira exportar os dados em formato CSV ao invés de XML 

A leitura do formato de CSV é mais rápida em função da estrutura do conteúdo, diferente do XML, que é composto por várias tags. 

9) Não execute os testes na rede local 

A velocidade da rede local geralmente é alta, implicando em resultados que nem sempre serão aceitáveis. Ao simular um ambiente de produção, os resultados serão mais realistas. 

10) Execute o mesmo conjunto de testes várias vezes no mesmo dia e durante vários dias na semana 

Essa prática garante a consistência dos resultados. 

11) Explore as opções e propriedades do JMeter 

Seja curioso(a)! Muitas propriedades do JMeter se adequam perfeitamente às particularidades de cada projeto.  

12) Não entregue relatórios técnicos para a gerência 

Lembre-se: Stakeholders não esperam relatórios com gráficos e tabelas confusas ou técnicas demais. Você deve fornecer conclusões e recomendações para melhorar a situação atual. 

Na DB1, conseguimos concluir com sucesso a execução de testes de performance. Com os resultados, foi possível detectar falhas técnicas no projeto (codificação) e pontos de melhoria na infraestrutura em produção. Após as devidas correções e com a repetição dos testes, a qualidade da aplicação foi nitidamente aperfeiçoada. 

Clique no link abaixo para acessar o site oficial do JMeter. Lá você poderá baixar a ferramenta, encontrar documentações, FAQs, tutoriais e outras informações. 

https://jmeter.apache.org/ 

Até a próxima! 


Escrito por

Beatriz Makiyama

Inscreva-se e receba nossa newsletter!

Estamos sempre gerando conteúdos inéditos para compartilhar conhecimento com você, além das últimas notícias de tecnologia.