Tutorial de teste de carga: o que é? Como? (com exemplos)

Teste de carga

Teste de carga é um processo de teste de software não funcional no qual o desempenho do aplicativo de software é testado sob uma carga esperada específica. Ele determina como o aplicativo de software se comporta ao ser acessado por vários usuários simultaneamente. O objetivo do Teste de Carga é melhorar os gargalos de desempenho e garantir a estabilidade e o bom funcionamento do aplicativo de software antes da implantação.

Este teste geralmente identifica -

  • A capacidade operacional máxima de um aplicativo
  • Determine se a infraestrutura atual é suficiente para executar o aplicativo
  • Sustentabilidade da aplicação em relação ao pico de carga do usuário
  • Número de usuários simultâneos que um aplicativo pode suportar e escalabilidade para permitir que mais usuários o acessem.

É um tipo de teste não funcional. Em Engenharia de Software, o teste de carga é comumente usado para o cliente / servidor, aplicativos baseados na Web - tanto Intranet quanto Internet.

Neste tutorial, você aprenderá-

Necessidade de teste de carga:

Alguns sites extremamente populares sofreram sérios períodos de inatividade quando obtiveram grandes volumes de tráfego. Os sites de comércio eletrônico investem pesadamente em campanhas publicitárias, mas não em testes de carga para garantir o desempenho ideal do sistema, quando esse marketing traz tráfego.

Considere os seguintes exemplos

  • A popular loja de brinquedos Toysrus.com não conseguiu lidar com o aumento do tráfego gerado por sua campanha publicitária, resultando na perda de dólares de marketing e vendas potenciais de brinquedos.
  • O site de uma companhia aérea não conseguiu lidar com mais de 10.000 usuários durante uma oferta do festival.
  • A Enciclopédia Britânica declarou o acesso gratuito ao seu banco de dados online como uma oferta promocional. Eles não foram capazes de acompanhar o ataque do tráfego por semanas.

Muitos sites sofrem atrasos no carregamento quando encontram tráfego pesado. Poucos fatos -

  • A maioria dos usuários clica fora após um atraso de 8 segundos no carregamento de uma página
  • $ 4,4 bilhões perdidos anualmente devido ao mau desempenho

Por que teste de carga?

  • O teste de carga dá confiança no sistema e em sua confiabilidade e desempenho.
  • O Teste de Carga ajuda a identificar os gargalos no sistema em cenários de forte estresse do usuário antes que eles aconteçam em um ambiente de produção.
  • O teste de carga oferece excelente proteção contra baixo desempenho e acomoda estratégias complementares para gerenciamento de desempenho e monitoramento de um ambiente de produção.

Objetivos do teste de carga:

O teste de carregamento identifica os seguintes problemas antes de mover o aplicativo para o mercado ou produção:

  • Tempo de resposta para cada transação
  • Desempenho dos componentes do sistema sob várias cargas
  • Desempenho dos componentes do banco de dados sob diferentes cargas
  • Atraso de rede entre o cliente e o servidor
  • Problemas de design de software
  • Problemas de configuração do servidor, como um servidor Web, servidor de aplicativos, servidor de banco de dados, etc.
  • Problemas de limitação de hardware, como maximização da CPU, limitações de memória, gargalo de rede, etc.

O teste de carga determinará se o sistema precisa ser ajustado ou a modificação de hardware e software é necessária para melhorar o desempenho.

Pré-requisitos do teste de carga:

A principal métrica para o teste de carga é o tempo de resposta. Antes de começar o teste de carga, você deve determinar -

  • Se o tempo de resposta já foi medido e comparado - Quantitativo
  • Se o tempo de resposta é aplicável ao processo de negócios - Relevante
  • Se o tempo de resposta é justificável - realista
  • Se o tempo de resposta é alcançável - Alcançável
  • Se o tempo de resposta é mensurável por meio de uma ferramenta ou cronômetro - Mensurável

Um ambiente precisa ser configurado antes de iniciar o teste de carga:

Plataforma de Hardware Configuração de Software
  • Máquinas Servidoras
  • Processadores
  • Memória
  • Armazenamento em disco
  • Configuração de máquinas de carga
  • Configuração de rede
  • Sistema operacional
  • Software de Servidor

Estratégias de teste de carga:

Existem várias maneiras de realizar o teste de carga. A seguir estão algumas estratégias de teste de carga -

  • Teste de carga manual : Esta é uma das estratégias para executar o teste de carga, mas não produz resultados repetíveis, não pode fornecer níveis mensuráveis ​​de estresse em um aplicativo e é um processo impossível de coordenar.
  • Ferramentas de teste de carga desenvolvidas internamente : Uma organização, que percebe a importância do teste de carga, pode construir suas próprias ferramentas para executar os testes de carga.
  • Ferramentas de teste de carga de código aberto : Existem várias ferramentas de teste de carga disponíveis como código aberto que são gratuitas. Eles podem não ser tão sofisticados quanto seus equivalentes pagos, mas se você estiver com um orçamento limitado, eles são a melhor escolha.
  • Ferramentas de teste de carga de classe empresarial : Eles geralmente vêm com facilidade de captura / reprodução. Eles suportam um grande número de protocolos. Eles podem simular um número excepcionalmente grande de usuários.

