Desenvolvimento - Java

Stress Test com Java Open Source JMeter

O JMeter é uma ferramenta open-source do grupo Jakarta Apache, desenvolvida totalmente com tecnologia Java, para a execução de testes de stress...

por Eric C M Oliveira



O JMeter é uma ferramenta open-source do grupo Jakarta Apache, desenvolvida totalmente com tecnologia Java, para a execução de testes de stress. Também é possivel realizar testes de performance e de caixa-preta. Um de seus atrativos é o fato de permitir a execução de plano de testes que podem ser configurados graficamente. Vale ressaltar que a parte gráfica é feita utilizando a api Java Swing.

Stress Test

O objetivo dos testes de stress é a verificação de se uma determinada arquitetura desenvolvida para atender a solução pode realmente responder ao número de usuários que deverão acessar um sistema, por exemplo.

Antes de se inciar os testes, é vital ter em mãos dados como o máximo número de acessos simultâneos ou a distribuição dos acessos durante o dia ou a semana.

Além disso, como em praticamente todas as atividades ligadas a teste, é importante ter em mente outros fatores, como a base de dados próximas dos dados reais, crescimento de base de dados, consumo de banda, necessidades de tráfego, consumo de memória de servidores, entre outros.

Iniciando o JMeter

O download do JMeter pode pode ser feito no site do grupo Apache (ver referências). Descompacte o arquivo ZIP em um diretório de sua preferência e execute o arquivo jmeter.bat.

Após inciar a ferramenta, é apresentada a seguinte interface:

No lado esquerdo, estão os principais itens usados em nosso plano de testes: TestPlan e Workbench. O primeiro ira agrupar outros itens que representam a simulação de múltiplos usuários, além de configuradores e controladores para a execução do teste. O segundo, é uma área temporária de trabalho.

Estes elementos tem diversas finalidades, dentre eles podemos destacar:

  • Listeners - elementos que capturam os resultados gerados pelo plano de testes e apresenta-os em um determinado formato, com vinculo ou não a um Test Plan.

  • Assertions - possibilidade de adicionar pontos de afirmação para verificação se determinada resposta está de acordo com alguma afirmação colocada no elemento Sampler.

  • Thread Groups - representação de um grupo de usuário executando determinada(s) solicitação(ões).

  • Samplers - representação de uma solicitação, que pode ser HTTP, FTP, SOAP, JDBC, LDAP e Java.

Na figura acima, podemos ver um exemplo da organização hierárquica de um TestPlan.

Referências:

http://jakarta.apache.org/jmeter/index.html

http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi

http://jakarta.apache.org/jmeter/usermanual/index.html

https://soujava.dev.java.net/files/documents/136/3351/aa4-tutorial_PDF.pdf

Eric C M Oliveira

Eric C M Oliveira - Bacharel em Ciencia da Computação/FASP e Comunicação/Unesp, tem experiência em desenvolvimento Java nas plataformas J2SE, J2EE e J2ME, além de atividades ligadas a disciplina de testes, engenharia e qualidade de software. Tem certificações Java SCJP 1.3, SCJP 1.4, Rational Test Management, Rational Robot e RUP (Rational Unified Process).