Sempre pensamos em design de software, testes funcionais, CI/CD, mas sabemos como nossa aplicação se comportará se houver um pico repentino na carga de tráfego? Ou e se houver um tráfego extremo em nossa aplicação durante a temporada de pico de feriados, seremos capazes de evitar uma queda? Para nos salvar dessas condições imprevistas de instabilidade, apenas testes de desempenho agressivos e adequados podem ajudar. O foco do teste de desempenho é medir a velocidade, estabilidade, confiabilidade e escalabilidade de uma aplicação de software.

  • Velocidade. Determinar quão rápido a aplicação responde.
  • Estabilidade. Determinar se a aplicação é estável sob condições de carga variáveis.
  • Confiabilidade. Determinar se a aplicação pode lidar com tolerância a falhas e recuperação.
  • Escalabilidade. Determinar o número máximo de usuários simultâneos que a aplicação pode suportar.
Teste de Carga JMeter com LoadView

Do setup à execução do teste em apenas minutos.

Teste de Desempenho: Colocando Sua Aplicação à Prova

Para garantir que nossa aplicação seja confiável em termos de desempenho e robustez diante de um aumento acentuado no tráfego, precisamos configurar um ambiente próximo ao tempo real onde nossa aplicação é submetida a uma carga agressiva de usuários simultâneos. Para avançar com isso, precisamos de uma ferramenta de desempenho que nos ajude a executar os cenários de teste com usuários desejados e nos ajude a encontrar gargalos na infraestrutura por trás da aplicação.

Depois de definirmos nossos requisitos para testes de desempenho, o próximo passo é encontrar a solução certa que suporte nossas necessidades de teste. Existem muitas soluções e ferramentas de teste de carga, desde ferramentas gratuitas e open-source até opções comerciais altamente complexas que exigem grandes recursos para implementar e executar. É sempre melhor fazer sua própria pesquisa para descobrir qual é a melhor para você; no entanto, encontrar uma solução que seja fácil de usar/iniciar, que possa realizar múltiplos tipos de testes de carga, tenha integrações/suporte para tecnologias populares e forneça todos os relatórios e métricas necessários são fatores críticos.

Neste artigo, vamos olhar as diferenças gerais e básicas entre Gatling e LoadView.

 

Ferramentas de Teste de Desempenho: Gatling

Gatling é uma ferramenta de teste de desempenho open-source. O framework Gatling é baseado 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), que é mais ou menos equivalente ao que JMeter e Tsung usam. No entanto, enquanto JMeter e Tsung usam XML com tags específicas para implementar operações como loops, Gatling permite que os usuários definam classes Scala que oferecem funcionalidade similar, porém mais legível.

 

Vantagens do Gatling

  • Compatibilidade. Funciona com quase todos os sistemas operacionais e qualquer navegador.
  • Open-source. Como o Gatling é open-source e utiliza Scala, que tem uma DSL legível, permite que desenvolvedores criem e executem testes de carga com mais facilidade.
  • Rastreamento de Código. Controle de versões com Gatling permite que equipes rastreiem e reutilizem código para melhor colaboração.
  • Multithreading. A funcionalidade de multithreading, que usa Netty e o toolkit Akka, garante que uma nova thread não seja designada para cada usuário. Em vez disso, usa uma única thread para simular uma série de caminhos de usuários.
  • API de Asserções. Permite que desenvolvedores executem muitos tipos de verificações funcionais em conjunto com o teste.
  • Integração com ferramentas CI/CD. Um dos recursos padrão do Gatling é a integração com ferramentas CI/CD, como Jenkins.
  • Relatórios. O Gatling suporta relatórios gráficos coloridos e informativos com informações valiosas para análise.

 

Desvantagens do Gatling

  • Suporte Limitado a Protocolos. Suporta poucos protocolos como HTTP, WebSockets, eventos enviados pelo servidor e Java Message Service (JMS).
  • Integrações. Não possui integrações próprias para monitoramento do host, sendo comum o uso de aplicações de terceiros para monitoramento.
  • Requisitos de Hardware. Usando a versão gratuita, precisamos ter um servidor que realmente possa gerar a carga pretendida nos testes.

 

Ferramentas de Teste de Desempenho: LoadView

