JMeter

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

JMeter é uma ferramenta utilizada para testes de carga em serviços oferecidos por sistemas computacionais. Esta ferramenta é parte do projeto Jakarta da Apache Software Foundation.

Para a realização de testes, a ferramenta JMeter disponibiliza diversos tipos de requisições e assertions (para validar o resultado dessas requisições), além de controladores lógicos como loops(ciclos) e controles condicionais para serem utilizados na construção de planos de teste, que correspondem aos testes funcionais.

O JMeter disponibiliza também um controle de threads, chamado Thread Group, no qual é possível configurar o número de threads, a quantidade de vezes que cada thread será executada e o intervalo entre cada execução, que ajuda a realizar os testes de stress. E por fim, existem diversos listeners, que se baseando nos resultados das requisições ou dos assertions, podem ser usados para gerar gráficos e tabelas.

Componentes no JMeter são recursos que podem ser utilizados para criar rotinas de testes para aplicações.

Test Plan[editar | editar código-fonte]

Para qualquer teste que venha a ser feito utilizando o JMeter, é necessário criar um Test Plan incluindo os elementos do teste. Estes elementos podem ser

  • Thread Group — Este é ponto de começo, todos os outros elementos do Test Plan devem estar sob este. Como o próprio nome ressalta, este controla as threads que serão executadas pelo teste.
  • Controllers — Estes são divididos em dois grupos Samplers e Logic Controllers.
  • Samplers — São controladores pré-definidos para requisições especificas. Podendo ser customizada com a inserção de configurações (Configurations), Assertions e etc.
  • Logic Controllers — São controladores mais genéricos. Podendo ser customizada com a inserção de outros controllers, configuration elements, assertions, etc.
  • Listeners — Estes são os elementos que fornecem acesso as informações obtidas pelo JMeter durante os testes.
  • Timers — Por padrão, o JMeter faz requisições sem pausas entre elas. Os timers são utilizados para incluir pausas entre as requisições.
  • Assertions — Usado para verificar se a resposta obtida na requisição é a esperada. Podendo ser usado expressões regulares (Perl-style regular expression) na comparação.
  • Configuration Elements — Embora não faça requisições (exceto para HTTP Proxy Server), este elemento pode adicionar ou modificar as requisições.
  • Pre-Processor Elements — Executa alguma ação antes de fazer a requisição. Mais usado para pré-configurações das requisições.
  • Post-Processor Elements — Executa alguma ação depois de fazer a requisição. Mais usado para processar as respostas da requisição.

Tipos de serviços[editar | editar código-fonte]

O JMeter suporta requisições dos seguintes tipos de serviços em suas rotinas de testes:

  • FTP — Permitir criar requisições usando o protocolo FTP (com autenticação ou não) e executa o comando de retrieve em um arquivo especifico.
  • HTTP — Permitir criar requisições usando o protocolo HTTP ou HTTPS (com autenticação ou não), podendo incluir parâmetros ou arquivos a requisição, escolher o método usado (GET ou POST) e manipular Cookies. Este sampler possui dois tipos de implementação: Java HTTP ou Commons HTTPClient.
  • JDBC — Com esta requisição é possível executar queries em um banco de dados específico.
  • Objeto Java — Ajuda no teste de carga de classes Java, exigindo seja implementado uma classe do tipo JavaSamplerClient para executar o método a ser testado. A estrutura deste objeto é similar a usada pelo JUnit.
  • SOAP/XML-RPC — Permite enviar requisições SOAP para um WebService, ou enviar XML-RPC através do protocolo HTTP.
  • LDAP — Permite enviar requisições para um servidor LDAP. Possui uma implementação simplificada e outra estendida.
  • Testes JUnit — Usado para fazer teste de carga em testes de unidade que utilizam o framework JUnit.

Existem outros tipos de requisições que, até a atual versão do JMeter, estão em versão alpha, eles são: Web service (SOAP), Access Log, BeanShell, BSF, TCP, JMS Publisher, JMS Subscriber, JMS Point-to-Point.

Ligações externas[editar | editar código-fonte]

Ícone de esboço Este artigo sobre Informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.