Quais São Os Tipos De Teste De Performance?

Algum tempo atrás conhecemos um pouco de teste de performance, no primeiro texto trouxe um pouco das terminologias que temos de conhecer. 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, no texto de hoje o objetivo foi trazer um pouco mais do conceito de teste de performance e seus tipos de teste. Nas próximas semanas iremos conversar sobre como planejar esse tipo de teste e conhecer a ferramenta de testes de performance K6.
Espero que tenham gostado do tema e espero Espero vocês no próximo artigo. Para ter conteúdos semanais sobre Tecnologia e Qualidade de Software, assine minha newsletter Tech & Quality 🚀.