LoadView é uma solução de teste de desempenho baseada em nuvem que permite que desenvolvedores e engenheiros realizem testes de carga contra seus sites, aplicações web, servidores web, serviços web, etc. Usando o EveryStep Web Recorder, os usuários podem rapidamente criar scripts de cenários em nossos sites e aplicações. Podemos então executar testes a partir de múltiplas localizações geográficas sem a necessidade de hardware ou recursos adicionais. Os testes de desempenho LoadView rodam em uma nuvem gerenciada pela LoadView, precisando apenas iniciar o teste criando os cenários no site LoadView. Sempre que executamos um teste, servidores AWS distribuídos geograficamente são iniciados 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 LoadView com nossas ferramentas CI/CD como Jenkins.

 

Vantagens do LoadView

  • Facilidade de Uso. Criar um cenário de teste na LoadView precisa de poucos detalhes preenchidos no navegador, todas as complicações internas de executar scripts, criar servidores e hospedar testes são gerenciadas pela LoadView.
  • EveryStep Web Recorder. O gravador web oferece funcionalidade para registrar cenários de usuário dentro de aplicações e sites web. O gravador suporta diversos navegadores e dispositivos desktop e móveis, além das tecnologias usadas para criar aplicações dinâmicas.
  • Injetores de Carga Virtuais. Utiliza servidores Amazon Web Services localizados em mais de 15 zonas ao redor do mundo.
  • Distribuição da Carga de Usuário. A plataforma permite distribuir a carga dependendo da região de onde a maioria dos visitantes vem.
  • Relatórios. Fornece uma visão geral detalhada dos planos de execução, transações por minuto, tempo médio de resposta e descoberta de erros. Permite revisar o histórico e detalhes do teste a qualquer momento.
  • Integração CI/CD. Suporta integração com Jenkins.
  • Configuração Fácil de Proxy. Testa aplicações internas que estão atrás do firewall.
  • Suporte 24/7. Equipes de suporte estão disponíveis 24 horas por dia, 7 dias por semana para suas dúvidas ou problemas.

 

Desvantagens do LoadView

  • Não é Open-source. Como LoadView é uma ferramenta comercial, há taxas para executar os testes na nuvem. Além disso, quaisquer modificações na ferramenta devem ser feitas pelos canais oficiais de suporte.

 

Comparação: Gatling e LoadView

Vamos analisar algumas das principais diferenças entre Gatling e LoadView.

 

Aspectos Gatling LoadView
Suporte a aplicações para teste de carga Gatling suporta HTTP, WebSockets e JMS. LoadView suporta aplicações complexas, como Flash, HTML5, Java, PHP, JavaScript, Ruby, Silverlight e mais.
Ação de script de usuário Necessário entendimento básico de Scala e linguagem DSL. Um gravador amigável que ajuda a registrar cenários para seus requisitos específicos.
Execução dos testes Executa testes a partir do seu computador ou um grupo de servidores dedicados. Servidores na nuvem totalmente gerenciados.
Teste de carga geo-distribuído É necessário configurar servidores injetores de carga em local dedicado para o teste. Distribui facilmente o tráfego das regiões onde estão seus usuários.
Documentação e suporte Gatling fornece guia rápido e guia do usuário. LoadView possui Base de Conhecimento completa com artigos de suporte e documentação, além de suporte 24/7 por chamada.
Preços Gratuito, pois é open-source. LoadView oferece múltiplas opções de preço para atender suas necessidades.
Integração com ferramentas CI/CD Suporta plugins Jenkins. Suporta plugins Jenkins.
Monitoramento pós-produção É necessário integrar aplicações de terceiros, Gatling não fornece monitoramento em tempo real. Dotcom-Monitor oferece soluções de monitoramento pós-produção para sites e aplicações, ajudando a verificar o status de saúde.

 

Conclusão: Ferramentas de Teste de Desempenho Gatling vs LoadView

Esta foi uma visão geral das ferramentas de teste de desempenho LoadView e Gatling. Claro, à medida que avançamos em nossa jornada para alcançar uma simulação melhor de cenários da vida real, sem dúvida encontraremos muitos desafios e novos insights. Gatling e LoadView cumprem seu propósito com base nos requisitos e cenários de teste. Fizemos uma breve análise de cada ferramenta, seus prós e contras, cobrimos as integrações com Jenkins e o que diferencia cada ferramenta da outra. Muitas organizações e desenvolvedores utilizam ferramentas de teste de carga open-source como Gatling, mas os benefícios que LoadView oferece são imensamente mais poderosos e melhor adequados para atender às necessidades de desenvolvedores e engenheiros de desempenho.

Experimente LoadView por conta própria. Você receberá testes de carga gratuitos para começar. Ou inscreva-se para uma demonstração ao vivo gratuita com um de nossos engenheiros de desempenho. Eles irão guiá-lo pelo processo de configuração e execução do teste de carga.