Preparando o teste de desempenho para 2023: 5 desafios e soluções da BlazeRunner
O boom de transformação tecnológica e digital de 2022 levou empresas e startups a acelerar a velocidade de desenvolvimento. Os consumidores pediram mais aplicações em prazos menores e com mais qualidade. Quais são os desafios de teste de desempenho para 2023? Descubra tudo neste artigo da BlazeRunner.
Índice

Por Sesha Palakodety, diretor de sucesso do cliente na BlazeRunner.
Em 2022, as empresas recorreram a soluções e metodologias tecnológicas que permitiram responder à demanda crescente e alcançar essas metas: microsserviços, ida para a nuvem e shift left. 2022 está chegando ao fim, e as mudanças rápidas que ele trouxe estão sendo aos poucos substituídas por incerteza global, afetada por eventos internacionais como a guerra na Ucrânia e a recessão econômica.
Como essas mudanças tectônicas vão afetar desenvolvimento e testes? Perguntamos aos clientes da BlazeRunner quais seriam os desafios mais significativos que esperavam enfrentar em 2023.
Resumimos as respostas deles assim, com 5 desafios e soluções propostas: Resumimos as respostas deles assim, com 5 desafios e soluções propostas:
✔️Desafio #1: relatórios e monitoramento dos resultados de teste¶
A qualidade de código impecável virou a expectativa padrão. Agora, num mercado competitivo com recursos limitados, ficou ainda mais importante entregar alta qualidade de código aos clientes. Criar scripts e executar testes de desempenho são só os primeiros passos para garantir a qualidade do código. Depois que os testes rodam, testadores e engenheiros precisam identificar gargalos de CPU, memória ou outros que deixam as transações lentas ou causam outras discrepâncias.
Ao olhar os resultados dos testes, as equipes de desenvolvimento e de DevOps podem definir como corrigir problemas de qualidade de código. Porém, olhar logs de auditoria ou resultados baseados em código é um processo tedioso, que nem sempre ajuda os engenheiros a entender os problemas principais. Esses resultados muitas vezes não têm informação e contexto, e os engenheiros não conseguem extrair insights acionáveis deles.
A solução: relatórios de observabilidade acionáveis e esclarecedores¶
Uma ferramenta de teste automatizado que puxa relatórios e mostra os resultados de teste de aplicação e de protocolo de forma clara e compreensível pode ajudar os engenheiros a entender com facilidade os problemas de código. Exibir métricas como tempo de resposta, taxa de erro e hits/s permite aprofundar os problemas e investigá-los mais. Nesses relatórios, os problemas devem saltar na hora, para que os desenvolvedores foquem em corrigir, não em decifrar.

Também se recomenda encontrar uma ferramenta que se integre a soluções de APM como New Relic, DynaTrace e Datadog. Essas soluções vão mais fundo em métricas de infraestrutura e do lado do servidor, com uma visão ainda mais granular dos eventos e do impacto deles.
Para ter mais insights dos seus testes no BlazeMeter, incluindo insights de erro e identificação mais fácil de gargalos, você pode conhecer a nossa nova ferramenta de observabilidade, BlazeRunner BPI.
O que é o BlazeRunner BPI?¶
O BlazeRunner BPI é uma nova ferramenta SaaS que oferece acesso fácil aos detalhes de erro. Permite que os usuários rodem uma análise rápida de todos os arquivos error.jtl associados a um teste, para entender exatamente o que foi chamado e quais foram as respostas. Isso acrescenta uma camada extra de visibilidade sobre a informação de resumo atual do BlazeMeter.

