Newsletter #045 - Planejamento para os testes de performance
Seu newsletter semanal voltado para tecnologia e qualidade de software
Olá pessoal, mais uma semana de newsletter voltado para tecnologia e qualidade de software.
Na semana passada conhecemos um pouco mais sobre os tipos de teste de performance, caso não tenha lido segue o link. Nesta semana continuaremos sobre testes de performance entendendo um pouco mais sobre como planejar os testes de performance, então bora lá?
Planejamento para os testes de performance
Assim como os demais tipos de teste que conhecemos, os testes de performance necessita de um planejamento bem estruturado para que o teste consiga realizar seu objetivo principal, que é garantir a entrega de qualidade para o cliente. Para o teste de perfomance a primeira pergunta que devemos responder é Qual o objetivo dos testes de performance no seu projeto?.
A partir da resposta dessa pergunta que continuaremos os próximos passos, por exemplo, há projetos que o teste de performance tem o foco em um evento em específico como Black Friday, Natal e eventos esporádicos, então nesse tipo de teste o foco é garantir que o projeto que temos irá funcionar corretamente com um grande número de acessos. Bom após você responder a pergunta principal vamos para o próximo passo:
Definir cenários: após responder o objetivo o próximo passo é definir os cenários que serão cobertos para esse tipo de teste, aqui você deve estudar quais APIs são estressadas, qual fluxo que é mais utilizado pelo usuário e estruturar junto com o time de engenharia para que você iniciem a escrita dos códigos em k6.
Monitoramento: após escolher os cenários é extremamente importante que o time de engenharia tenha um monitoramento de como está a aplicação no momento do teste de performance. Neste monitoramento deve estar a visão de como está as APIs, banco de dados e alarmes, pois como iremos estressar o ambiente é interessante validar que o monitoramento está funcionando corretamente, bem como coletar dados do teste de performance para aplicar melhorias.
Scripting: agora que garantiu os cenários que vão ser testados e tem monitoramento robusto, desenvolva scripts para simular o comportamento do usuário, incluindo navegação e entrada de dados.
Baseline: para o teste de performance é importante ter um baseline tanto de infraestrutura como também de performance para que os testes garantam que essa baseline não seja comprometida. Por exemplo para o primeiro teste é interessante coletar dados de utilização dos usuários como comportamento de response time das aplicações e número de requests para que essas sejam as primeiras metas e caso haja um comprometimento dessas metas durante o teste de performance, você já terá um ponto de melhoria.
Execução: após todo o planejamento é executar os testes. No dia da execução é importante garantir que todos que possuem entendimento das APIs que serão testadas estejam no teste, bem como DevOps e SREs que conhecem de monitoramento para acompanhar a infraestrutura e a performance do ambiente, sem esses profissionais o teste pode ser comprometido por falta de dados e visão global do que está sendo testado.
Análise: Por fim, após a execução o mais importante de tudo é análise todo o comportamento que a aplicação teve durante o teste. Essa análise tem como objetivo primeiro garantir que a baseline não foi comprometida bem como validar como a aplicação se comportou e quais os pontos de melhoria que deve ser feito para o próximo teste.
Bom hoje entendemos um pouco mais sobre como planejar os testes de performance. Vale ressaltar que cada projeto e aplicação possuem comportamentos diferentes, é muito importante a participação de todos do time para cada etapa que foi dito, e ressaltar também que os testes de performance é papel de todos, desde definir os cenários até no dia da execução.
Para a próxima semana continuaremos em testes de performance, conhecendo um pouco das métricas que devemos seguir durante a execução de testes e para baseline. Após esse conhecimento vamos conhecer sobre o K6 e criar os primeiros scripts, não perca 🚀!
O que rolou de Tecnologia?
Bend – uma linguagem enferrujada que turbina a computação paralela como nunca antes - computação paralela principalmente utilizando placas de vídeo está em alta no momento, assim Bend surge para ser uma linguagem voltada para essa tecnologia e de fácil utilização.
Desempenho de modelo de linguagem em análise de série temporal - artigo muito interessante para quem quer explorar mais sobre modelos de linguagem, na qual mostra como esses modelos abordam em cima de anomalias.
Implante o aplicativo React.js usando AWS S3 e use pipelines GitLab para implantação automática 2024 - combinação de React com uma infraestrutura em nuvem é pré-requisito para uma vaga na área de desenvolvimento, assim nesse tutorial é apresentado como implantar um projeto React na AWS S3 utilizando o Gitlab.
E Qualidade de Software, como está?
Adaptabilidade: o superpoder dos QAs bem-sucedidos - excelente artigo que traz uma visão de como é importante a adaptabilidade para que o QA seja bem sucedido, com exemplos.
A terceirização de controle de qualidade ainda vale a pena hoje? - artigo muito interessante que apresenta uma visão sobre projetos e empresas que realizam a terceirização da qualidade de software (utilização de consultorias) e quais são suas desvantagens e benefícios.
Exemplos reais de design de testes - design de testes não é uma tarefa fácil, assim neste artigo mostra exemplos reais de como aplicar design de testes para que seus testes saiam de uma forma bem sucedida.
Eventos Importantes não perca!
OWASP A3 - Injeção: Protegendo suas Aplicações contra Ataques - Evento Online.
Data: 30/06
Inscrições abertas
Vejo vocês na próxima newsletter 😁🚀!
“De todas as paixões baixas, o medo é a mais amaldiçoada.”– Shakespeare