Upload
israel-ramos
View
270
Download
0
Embed Size (px)
Citation preview
Agenda
• Introdução ao Apache JMeter.
• Benefícios.
• Tipos de Serviços.
• Test Plan.
• Construindo o Primeiro Test Plan.
Introdução ao Apache JMeterApache JMeter é uma aplicação de desktop 100% Java projetado para realizar teste de softwares cliente/servidor. Ele pode ser usado para testar o desempenho de recursos dinâmicos e estáticos como:
Java Servlets, Objetos Java, Bancos de dados, Servidores FTP e muito mais.
JMeter pode ser usado para simular uma carga pesada em um servidor de rede, ou objeto para testar a sua resistência ou para analisar o desempenho global no âmbito de diferentes tipos de carga.
Além disso, o JMeter pode ser utilizado para realizar testes de regressão em aplicativos, permitindo criar scripts de testes com asserções para validar se a aplicação está retornando os resultados esperados. Para maior flexibilidade, JMeter permite criar estas afirmações usando expressões regulares.Mas observe que o JMeter não é um navegador:
BenefíciosUma das características mais importantes do JMeter é que ele possibilita, ao usuário, montar um plano de teste de forma interativa e flexível. Ele oferece um conjunto eficiente de ferramentas e componentes que podem ser combinados para montar um plano de teste sob medida para cada caso.
FLEXÍBILIDADE
COBERTURA
ESCALABILIDADERELATÓRIOS
POTÊNCIA
Tipos de Serviços
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:
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 Cockies. 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 que 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.
Test Plan
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 controlar 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.
Construindo o Primeiro Test Plan
Os elementos que precisaremos para construir um Test Plan básico são:
• Thread Group
• HTTP Request (Sampler)
• HTTP Request Default (Configuration Element)
• Summary Report (Listener)
Nós faremos o seguinte:
• Adicionar usuários
• Adicionar e configurar um Default HTTP Request.
• Adicionar HTTP Requests
• Adicionar Listener para Ver/Salvar os resultados do teste
• Salvar e executar o Test Plan.
Adicionando Usuários1. Clique com o botão direito no icone do Test Plan / Add / Thread Group.
2. A direita será aberto o painel de configuração do Grupo de Usuários que você acabou de adicionar. Nomeie-o com o nome que preferir.
3. Inicialmente estaremos simulando somente 1 usuário e 1 interação. Portanto deixe tudo como e está e somente altere o parâmetro Ramp-Up Period para 0. Esse parâmetro define qual o intervalo de inicialização do grupo de usuários após o inicio do teste. Deixando esse valor em 0, nosso grupo de usuários será iniciado imediatamente ao iniciarmos o teste.
Agora estamos prontos para adicionarmos as tarefas que nosso grupo de usuários realizará.
Adicionando HTTP Request Defaults
1. Clique com o botão direito no Grupo de Usuários / Add / Config Element / HTTP Request Defaults.
2. Selecione o novo elemento criado para visualizar o Painel de configuração.
3. Renomeie o elemento para o nome que preferir.
4. Em Server Name or IP, digite uma URL: www.google.com (ou qualquer outro URL que você preferir). Vamos deixar todos os outros valores comoestão. Definindo a HTTP Request Defaults fará com que todos Sampler dentro deste grupo de usuários acessem ao mesmo servidor. No entanto , ele não realiza requisições, ele simplesmente define o padrão de requisição para o seguimento. Assim não precisaremos inserir o o caminho completo do servidor em todas as requições que iremos adicionar,
Adicionando HTTP RequestNesta etapa, iremos fazer duas requisições HTTP para o servidor de destino:
a página padrão e outra página na mesma URL. Como o JMeter executa elementos na ordem em que aparecem na árvore de plano de teste, vamos adicionar primeiro a requisição para a página padrão.
1. Clique com o botão direito em Grupo de Usuários / Add / Sampler / HTTP Request.
2. Selecione o elemento criado na árvore e configure os seguintes parâmetros:
a. Name: Home Page
b. Web Server: - Esta informação foi especificada no HTTP Request Defaults. Não há necessidade de editar esta seção, a menos que você precise redirecionar para um caminho diferente do que o especificado no Default HTTP Request.
c. Path: / - Desde que tenha especificado o nome do servidor no elemento padrão HTTP Request, não precisamos acrescentar algo mais nesse campo além de uma simples barra, já que queremos atingir a rais do site.
3. Adicione agora outra HTTP Request e configure os seguintes parâmetros:
a. Name:Translate
b. Path: /language_tools?hl=pt-br - Como nós definimos www.google.com no HTTP Request Defaults, o JMeter irá automaticamente , no momento da execução do teste, concatenar o endereço do servidor com a sub página configurada neste campo.
Adicionando ListnerFinalmente, vamos adicionar um ouvinte simples, o Aggregate Report . Este
elemento irá armazenar todo o resultado de suas requisições HTTP e exibirá as informações estatísticas em forma de tabela.
1. Clique com o botão direito em Grupo de Usuários / Add / Listner / Aggregate Report .
2. Em Write All Data to a File : em Filename digite o nome do diretório ou selecione o diretório onde o arquivo será salvo com o botão Browse... e digite o nome do arquivo de saída.
Salvando e executando o Test Plan
O JMeter obriga-nos a salvar um plano de teste antes de executá-lo.
3. Selecione Save Test Plan no menu File. JMeter permite que você salve trechos ou sucursais de um plano de teste, basta selecionar o elemento onde o ramo começa.
2. Insira um nome que preferir para o arquivo. A extensão será definida em .jmx.
3. No menu Run, selecione Start.A figura a seguir é seu Aggregate Report e pode-se olhar para ele enquanto o teste é executado. Observe que há um pequeno quadrado verde(durante a execução) no canto superior direito. O número ao lado mostra o número de threads ativas vs. o total de threads.
Esse foi um exemplo simples de um Plano de testes básico. O JMeter vai muito além disso, e possibilita criar planos de testes extremamente robustos e eficazes. Tudo dependerá de sua necessidade. O JMeter é uma ferramenta diagnósticos extremamente flexível e poderosa . Pesquise mais sobre ele e descubra o grande leque de soluções possíveis que ele proporciona.
Documento elaborado em: 03/11/2010
Referências:
• Jakarta Meter- User Manual - http://jakarta.apache.org/jmeter/usermanual
• Packt Publishing - 2008 - Emily H. Halili – Apache Jmeter - A practical beginner's guide to automated testing and performance measurement for your websites
Araraquara - América Centro EmpresarialRua Padre Duarte, 151 – 3º andarTels: (55 16) 3333-5707
(55 11) 2626-7181
Ribeirão Preto - New Century Av. Presidente Vargas, 2001 – 14º andarTels: (55 16) 3623-9101
(55 11) 2626-7181
São PauloAv. Paulista, 2064 – 3º andarTels: (55 11) 2626-7181
Informações:[email protected]. Comercial: [email protected]: [email protected] Humanos: [email protected]: [email protected]
Escritórios