Teste de carga com The Grinder: aprenda a instalar e configurar
Este artigo apresenta a ferramenta The Grinder. Será visto como instalar, configurar e como ela pode ajudar na criação dos testes de carga de seu projeto.
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."
[...] continue lendo...Artigos relacionados
-
Artigo
-
Vídeo
-
Vídeo
-
DevCast
-
DevCast