Sempre pensamos em design de software, testes funcionais, CI/CD, mas sabemos como nosso aplicativo se comportará se virmos um aumento repentino na carga de tráfego. Ou se houver tráfego extremo em nossa aplicação durante a alta temporada de férias, seremos capazes de nos impedir de uma paralisação? Para nos salvar dessas condições imprevistas de cair, apenas testes de desempenho agressivos e adequados podem ajudar. O foco dos testes de desempenho é medir a velocidade, estabilidade, confiabilidade e escalabilidade de um aplicativo de software.

  • Velocidade. Determine a rapidez com que o aplicativo responde.
  • Estabilidade. Determine se a aplicação está estável em condições de carga variadas.
  • Confiabilidade. Determine se o aplicativo pode lidar com a tolerância e recuperação de falhas.
  • Escalabilidade. Determine o número máximo de usuários simultâneos que o aplicativo pode lidar.

 

Teste de desempenho: colocando sua aplicação à prova

Para garantir que nosso aplicativo seja dependente de desempenho e confiável a partir de um aumento acentuado no tráfego, precisaríamos configurar um ambiente próximo ao tempo real onde nosso aplicativo é colocado sob carga agressiva de usuários simultâneos. Para levar isso adiante, precisaríamos de uma ferramenta de desempenho que possa ajudar a executar os cenários de teste com os usuários desejados e pode nos ajudar a encontrar gargalos na infraestrutura por trás do aplicativo.

Uma vez que tenhamos descoberto nossos requisitos de teste de desempenho, o próximo passo é encontrar a solução certa que possa suportar nossos requisitos de teste. Existem muitas soluções e ferramentas de teste de carga, desde ferramentas gratuitas e de código aberto, até opções comerciais altamente complexas que requerem grandes recursos para implementar e executar. É sempre melhor fazer sua própria pesquisa para descobrir qual é o melhor para você, no entanto, encontrar uma solução fácil de usar/spin-up, pode realizar vários tipos de testes de carga, tem integrações/suportes tecnologias populares e fornece todos os relatórios e métricas necessários são todos fatores críticos.

Para este artigo, vamos olhar para as diferenças gerais e básicas de Gatling e LoadView.

 

Ferramentas de teste de desempenho: Gatling

Gatling é uma ferramenta de teste de desempenho de código aberto. A estrutura gatling é fundada em Scala, Akka e Netty. A ferramenta permite que os desenvolvedores construam e executem testes e gerenciem facilmente seus testes localmente ou na nuvem. Para escrever um teste com Gatling, precisamos usar DSL (Domain Specific Language), é mais ou menos igual ao que JMeter e Tsung oferecem. No entanto, enquanto JMeter e Tsung usam XML com suas tags específicas para implementar operações como loops, Gatling permite que os usuários definam classes Scala que oferecem funcionalidade semelhante, mas são muito mais legíveis.

 

Vantagens de Gatling

  • Compatibilidade. Funciona com quase todos os sistemas operacionais e qualquer navegador.
  • Fonte aberta. Como Gatling é de código aberto e utiliza o Scala, que tem DSL legível em humanos, permite que os desenvolvedores engradem e executem testes de carga.
  • Rastreamento de código. A versão com Gatling permite que as equipes rastreiem e reuusem código para uma melhor colaboração.
  • Multithreading. O recurso multithreading, que usa netty e o kit de ferramentas Akka, garante que um novo segmento não seja designado para cada usuário. Em vez disso, ele usa um único segmento para simular uma série de caminhos de usuário.
  • API de afirmações. Permite que os desenvolvedores executem muitos tipos de verificações funcionais em conjunto com o teste.
  • Integração com ferramentas de CI/CD. Uma das características padrão da Gatling é que ele pode ser integrado em ferramentas de CI/CD, como Jenkins.
  • Relatórios. Gatling suporta relatórios gráficos coloridos e informativos contendo informações valiosas para análise.

 

Desvantagens de Gatling

  • Suporte limitado ao protocolo. Ele suporta muito poucos protocolos como HTTP, WebSockets, eventos enviados por servidor e Java Message Service (JMS)
  • Integrações. Ele não tem suas próprias integrações de monitoramento de host, tendemos a usar aplicativos de terceiros para rastrear.
  • Requisitos de hardware. Usando a versão gratuita, precisamos ter um servidor que possa realmente gerar carga que seja pretendida a partir de testes.

 

Ferramentas de teste de desempenho: LoadView

