O que é Spike Testing em testes de software? Aprenda com o exemplo
O que é teste de pico?
Teste de pico é um tipo de teste de software em que um aplicativo de software é testado com incrementos e diminuições extremos na carga de tráfego. O principal objetivo do teste de pico é avaliar o comportamento do aplicativo de software sob aumento ou diminuição repentina na carga do usuário e determinar o tempo de recuperação após um pico de carga do usuário.
O Spike Testing é realizado para estimar os pontos fracos dos aplicativos de software.
Objetivo do teste de pico
O objetivo do teste Spike é ver como o sistema responde ao aumento e queda inesperados da carga do usuário. Na engenharia de software, o teste Spike ajuda a determinar a deterioração do desempenho do sistema quando há uma carga alta repentina.
Outro objetivo do Spike Testing é determinar o tempo de recuperação. Entre dois picos sucessivos de carga de usuários, o sistema precisa de algum tempo para se estabilizar. Este tempo de recuperação deve ser o mais baixo possível.
Como fazer testes de pico
Aqui estão as etapas simples para realizar o teste de pico:
Etapa 1) Determinar a capacidade de carga
Determine a capacidade máxima de carga do usuário do seu aplicativo de software.
Etapa 2) Prepare o ambiente de teste
Prepare o ambiente de teste e configure-o para registrar parâmetros de desempenho.
Etapa 3) Definir carga esperada
Aplique a carga máxima esperada ao seu aplicativo de software usando um Ferramenta de teste de desempenho da sua escolha.
Etapa 4) Aumente a carga
Aumente rapidamente a carga do sistema por um período definido.
Etapa 5) Defina a carga de volta ao normal
Reduza gradualmente a carga de volta ao seu nível original.
Etapa 6) Analise os resultados
Analise os gráficos e métricas de desempenho como falhas, tempo gasto, usuários virtuais, etc.
Exemplos de cenários de teste de pico
- Quando uma loja de comércio eletrônico está lançando ofertas especiais com grandes descontos, como na Black Friday.
- Quando um aplicativo da web transmite ao vivo um programa de TV favorito.
- Quando uma venda relâmpago está acontecendo em um site de ofertas diárias.
- Quando determinado conteúdo de um site se torna viral na Internet.
- Um novo sistema é lançado para produção e vários usuários desejam acessá-lo.
- Uma queda de energia pode fazer com que todos os usuários percam o acesso a um sistema. Depois que o problema de interrupção for resolvido, todos os usuários farão login novamente no sistema simultaneamente.
Cenários de recuperação em picos de carga
Três cenários principais de recuperação que podem ser configurados para proteção contra Spikes são:
- Use plataformas em nuvem como AWS, Azure para aumentar dinamicamente a capacidade do servidor em conjunto com a carga do usuário
- Não permita o acesso do aplicativo a alguns usuários, para que o sistema não enfrente carga pesada. Isto impede que pessoas acima da carga máxima projetada entrem no sistema. Assim, protege o sistema da ameaça de carga excessiva.
- O administrador do site permite que os usuários ingressem no sistema. No entanto, com aviso de que eles podem enfrentar uma resposta lenta devido à carga pesada. Isso pode resultar em efeito adverso no desempenho do sistema. Porém, o usuário poderá trabalhar com o sistema.
Vantagens e desvantagens dos testes de pico
Abaixo estão as vantagens e desvantagens do Spike Testing:
Diferenciais | Desvantagens |
---|---|
O desempenho do software deve ser mantido a qualquer custo. No entanto, quando há um aumento extremo na carga de qualquer sistema, há grandes chances de problemas. O Spike Testing ajuda a testar esse cenário. | A única desvantagem do Spike Testing é que é um processo de teste caro. Portanto, foi necessário estabelecer condições especiais de teste. No entanto, a longo prazo, certamente proporcionará um ROI positivo. |
No método de teste padrão, os cenários ruins e pessimistas podem não ser abordados. No entanto, ignorá-los não significa que nunca ocorrerão. Portanto, todo software deve estar preparado para tais possibilidades. Um desses piores cenários é o carregamento, que pode ser avaliado e minimizado com a ajuda de testes de pico. |
Ferramentas de teste de pico
1) JMeter
A Apache JMeter é uma ferramenta de teste de pico de código aberto java. Ele foi especialmente projetado para carregar o comportamento do teste funcional e medir o desempenho. Esta ferramenta de teste de desempenho pode ser usada para analisar e medir o desempenho de aplicativos da web ou de uma variedade de serviços. Hoje, é amplamente utilizado para teste funcional, teste de servidor de banco de dados.
2) LoadRunner
LoadRunner é uma ferramenta de teste de carga para Windows e Linux, que permite testes de pico de aplicativos da web e de outros aplicativos. Ajuda a determinar o desempenho e o resultado da aplicação mesmo sob carga pesada.
Conclusão
- teste de software é um tipo de teste de software em que um aplicativo de software é testado com incrementos e diminuições extremos na carga de tráfego.
- A abordagem correta para fazer testes de pico é aumentar inesperadamente o número de usuários, seguido por uma diminuição imediata na carga.
- A carga inesperada é o principal atributo do negócio.
- Exemplos de cenários de teste Spike da vida real são: quando uma loja de comércio eletrônico está lançando ofertas especiais com grandes descontos, como na Black Friday. Alternativamente, quando um aplicativo da web está transmitindo ao vivo um programa de TV favorito.
- JMeter é uma ferramenta útil para fazer testes de pico.