detail description jmeter components
consultas sql praticam perguntas com respostas
Revisão dos componentes do Jmeter (Parte II):
=> Isso faz parte da série de treinamento JMeter. Veja a lista de todos os tutoriais desta série aqui .
Espero que todos vocês tenham passado pelo Introdução e instalação do JMeter por enquanto. Conforme continuamos com o próximo da série, é altamente recomendável que todos vocês instalem o JMeter e pratiquem lado a lado.
Neste tutorial, os leitores se familiarizariam com todos os componentes do JMeter e como usá-los no plano de teste para cobrir todos os cenários de teste de desempenho possíveis para testar o AUT (aplicativo em teste).
Os elementos do Jmeter foram listados no artigo anterior.
O que você aprenderá:
- Componentes do JMeter
Componentes do JMeter
Anotando novamente para sua referência:
- Plano de teste
- ThreadGroup
- Samplers
- Ouvintes
- Bancada de Trabalho
- Afirmações
- Elemento de configuração
- Controladores lógicos
- Cronômetro
Todos os principais componentes do Jmeter como Thread Group, Samplers, Listeners e Config Elements são explicados em detalhes posteriormente neste artigo.
Consulte o fluxograma abaixo para entender cada componente e sua relação com módulos específicos do JMeter.
Agora começaríamos a tocar cada componente do Jmeter junto com os casos de uso apenas para saber como ele funciona e como os testadores podem implementá-los em seus testes. Observe que não cobriremos todos os Samplers, ouvintes neste artigo. Trabalharemos nos mais usados e descansaremos no próximo artigo, quando criarmos Planos de Teste em tempo real.
Plano de teste
Assim como um plano de teste simples em Teste de Software consiste em todas as etapas que executam o script, o plano de Teste do JMeter tem o mesmo propósito. Tudo o que está incluído em um plano de teste é executado em uma sequência de cima para baixo ou de acordo com a sequência definida no plano de teste.
O plano de teste pode ser tão simples quanto poderia ser, com Just ThreadGroup, Sampler e Listener e começa a ficar mais complexo assim que você começa a adicionar mais elementos como elementos de configuração, pré-processadores ou controladores.
Como todos sabemos, o JMeter mede o desempenho gerando usuários virtuais ou threads que atingem o servidor em teste como se usuários reais estivessem enviando solicitações a um servidor. Portanto, cada Plano de Teste deve ter usuários virtuais ou Grupo de Threads, como os chamamos nos termos do JMeter.
Pontos importantes sobre o plano de teste:
- O plano de teste deve ser salvo antes da execução
- Os arquivos Jmeter ou planos de teste são salvos na forma de. Arquivos de extensão JMX
- Você também pode salvar partes do Plano de Teste como uma seleção diferente. Por exemplo, Se você deseja salvar HTTP Request Sampler com Listener, você pode salvá-lo como Fragmento de Teste para que possa ser usado em outros cenários de teste também
- Elementos do WorkBench não são salvos com o Plano de Teste
Grupo de Tópicos
Thread Group é um grupo de usuários que acessarão o servidor em teste simultaneamente ou em alguma sequência predefinida. O Grupo de Threads pode ser adicionado ao Plano de Teste clicando com o botão direito no plano de teste. JMeter é tudo “coisas do botão direito”, você obtém todas as opções com o botão direito.
Você pode renomear o nome do Grupo de Threads para seu próprio nome. Basta alterar o nome e clicar em qualquer lugar fora da janela Plano de Teste, você verá o nome sendo alterado.
Por favor, veja a captura de tela abaixo para adicionar grupos de tópicos
(Observação: Clique em qualquer imagem para visualização ampliada)
É muito importante configurar seu grupo de threads de acordo com as condições de teste.
Por exemplo, se você quiser testar como um servidor web se comporta quando 100 usuários acessam simultaneamente, você pode definir o Grupo de Threads conforme abaixo:
Basicamente, existem três parâmetros principais que devem ser configurados para gerar carga real ou usuários virtuais:
- Número de discussão (usuários) - Define o número de usuários virtuais. Para fins de teste, devemos gerar apenas uma quantidade limitada de carga, pois gerar um grande volume de uma vez significaria consumir muitos threads, o que pode levar a uma alta utilização da CPU.
- Período de aceleração - Este campo é muito importante no controle da geração de carga. O período de aceleração definiu a quantidade de tempo em que a carga total será gerada.
Exemplo 1:
- Isso significa que todos os 10 usuários acessarão os servidores simultaneamente assim que um teste for executado
Exemplo 2:
- Todos vocês devem ter notado a caixa de seleção “Scheduler” na imagem acima. No caso de você desejar que seu teste seja executado em um momento específico mais tarde, você pode definir os tempos como também pode ver na imagem abaixo. Isso significa que a cada 1 segundo, um novo usuário acessará o servidor. A carga não será simultânea, mas em incrementos. Até as 10ºsegundo, todos os usuários teriam atingido a solicitação.
- Loop Count - Define o número de vezes que o Thread Group será executado. Se você marcar a caixa de seleção Sempre, o teste será executado para sempre, a menos que você o interrompa manualmente. Isso pode ser usado para testar algo como “Se o seu servidor não travar em carga contínua por alguns minutos”.
Samplers
Então, como um Jmeter sabe que tipo de solicitação foi enviada ao servidor ???
- É por meio de Samplers. Amostradores são essenciais para adicionar a um Plano de Teste, pois somente eles podem permitir que o Jmeter saiba que tipo de solicitação precisa ir para qual servidor e com quaisquer parâmetros predefinidos ou não. As solicitações podem ser HTTP, HTTP (s), FTP, TCP, SMTP, SOAP etc.
Os amostradores só podem ser adicionados ao Grupo de Threads, não diretamente no Plano de Teste, pois os Grupos de Threads precisam usar um sampler para enviar uma solicitação ao URL do servidor em teste. O amostrador pode ser adicionado por caminho Grupo de Threads -> Sampler -> Solicitação HTTP.
Solicitações HTTP
Essas são as solicitações mais comuns enviadas aos servidores. Dizer, por exemplo, queremos que 100 usuários alcancem https://www.google.com ao mesmo tempo, isso pode ser feito conforme descrito na captura de tela abaixo:
- O caminho é a navegação dentro do site principal. Por exemplo, se quisermos acessar http://www.google.com/gmail, podemos definir “/ Gmail” no caminho e o resto permanece o mesmo
- Não é necessário digitar “www” no nome do servidor
- O número da porta é usado se você estiver usando qualquer servidor proxy
- O tempo limite de conexão e resposta pode ser definido se você quiser ter uma referência de tempo de conexão e tempo de resposta do servidor. O seu pedido irá falhar se o seu servidor demorar mais tempo a enviar a resposta do que o configurado
- Você também pode configurar parâmetros para enviar com sua solicitação. Por exemplo: Em alguns casos, pode ser necessário enviar o token de autorização com sua solicitação, portanto, você deve adicioná-los na solicitação HTTP conforme abaixo:
Pedidos de FTP
Caminho-> Plano de Teste-> Grupo de Threads-> Amostrador-> Solicitação de FTP
FTP significa File Transfer Protocol e é usado para fazer upload ou download de um arquivo do servidor. Os threads do JMeter enviam solicitações aos servidores FTP para fazer upload ou download de arquivos de lá e mede o desempenho.
- Arquivo local é o local onde você precisa salvar o arquivo baixado
- Use a opção GET se estiver baixando do servidor FTP
- Opção de POST do usuário se você estiver enviando qualquer arquivo no servidor FTP
Temos muitos ouvintes que serão abordados quando passarmos por alguns planos de teste reais que consistem em Samplers, ouvintes, elementos de configuração, etc.
Ouvintes
Então, até agora, vimos poucos amostradores enviando solicitações ao servidor, mas ainda não analisamos a resposta. O teste de desempenho consiste em analisar as respostas do servidor de várias formas e, em seguida, apresentá-las ao cliente.
Os ouvintes são usados para exibir os resultados da execução do teste para que os testadores conheçam as estatísticas. Temos cerca de 15 ouvintes no Jmeter, mas os mais usados são tabela, árvore e gráfico.
Veja os resultados na tabela:
Esta é a forma de ouvinte mais comumente usada e facilmente compreensível. Ele exibe o resultado em forma de tabela com alguns parâmetros de desempenho importantes.
Os ouvintes podem ser adicionados diretamente no plano de teste ou em um amostrador. A diferença é que, quando você adiciona um ouvinte em um amostrador, ele mostra apenas os resultados desse amostrador. Se adicionarmos o amostrador diretamente no plano de teste, ele exibirá o resultado de todo o amostrador na hierarquia.
A captura de tela abaixo para sua referência:
Você vê os resultados parecidos com os exibidos abaixo:
- Latência : É o momento em que a primeira informação é recebida, ou seja, o primeiro byte de dados é recebido
- Tempo de conexão : É o tempo necessário para estabelecer a conexão com o servidor
- Tempo da amostra : É o tempo necessário para receber os dados completos
- Amostra - Sequência do número da amostra
- Bytes - Tamanho dos dados recebidos.
Ver os resultados na árvore:
Este é outro ouvinte mais comumente usado e fornece informações detalhadas com solicitação e resposta. Também é possível visualizar a página HTML renderizada em resposta, além de visualizar Json, XML, Text, RegEx.
É muito útil porque os testadores podem fazer afirmações sobre a resposta recebida para garantir que o teste foi aprovado. Os resultados do Jmeter ainda mostram 'Aprovado', mesmo que a resposta não seja desejada.
Por exemplo: Digamos que acessamos a solicitação HTTP em qualquer site www.xyz.com e em resposta esperamos XYZ ou, em palavras simples, quando chegamos a esta página, a página inicial da empresa abre com seu nome. Se não tivermos colocado a declaração, o Jmeter ainda exibirá os resultados, uma vez que o hit foi para o servidor.
Veja abaixo para saber o formato dos resultados:
Para visualizar a página HTML em resposta, clique no menu suspenso no painel esquerdo e selecione “HTML”, navegue até a guia de resposta e verifique a página que é retornada como resposta do servidor.
Bancada de Trabalho
Um ambiente de trabalho é um local onde você pode armazenar aqueles elementos que não estão em uso em seu plano de teste atual, mas que podem ser copiados e colados nele posteriormente. Quando você salva o arquivo JMeter, os componentes que estão presentes no ambiente de trabalho não são salvos automaticamente. Você deve salvá-los separadamente clicando com o botão direito e escolher a opção “Salvar como”.
Todos vocês podem estar pensando, então, qual é o uso do workbench, de qualquer forma, é fácil adicionar qualquer componente diretamente ao Plano de Teste de um Jmeter.
O motivo de ter um ambiente de trabalho era que o usuário pudesse fazer alguns experimentos e experimentar novos cenários. Como já sabemos, os elementos no workbench não são salvos, então um usuário pode literalmente usar qualquer coisa e depois jogar fora. Porém, existem alguns “Componentes não testados” que estão disponíveis apenas no WorkBench.
Eles estão listados aqui:
- Servidor HTTP Mirror
- Gravador de script de teste HTTP (s)
- Exibição de propriedade
O gravador de script de teste HTTP (s) é o elemento não-teste mais importante usado no JMeter. Ele ajuda os testadores a registrar o script e, em seguida, configurar a carga para cada transação.
Jmeter registra apenas a solicitação enviada ao servidor. Não se confunda com a funcionalidade “Gravar e reproduzir” do QTP / Selenium. Todas as solicitações são registradas e os testadores podem aplicar a carga desejada nelas para ver o comportamento.
Este elemento é muito importante para cenários em que os testadores não sabem o que todas as solicitações estão acontecendo em seu aplicativo. Eles podem usar o gravador de script Http (s) para registrar o aplicativo em teste.
O teste de desempenho de aplicativos móveis também pode ser feito dessa forma, configurando o proxy JMeter e, em seguida, gravando as solicitações que nosso aplicativo móvel envia ao servidor. O procedimento passo a passo para teste de desempenho móvel será explicado no próximo artigo.
Afirmações
Até agora, cobrimos como o JMeter atinge o servidor e como as respostas são exibidas por meio de ouvintes. Para garantir que a resposta recebida está correta e conforme a expectativa, precisamos adicionar afirmações. Asserções são simplesmente validações que precisamos colocar nas respostas para comparar os resultados.
Abaixo estão os tipos de afirmações comumente usados:
- Asserção de Resposta
- Asserção de duração
- Asserção de tamanho
- Asserção XML
- Asserção HTML
Asserção de Resposta
Em Response Assertion, podemos adicionar nossas próprias strings de padrão e, em seguida, compará-las com as respostas recebidas de um servidor. Por exemplo, todos vocês sabem que o código de resposta é 200 quando qualquer solicitação retorna alguma resposta com sucesso. Portanto, se adicionarmos a string de padrão “Código de Resposta = 202”, o caso de teste deve falhar.
Consulte as capturas de tela abaixo para adicionar a afirmação do código de resposta.
Agora, quando o teste é executado, ele mostra o resultado com a cor vermelha indicando que os resultados da afirmação falharam.
Asserção de duração
A asserção de duração é muito importante e valida se o servidor respondeu dentro de um determinado período de tempo. Isso pode ser usado em cenários em que precisamos amostrar 100 solicitações e garantir que cada resposta seja recebida dentro do limite de comparação.
Caso : 10 usuários estão acessando ao mesmo tempo o servidor “google.com” e a Asserção de duração está definida como 1000ms. Veja as capturas de tela abaixo:
A Asserção XML valida se os dados de resposta contêm um documento XML correto e a Asserção HTML verifica a sintaxe HTML da resposta recebida de um servidor.
Elementos de configuração
As solicitações enviadas ao servidor podem ser parametrizadas posteriormente usando alguns elementos de configuração que são executados antes da solicitação real. Um exemplo simples disso poderia ser a leitura de valores de uma variável de um arquivo CSV para o qual CSV Data Set Config é usado.
Abaixo estão alguns dos elementos de configuração importantes usados no teste de desempenho de aplicativos da web e móveis
- CSV Data Set Config.
- Variáveis Definidas pelo Usuário
- HTTPS solicita padrão
- HTTPS Cache Manager
- HTTPS Cookie Manager
CSV Data Set Config
A configuração do conjunto de dados CSV ajuda o Jmeter a selecionar valores de alguns parâmetros de um arquivo CSV em vez de passar parâmetros diferentes em cada solicitação separada. Por exemplo, se precisarmos testar a funcionalidade de login com um conjunto diferente de usuários e senhas, podemos criar duas colunas em um arquivo CSV e inserir os valores lá para que o JMeter possa escolher um para cada solicitação enviada ao servidor.
Abaixo está o fluxo de uso do conjunto de dados CSV, a configuração para testar a API do tempo para diferentes cidades na Índia.
- Adicionar elemento de configuração de conjunto de dados CSV ao plano de teste
- Criando arquivo CSV
- Passando variável no parâmetro de solicitação. O parâmetro APPID pode ser gerado dinamicamente a partir de http://openweathermap.org/appid
- Executando o teste e visualizando os resultados.
Variáveis Definidas pelo Usuário
Ajuda o Jmeter a escolher valores de uma variável predefinida. Por exemplo, suporte de que você precisa para criar um plano de teste no qual você precisa adicionar muitas solicitações HTTP na mesma URL e pode haver um cenário em que o cliente planeja migrá-lo posteriormente para alguma URL diferente. Portanto, para evitar a atualização de URL em cada solicitação podemos dizer ao JMeter para escolher a URL de um UDV (variável definida pelo usuário), que pode ser atualizado posteriormente para lidar com todas as solicitações de URL atualizado.
Portanto, para evitar a atualização de URL em cada solicitação, podemos dizer ao JMeter para escolher a URL de um UDV (variável definida pelo usuário) que pode ser atualizado posteriormente para lidar com todas as solicitações de URL atualizado.
Padrões de solicitação HTTP
Este elemento de configuração é muito útil para especificar os valores padrão de solicitações https. Para orientar você mais, pegue um exemplo em que precisamos atingir 50 solicitações diferentes no servidor do google. Neste cenário, se adicionarmos um padrão de solicitação HTTP, não precisamos especificar um nome de servidor, caminho ou qualquer outra propriedade, como número de porta, conexão propriedades de tempo limite. O que quer que seja especificado no elemento de configuração HTTP Request Default é herdado por todas as solicitações HTTP.
Neste cenário, se adicionarmos um padrão de solicitação HTTP, não precisamos especificar um nome de servidor, caminho ou quaisquer outras propriedades, como número de porta, propriedades de tempo limite de conexão. O que quer que seja especificado no elemento de configuração HTTP Request Default é herdado por todas as solicitações HTTP.
Veja abaixo como adicionar HTTP Request Default e especificar servidor e caminho.
Gerenciador de Cache HTTP e Gerenciador de cookies HTTP são usados para fazer o JMeter se comportar como um navegador em tempo real. O gerenciador de cache HTTP pode limpar o cache após cada solicitação, enquanto o outro pode gerenciar as configurações de cookies.
Controladores lógicos e temporizadores
Os controladores lógicos e temporizadores ajudam o Jmeter a controlar o fluxo de transações. Os temporizadores garantem o atraso em cada thread caso seja necessário testar algum servidor. Por exemplo, se precisarmos que a solicitação de FTP espere 5 segundos após a solicitação de HTTP ser concluída, podemos adicionar um temporizador lá.
Os controladores lógicos são usados para definir o fluxo de solicitações enviadas ao servidor. Também pode permitir que você armazene solicitações para cada módulo separadamente, como login e logout.
Conclusão
Agora, todos vocês devem ter se familiarizado com os componentes do JMeter e ter tentado usá-lo e devem estar enfrentando alguns problemas. No próximo artigo, iremos cobrir alguns cenários de teste de desempenho em tempo real que abrangem o domínio da mobilidade para que todos vocês tenham mais conhecimento prático sobre o JMeter.
Fique atento! O próximo artigo irá ajudá-lo a gerenciar suas solicitações, bem como analisar resultados e compará-los com os benchmarks de testes de desempenho.
=>Continue lendo a parte III: Processadores e controladores JMeter
qual é o melhor downloader de música grátis
=> Clique aqui para Tutoriais JMeter: O treinamento gratuito completo no JMeter (mais de 20 vídeos)
Leitura recomendada
- Como Obter Correlação JMeter com Exemplo
- Plano de Teste Jmeter e Bancada de Trabalho
- Trabalho com solicitação de FTP no JMeter
- Os 5 principais plug-ins JMeter e como usá-los (com exemplos)
- JMeter Timers: Constant, BeanShell e Guassian Random Timer
- Trabalho com solicitações HTTP no JMeter
- Controladores Jmeter Parte 1
- Controladores Jmeter - Parte 2