Para enriquecer a informação da análise, o BlazeRunner BPI também permite importar dados de fontes adicionais, como logs do Perfmon, para melhorar os relatórios existentes. Além disso, o BlazeRunner BPI pode coletar informação de log do ambiente do servidor da aplicação. Isso permite correlacionar os dados aos erros gerados pelo teste, o que facilita analisar dados de fontes diferentes.
✔️Desafio #2: gerenciar a experiência do usuário sob cargas de tráfego¶
O teste tradicionalmente se divide em backend e frontend. Enquanto o teste de backend foca em aspectos como cargas, desempenho do servidor e memória, o teste de frontend observa o que o usuário vai ver na tela. Mas qual é a conexão entre os dois? Para garantir uma experiência do usuário adequada, essencial para se manter competitivo no mercado, as equipes de engenharia devem conseguir entender o que o usuário vê sob cargas pesadas.
Isso exige uma ferramenta dedicada, já que só rodar um teste de frontend e de backend ao mesmo tempo não é preciso o bastante em coordenação de linha do tempo. Também é tecnicamente desafiador sobrepor os dois testes.
A solução: monitoramento da experiência do usuário final¶
O Taurus open source permite rodar um teste Selenium enquanto o teste de carga está em execução e alinhar os dois resultados num único relatório. No relatório, engenheiros e testadores podem ver o ponto de vista do usuário quando o site está sob tráfego pesado. Depois, com base nos resultados, as equipes podem decidir se querem adaptar a UI em alguns casos. Por exemplo, pausar execuções de JavaScript quando o site atinge um certo número de usuários.
Saiba mais sobre como configurar esses testes neste guia da BlazeMeter.
✔️Desafio #3: proteger APIs¶
A frequência e a sofisticação dos ataques de cibersegurança vêm crescendo nos últimos anos, e não se espera que isso mude em 2023. APIs vulneráveis podem ser alvo de atacantes como caminho para acessar a sua infraestrutura, os seus serviços e os seus dados. Autenticação e autorização quebradas, injeções de código, exposição excessiva e logging insuficiente são vulnerabilidades de API que podem ser exploradas por agentes de ameaça e colocar você em risco de vazamento de dados.
A solução: segurança em shift left¶
Hoje, a segurança está indo para a esquerda, e a mitigação de risco passa a ser responsabilidade de desenvolvedores e de DevOps, não só das equipes de segurança. Ao executar testes de API, também é importante incluir teste de segurança de API no fluxo. Esses testes podem validar a aplicação de políticas de segurança como parte da segurança do gateway de API, identificar um número anômalo de hits por segundo que pode indicar um ataque, e registrar e monitorar os resultados.
✔️Desafio #4: encerramento gradual¶
Em cenários de usuário real, os usuários saem da aplicação ou do site em momentos e frequências diferentes. Porém, ao construir testes de desempenho, é comum encerrá-los de forma abrupta. Isso impede testar como o sistema responderia a usuários saindo de forma esporádica. Além disso, threads interrompidas de repente podem exibir erros, que interferem nos resultados do teste. Um teste impreciso pode afetar a produção e a experiência que os clientes têm com o produto.
A solução: incorporar iterações nos testes¶
Para simular um encerramento do mundo real, adicione iterações aos testes baseados em tempo. Então, quando as threads rodarem, também ficarão limitadas a um certo número de iterações e não vão começar uma nova perto do fim do teste só para serem interrompidas. Como resultado, as threads vão conseguir completar todas as iterações e encerrar de forma gradual.


✔️Desafio #5: teste de WebSocket¶
O protocolo WebSocket oferece um canal de comunicação de duas vias entre navegadores e servidores numa única conexão TCP. Com a popularidade crescente, mais empresas buscam soluções de teste de WebSocket. Além disso, precisam de visibilidade do próprio WebSocket.
A solução: samplers de WebSocket do JMeter¶
O JMeter oferece plugins de WebSocket disponíveis para baixar e usar. Esses plugins permitem teste de carga de WebSockets e ganhar visibilidade sobre eles. Saiba como baixar e usar, com cenários de exemplo, neste blog da BlazeMeter.
Olhando para os testes de 2023¶
A qualidade do código é um fator chave num produto bem-sucedido e amplamente adotado. Os cinco desafios listados acima, que tocam observabilidade, experiência do usuário, segurança e tecnologias avançadas, impactam a qualidade do código de várias formas. Ao escolher as ferramentas e metodologias de teste certas, as equipes de engenharia podem entregar funcionalidades de alta qualidade e garantir estabilidade de negócio, para elas e para os clientes, apesar de qualquer mudança externa.
Agende uma consultoria com um dos nossos especialistas em teste na BlazeRunner hoje.
Fique conectado
com a Abstracta
Notícias, artigos e recursos para construir software melhor.
Leia sobre nossa política de privacidade.