Newsletter #044 - Quais são os tipos de teste 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 vimos sobre continuos performance e como esta forma de desenvolvimento é ideal para garantir a performance e a qualidade das entregas dos nossos projetos, caso não tenha lido segue o link. Para hoje continuaremos em teste de performance entendendo os tipos de testes que existe, bora lá?
Teste de Performance
Nas semanas anteriores estamos conhecendo um pouco de teste de performance, no primeiro texto trouxe um pouco das terminologias que temos de conhecer e na semana passada vimos sobre continuos performance. Antes de sairmos desenvolvendo os scripts, vamos conhecer o que é teste de performance e seus objetivos, bem como os tipos de teste que você pode desenvolver.
Bom, teste de performance é um subconjunto de testes de software que avalia a capacidade de resposta, estabilidade, escalabilidade e velocidade de um aplicativo sob várias condições. Seu principal objetivo é é identificar gargalos, identificar problemas de desempenho e garantir que o software atenda às expectativas de desempenho antes de chegar aos usuários finais. Quem nunca passou o perrengue de utilizar uma aplicação e seu tempo de resposta está altíssimo ou quando você quer comprar aquele produto em promoção e a página não carrega.
Segundo artigos o tempo de carregamento de uma página interfere em muitos aspectos como ranqueamento do google, experiência do usuário e taxa de conversão, assim o teste de performance traz várias garantias para sua aplicação, como satisfação do usuário (esse o mais importante de todos), confiabilidade do sistema, isto é, saber que a aplicação vai aguentar determinadas tipos de acesso por um período de tempo e escalabilidade na qual com o teste de performance conseguimos garantir que o sistema está escalando de maneira correta e ágil. Por fim, economia dos nossos sistemas, pois com os testes de performance conseguimos validar como estar nossa infraestrutura e o quanto de recurso necessitamos, assim evitamos desperdício de recurso de infra e consequentemente dinheiro.
Após termos entendido o que é teste de performance e o quanto é importante que ele seja implementado nos projetos que atuamos, vamos conhecer os tipos de teste de performance.
Teste de Carga - talvez o teste mais comum dentro do conjunto de testes de performance, seu objetivo é avaliar o desempenho de um sistema sob condições normais e também quando há uma carga esperada. Esse tipo de teste é muito comum em sites que querem garantir que seu produto não está perdendo a performance em condições normais, bem como garantir quando há um evento importante de vendas a aplicação corresponda em alto nível.
Teste de Stress - já nesse tipo de teste o objetivo é determinar e validar a robustez e a capacidade de um sistema ao operar além de seus limites normais ou máximos de carga. Esse tipo de teste é comum para acompanhar como a aplicação e infraestrutura se comporta a uma carga superior ao esperado.
Teste de Escalabilidade - junto com os testes de carga acima um dos testes importantes são de escalabilidade. Atualmente a grande maioria das aplicações utilizam containers, estes podendo ser escalados a partir de um número de acessos simultâneos, assim nesse tipo de teste o objetivo é validar que a escalabilidade está funcionando corretamente, bem como não está havendo gargalos de desempenho no momento do scale.
Teste de Confiabilidade - neste tipo de teste é validado como a infraestrutura se comporta por um longo período sem falhas, esse tipo de teste é muito usado em infraestruturas de mainframe e quando haverá picos de acesso por um período longo de tempo.
Teste de Volume - é um tipo de teste não muito usado mais altamente importante. Muito da perca do desempenho das aplicações se da na camada de banco de dados, assim neste tipo de teste é avaliado o desempenho de um sistema ao processar uma grande quantidade de dados, por exemplo, uma base de dados com milhões de registros para verificar como as operações de leitura/escrita são afetadas.
Teste de Endurance - tipo de teste muito utilizado que tem como objetivo aplicar uma carga de fluxo normal por um período prolongado a fim de garantir que a aplicação com essa carga mesmo sendo normal durante um período prolongado de tempo não perca a performance.
Bom pessoal, na newsletter de hoje o objetivo foi trazer um pouco mais do conceito de teste de performance e seus tipos de teste. Na próxima semana iremos conversar sobre como planejar esse tipo de teste e instalarmos a ferramenta K6, não perca 🚀!
O que rolou de Tecnologia?
Automatize seus relatórios diários de e-mail com Python: um guia passo a passo - python é uma excelente linguagem para realizar automações de rotinas que você tem que realizar diariamente. Neste artigo é apresentado um tutorial de como utilizar python para envio de relatórios por email.
Você provavelmente não precisa de microsserviços - microsserviços se tornaram peça fundamental nos dias de hoje na arquitetura dos sistemas, contudo, sua complexidade deve ser vista para validar a necessidade dessa complexidade nas aplicações. No texto é abordado que muito das vezes é aumentado a complexidade da aplicação por ter usado microsserviços.
24 Técnicas Fundamentais para Arquitetos de Software - artigo muito completo que apresenta uma abordagem rápida e prática de técnicas que são fundamentais para arquitetos de software.
E Qualidade de Software, como está?
Por que mudamos o teste para a esquerda: um ciclo de desenvolvimento de software que não é dimensionado - a mudança do paradigma da participação do QA nos times principalmente para o teste para a esquerda revolucionou a forma como o teste de software é visto, contudo alguns problemas surgem nessa abordagem, este artigo tem como objetivo trazer essa visão.
Testes de desempenho de frontend com Playwright e Lighthouse - atualmente há diversas ferramentas no mercado relacionado a testes de performance, contudo voltado para o frontend são poucas. Neste artigo é abordado como utilizar duas ferramentas para testar a performance do frontend.
Noções básicas de teste de API para iniciantes - dentro da pirâmide de testes, testes de API aparecem como uma camada muito importante de ser testado. Assim, no artigo apresenta um pontapé inicial de como criar testes de API.
Eventos Importantes não perca!
Aprenda a Programar – Seu Portal para o Universo do Código! - Evento Online.
Data: 30/05
Inscrições abertas
Vejo vocês na próxima newsletter 😁🚀!
“Controle o seu desejo – não coloque o seu coração em tantas coisas, só assim você obterá o que precisa.”– Epicteto