A área de tecnologia se expande cada vez mais, tornando-se um mercado bastante aquecido para…
Executando 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.
Até a próxima!
Comments (0)