Por que eu devo ler este artigo:Este artigo mostra uma alternativa à ferramenta JMeter para teste de carga, The Grinder. Será apresentado como instalar, configurar e como esta ferramenta pode ajudar no dia a dia do testador ou desenvolvedor, com funcionalidades que lhe dão uma maior liberdade na criação dos testes. Este conhecimento é útil para aqueles que querem começar a aplicar a técnica de teste de carga em seus sistemas ou para aqueles que já conhecem sobre o assunto, e têm interesse em conhecer uma nova ferramenta para auxiliar nessa tarefa.
Autores: Filipe Tagliatti, Cesar Roberto de S. Loureiro Júnior e Marco Antônio Pereira Araújo

Gastos com manutenções para correção de defeitos podem ter um custo muito elevado para a empresa. Para evitar possíveis problemas com clientes motivados por sistemas entregues com muitas falhas e alto custo na manutenção, foram desenvolvidos métodos para garantir a qualidade do software.

O teste de carga é um dos tipos de teste de software. Seu objetivo principal é encontrar o limite de capacidade da aplicação e identificar qual seu limitante (codificação,hardware, tempo de resposta excessivo). Da mesma forma que outros tipos de teste, não é objetivo do teste de carga encontrar problemas funcionais na aplicação.

Com o teste de carga pode-se descobrir até mesmo se o hardware que é utilizado está sendo desperdiçado ou não funciona de forma correta, se o site possui páginas que demoram muito para serem carregadas ou se o acesso ao banco de dados demora muito para carregar as informações. Esses fatores podem contribuir para o uso de equipamentos de balanceamento de carga, e até servidores de contenção. Neste contexto, este artigo irá abordar a configuração e a forma de utilizar a ferramenta para testes de carga em sites chamada The Grinder.

The Grinder é um framework de testes de carga que facilita a execução deste tipo de teste entre vários servidores. Os scripts de teste são escritos em Jython, fornecendo suporte para avaliar uma ampla gama de protocolos de rede. The Grinder também vem com um plugin para avaliar a qualidade de serviços HTTP.

Download e Instalação

O primeiro passo a tomar é fazer o download da ferramenta, que pode ser baixada em seu site oficial (ver seção Links). Depois de descompactar o arquivo no local desejado, deve-se criar um script apenas para teste, através da criação de um arquivo chamado “teste.py”, colocando o código da Listagem 1.

Listagem 1. Script de exemplo

from net.grinder.script import Test 
  from net.grinder.script.Grinder import grinder 
  from net.grinder.plugin.http import HTTPRequest 
     
  test1 = Test(1, "Request resource") 
  request1 = HTTPRequest() 
  test1.record(request1) 
     
  class TestRunner: 
      def __call__(self): 
          result = request1.GET("http://www.google.com.br")

Depois disso, deve-se abrir o arquivo grinder.properties e procurar pelo parâmetro grinder.script, substituindo o valor pelo nome do arquivo que foi criado para teste que, no caso, se chama teste.py.

Agora pode-se proceder com a execução da ferramenta. Para isso, é recomendado criar um arquivo .bat para o ambiente Windows ou sh para ambiente Linux. Para esse exemplo, foi utilizada a plataforma Windows. O comando a seguir indica como devemos proceder para chamar o console da ferramenta:

java – classpath c:\Users\Tagliatti\grinder-3.11\lib\grinder.jar  net.grinder.Console

O código a seguir apresenta o segundo script que deve ser executado de forma a chamar o agente que tem o papel de ler as configurações e executar os testes:

java – classpath c:\Users\Tagliatti\grinder-3.11\lib\grinder.jar  net.grinder.Console  c:\Users\Tagliatti\grinder-3.11\examples\grinder.properties

Já o console apenas nos mostra o resultado de forma gráfica. Uma observação importante, os scripts devem ser executados na ordem citada, primeiro o console depois o agente.

Quando o script do agente for executado (ou se foi executad ...

Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo