Pesquisar este blog

segunda-feira, 9 de julho de 2012

UTILIZAÇÃO E CONFIGURAÇÃO DO BAB BOY E JMETER

O principal objetivo desse tutorial e a utilização da ferramenta BadBoy para captura dos métodos da aplicação, depois a utilização da captura desses métodos no JMETER para execução dos testes.

BabBoy

É uma ferramenta desenvolvida em C++ (sim, não vai funcionar no linux, infelizmente) que grava todas ações que você faz em uma página web (java, php, ruby, etc...). Ele é capaz de gravar, como uma macro, tudo o que você faz na página web como requests, parâmetros, alert, respostar, etc.. Com ele você pode alterar parâmetros das páginas que você está testando, efetuar asserções por texto (simples ou html), cor, javascript, etc... Veremos então, nesta primeira parte, a estrutura básica do BadBoy e suas principais ferramentas (pelo menos as mais fáceis de utilizar.


JMeter


É um 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.

Conhecendo o BadBoy
Essa é a tela inicial do BadBoy.


  1. Barra de ferramnetasAqui encontramos todos os botões para as principais ações no Badboy, veremos com detalhes cada uma das ações.
  2. Barra da URLAqui digitamos o endereço de entrada que iremos gravar o script e onde aparecerão as demais url's enquanto vamos navegando nas paginas.
  3. Estrutura do ScriptAqui é apresentada a principal estrutura de script do BadBoy com a estrutura de
    • Suites: Organiza seu script da mesma forma de um test, mas com a diferença de ter apenas uma suite (não nesessário, pois o suite e test possuem quase as mesmas funcionalidade).
    • Tests: Organiza o seu script como um teste, podendo transforma-lo em um template (que tambem será apresentado mais tarde). Você pode organizar o Tests como um TestCase ou como partes agrupadas de teste no seu script
    • Steps: Organiza o seu script como passos para execução de determinada ação ou grupo de ação. Um step pode virar uma Thread, pode repetir N vezes, pode ser monitorada e ser transformada em test.
  4. Tools
Tools apresenta uma série de ferramentas para auxiliá-lo na gravação, execução e visualização do seu script.
  • Summary: Apresenta todos os dados referente a execução do seu script (nro de execuções, falhas, sucessos, tempo médio de execução, etc...)
  • Variebles: apresenta todas as variáveis que podem ser utilizadas no script para substituir um determinado parâmetro.
  • Graph: Apresentação do gráfico contendo o tempo médio da execução de cada step do script.
  • Toos: Uma série de ferramentas que podem ser adicionadas no seu script para ajudá-lo a obter o sucesso da execução do seu script.
  • Checkers: Série de analisadores que podem ser inseridos para efetuar alguma verificação na página.
  • References: itens que podem ser adicionados como requirements ou defeacts para ajudar você a visualizar o que precisa ser verificado ou ajuda-lo em algum decisão dentro da ferramenta, a fins ilustrativos.

    5. Visualizador da página
É aqui será exibida a página enquanto você grava sua execução. Você interage com a pagina neste painel, onde também pode aplicar os checkers.

Como Gravar um Script no BadBoy
Os passos para a gravação de um script é bem fácil

  1. Abra o BadBoy. Ele já estará em modo de gravação, que pode ser visualizado pelo botão "Record" pressionado na barra de ferramentas.
  2. Digite a URL na barra de endereço. O BadBoy Automaticamente criará a o request com todos os parâmetros da página requisitada. 
  3. Comece a interagir com a página no painel de visualização da página. Todas as ações na página serão adicionadas na estrutura do script do BadBoy.

Exportando o script para utilizá-lo no JMeter

Basta depois de ter salvo todas as ações que deseja ser executada na aplicação, ir no seguintes menus:
  1. Selecione o Menu "File" e depois a opção "Export to JMeter".

Com isso basta salvar o script em um diretório, e pronto agora já temos o nosso script que será executado no JMeter.

Agora temos que abrir o script salvo no Jmeter:




Ao abrir o script temos que primeiro adicionar o servidor proxy no Jmeter:

Como o botão direito em cima do menu área de trabalho:

 Área de trabalho > Adicionar > Elementos que não são de Teste > Servidor HTTP Proxy.


 Em controle de alvo selecione nosso teste: Test Plan > Thread group > Step 1. Em seguida aperte o botão Iniciar.



Após Iniciar o servidor selecione em thead group, agora basta configurar o número de usuário e apertar no botão Play.


Depois disso podemos adicionar vários tipos de Gráficos, para visualizar os resultados.
Caminho: clique com botão direito em Thread Group > Adicionar > Ouvintes.



Vou publicar em outro Post explicando com detalhes como interpretar esses gráficos complicados!
Problemas que podem ocorrer no Jmeter:
  • Antivírus bloquear as portas;
  • Skype ocupando a porta 8080;
  • Algum servidor local na porta 8080;
  • Uso de Wifi para fazer os testes, não vai estressar nada;
  • Gargalo na rede utilizada, tem que ser uma rede isolada pra fazer os testes com qualidade.
Obs: Problemas que podem ocorrer por algum motivo, o BadBoy não conseguir gravar corretamente as requisições poderá ocorrer problemas no Jmeter, neste caso recomento gravar pelo Jmeter, via Proxy pelo Browser.

5 comentários:

  1. Muito bom =)

    Mas não consegui achar o link para parte 2

    ResponderExcluir
    Respostas
    1. Eu me lembro de ter feito a Parte 2, pra fazer a importação via Jmeter e a execução do teste, acho q sem querer exclui o post, vou fazer outro...

      Excluir
  2. Este comentário foi removido pelo autor.

    ResponderExcluir