LoadView é uma solução de teste de desempenho baseada em nuvem que permite que desenvolvedores e engenheiros executem testes de carga contra seus sites, aplicativos web, servidores web, serviços web, etc. Usando o EveryStep Web Recorder, os usuários podem rapidamente script cenários através de nossos sites e aplicativos. Podemos então executar testes de vários locais geográficos sem necessidade de hardware ou recursos adicionais. Os testes de desempenho do LoadView são executados em uma nuvem gerenciada pelo LoadView, só precisamos acionar ou iniciar o teste criando cenários de teste no site do LoadView. Sempre que executamos um teste, os servidores AWS geo-distribuídos são girados para gerar os usuários simultâneos necessários para o teste de carga. Também podemos integrar nosso cenário de teste de desempenho do LoadView com nossas ferramentas de CI/CD como Jenkins.

 

Vantagens do LoadView

  • Facilidade de uso. A criação de um cenário de teste no LoadView precisa de poucos detalhes para ser mencionado no navegador, todas as complicações internas de executar um script de teste, criar servidores e testes de hospedagem são assumidas pelo LoadView.
  • EveryStep Web Recorder. O gravador baseado na Web fornece cenários de usuário de registro de funcionalidade em aplicativos e sites da Web. O gravador suporta uma infinidade de navegadores e dispositivos desktop e móveis e suporta tecnologias que são usadas para criar aplicativos dinâmicos.
  • Injetores de carga virtual. Ele utiliza servidores amazon web services localizados em mais de 15 zonas em todo o mundo.
  • Distribua carga do usuário. A plataforma permite que os usuários distribuam carga dependendo da maioria dos visitantes.
  • Reportagem. Ele fornece uma visão geral detalhada extensiva dos planos de execução, transação por minuto, tempo médio de resposta e detecção de erros. Ele nos permite rever o histórico do teste e detalhes a qualquer momento.
  • Integração CI/CD. Apoia a integração com Jenkins.
  • Configuração fácil de proxy. Teste aplicativos internos que estão por trás do firewall.
  • Suporte 24/7. Equipes de suporte estão disponíveis 24 horas por dia, 7º para suas dúvidas ou problemas.

 

Desvantagens do LoadView

  • Não de código aberto. Como o LoadView é uma ferramenta comercial, existem taxas necessárias para executar testes na nuvem. Além disso, quaisquer alterações nas ferramentas teriam de ser feitas através dos canais de apoio adequados.

 

Comparação: Gatling e LoadView

Vejamos algumas das principais diferenças entre Gatling e LoadView.

 

Perspectivas Gatling LoadView
Suporte ao aplicativo de teste de carga Gatling suporta HTTP, WebSockets e JMS. O LoadView suporta aplicativos complexos, como Flash, HTML5, Java, PHP, JavaScript, Ruby, Silverlight e muito mais.
Scripting Ações do Usuário É necessário uma compreensão básica da linguagem Scala e DSL. Um gravador fácil de usar que ajuda a registrar cenários para suas necessidades específicas.
Testes executados Execute testes da sua máquina ou de um grupo de servidores dedicados Servidores em nuvem totalmente gerenciados
Teste de carga geo-distribuído A configuração de servidores injetores de carga em local dedicado para testar é necessária Distribua facilmente o tráfego das regiões onde seus usuários estão localizados.
Documentação e Suporte Gatling fornece um rápido início e guia do usuário. O LoadView possui uma base completa de artigos de conhecimento e documentação, bem como suporte 24 horas por dia, 7 horas por semana.
precificação Livre para usar como é de código aberto O LoadView tem várias opções de preços para atender às suas necessidades.
Integração com ferramentas de CI/CD Suporta plugins Jenkins Suporta plugins Jenkins
Monitoramento pós-produção Precisamos integrar aplicativos de terceiros, gatling não fornece monitoramento em tempo real. O Dotcom-Monitor fornece soluções de monitoramento pós-produção para sites e aplicativos e ajuda a verificar o estado de saúde.

 

Wrapping Up: Ferramentas de teste de desempenho Gatling vs LoadView

Esta foi uma visão geral das ferramentas de teste de desempenho LoadView e Gatling. É claro que, à medida que avançamos em nossa jornada para alcançar um melhor ajuste para simular cenários da vida real, sem dúvida nos depararemos com muitos desafios e novos insights. Gatling e LoadView servem ao seu propósito com base nos requisitos e cenários de teste. Demos uma breve olhada em cada ferramenta, os prós e contras, cobrimos as integrações com Jenkins, e o que diferencia cada ferramenta da outra. Muitas organizações e desenvolvedores utilizam a ferramenta de teste de carga de código aberto como gatling, mas os benefícios que o LoadView oferece são imensamente mais poderosos e mais adequados para atender às necessidades de desenvolvedores e engenheiros de desempenho.

Experimente o LoadView por 30 dias. Você receberá $20 em créditos de teste de carga para começar. Ou inscreva-se para uma demonstração ao vivo gratuita com um de nossos engenheiros de desempenho. Eles vão levá-lo através do processo de configuração e execução de teste de carga.