Como fazer teste de carga

O processo de teste de carga pode ser descrito resumidamente como abaixo -

  1. Crie um dedicado Ambiente de teste para teste de carga
  2. Determine o seguinte
  3. Cenários de teste de carga
  4. Determinar transações de teste de carga para um aplicativo
    • Prepare os dados para cada transação
    • O número de usuários acessando o sistema precisa ser previsto
    • Determine as velocidades de conexão. Alguns usuários podem ser conectados por meio de linhas alugadas, enquanto outros podem usar dial-up
    • Determine os diferentes navegadores e sistemas operacionais usados ​​pelos usuários
    • Uma configuração de todos os servidores, como servidores web, de aplicativos e de banco de dados
  5. Execução e monitoramento do cenário de teste. Coletando várias métricas
  6. Analise os resultados. Fazer recomendações
  7. Ajuste o sistema
  8. Teste novamente

Diretrizes para teste de carga

  1. O teste de carga deve ser planejado assim que o aplicativo se tornar funcionalmente estável.
  2. Um grande número de dados exclusivos deve estar pronto no pool de dados
  3. O número de usuários deve ser decidido para cada cenário ou scripts
  4. Evite a criação de logs detalhados para conservar o espaço de E / S do disco
  5. Evite baixar imagens no site
  6. A consistência do tempo de resposta ao longo do período decorrido deve ser registrada e a mesma deve ser comparada com várias execuções de teste

Diferença entre teste de carga e estresse:

Teste de carga Teste de Estresse
O teste de carga identifica os gargalos no sistema sob várias cargas de trabalho e verifica como o sistema reage quando a carga é gradualmente aumentada Teste de Estresse determina o ponto de quebra do sistema para revelar o ponto máximo após o qual ele quebra.

Diferença entre teste funcional e de carga:

Teste funcional Teste de carga
Os resultados dos testes funcionais são facilmente previsíveis, pois temos as etapas e condições prévias adequadas definidas Os resultados dos testes de carga são imprevisíveis
Os resultados dos testes funcionais variam ligeiramente Os resultados do teste de carga variam drasticamente
Frequência de execução Teste funcional vai estar alto A frequência de execução do teste de carga será baixa
Os resultados dos testes funcionais dependem dos dados do teste O teste de carga depende do número de usuários.

Ferramentas de teste de carga:

LoadNinja

LoadNinja - está revolucionando a maneira como carregamos o teste. Esta ferramenta de teste de carga baseada em nuvem capacita as equipes a gravar e reproduzir instantaneamente testes de carga abrangentes, sem correlação dinâmica complexa e executar esses testes de carga em navegadores reais em escala. As equipes podem aumentar a cobertura de teste. e reduzir o tempo de teste de carga em mais de 60%.

Beringela

Beringela (agora parte da Keysight Technologies) é um fornecedor premiado de soluções de teste de carga e foi nomeado líder por todos os principais analistas, incluindo Gartner e Forrester. Não lute a guerra de testes de hoje com a tecnologia de ontem.

Load Runner:

Load runner é uma ferramenta da HP usada para testar os aplicativos em condições normais e de pico de carga. O executor de carga gera carga criando usuários virtuais que emulam o tráfego de rede. Ele simula o uso em tempo real como um ambiente de produção e fornece resultados gráficos.

Leia mais sobre o Loadrunner aqui.

Vantagens e desvantagens do teste de carga:

A seguir estão as vantagens do teste de carga:

  • Identificação de gargalos de desempenho antes da produção
  • Melhora a escalabilidade do sistema
  • Minimize o risco relacionado ao tempo de inatividade do sistema
  • Custos de falha reduzidos
  • Aumente a satisfação do cliente

Desvantagens do teste de carga:

  • Precisa de conhecimento de programação para usar ferramentas de teste de carga.
  • As ferramentas podem ser caras, pois o preço depende do número de usuários virtuais com suporte.

Resumo:

  • O teste de carga é definido como um tipo de teste de software que determina o desempenho de um sistema sob condições de carga da vida real.
  • O teste de carga geralmente melhora os gargalos de desempenho, escalabilidade e estabilidade do aplicativo antes de estar disponível para produção.
  • Esse teste ajuda a identificar a capacidade operacional máxima dos aplicativos, bem como os gargalos do sistema.
  • O teste de carregamento é importante porque, se ignorado, causa perdas financeiras.