Teste de resistência
Endurance Testing é um tipo não funcional de teste de software em que um software é testado com alta carga estendida por um período significativo de tempo para avaliar o comportamento do aplicativo de software sob uso sustentado. O principal objetivo do teste de resistência é garantir que o aplicativo seja capaz o suficiente para lidar com carga estendida sem qualquer deterioração do tempo de resposta.
Este tipo de teste é executado no último estágio do ciclo de execução de desempenho. O teste de resistência é um processo longo e às vezes dura até um ano. Isso pode incluir a aplicação de cargas externas, como tráfego da Internet ou ações do usuário. Isso torna o teste de resistência diferente do Teste de carga, que geralmente termina em algumas horas ou mais.
Resistência significa capacidade, então em outras palavras, você pode denominar Teste de Resistência como Teste de Capacidade.
Neste tutorial, você aprenderá-
- O que é o teste de resistência?
- Objetivos do teste de resistência
- O que monitorar no teste de resistência
- Como realizar o teste de resistência
- Exemplo de teste de resistência
- Ferramentas de teste de resistência
- Vantagens do teste de resistência
- Desvantagens do teste de resistência
Objetivos do teste de resistência
- O objetivo principal do teste de resistência é verificar se há vazamentos de memória.
- Para descobrir como o sistema funciona sob uso prolongado.
- Para garantir que após um longo período, o tempo de resposta do sistema permanecerá o mesmo ou melhor do que o início do teste.
- Para determinar o número de usuários e / ou transações, um determinado sistema oferecerá suporte e atenderá às metas de desempenho.
- Para gerenciar as cargas futuras, precisamos entender quantos recursos adicionais (como capacidade do processador, capacidade do disco, uso da memória ou largura de banda da rede) são necessários para dar suporte ao uso no futuro.
- O teste de resistência geralmente é feito sobrecarregando o sistema ou reduzindo certos recursos do sistema e avaliando as consequências.
- É executado para garantir que não ocorram defeitos ou vazamentos de memória após o que é considerado um período de uso relativamente "normal".
O que monitorar no teste de resistência
No Teste de Resistência, as coisas a seguir são testadas.
- Teste de vazamento de memória - são feitas verificações para verificar se há vazamento de memória no aplicativo, o que pode causar falha no sistema ou sistema operacional
- Teste o fechamento da conexão entre a camada do sistema - Se a conexão entre as camadas do sistema não for fechada com sucesso, ela pode travar alguns ou todos os módulos do sistema.
- Fechar conexão de banco de dados de teste com sucesso - Se a conexão de banco de dados não for fechada com sucesso, pode resultar em falha do sistema
- Tempo de resposta do teste - o sistema é testado quanto ao tempo de resposta do sistema à medida que o aplicativo se torna menos eficiente como resultado do uso prolongado do sistema.
Como realizar o teste de resistência
Abaixo está a abordagem de teste básico para teste de resistência
- Ambiente de Teste - Identifique o hardware, software, sistema operacional necessário para o teste de resistência, atribuindo funções e responsabilidades dentro da equipe, etc. O ambiente deve estar pronto antes da execução do teste. Você também precisa estimar o tamanho de produção de banco de dados comum e o crescimento anual. Isso é necessário, pois você precisa testar como sua aplicação responderá depois de um, dois ou cinco anos.
- Criando o plano de teste, cenários - com base na natureza do teste - manual ou automação ou combinação de ambos, o design, as revisões e a execução do caso de teste devem ser planejados. Testes para estressar o sistema, testes de breakpoint, etc. também devem fazer parte do plano de teste. O teste de estresse do sistema determina o ponto de interrupção no aplicativo.
- Estimativa de teste - fornece a estimativa de quanto tempo levará para concluir a fase de teste. Deve ser analisado com base no número de testadores envolvidos e no número de ciclos de teste necessários.
- Análise de Risco - Analisar o risco e tomar as medidas cabíveis para a prevenção. A priorização dos casos de teste de acordo com o fator de risco e a identificação do risco abaixo e dos problemas que o testador pode realizar durante o teste de resistência.
- O desempenho permanecerá consistente ao longo do tempo?
- Existem outros problemas menores que ainda não foram detectados?
- Existe interferência externa que não foi resolvida?
- Cronograma de teste - determine o orçamento e as entregas dentro dos prazos. Como o Endurance Testing aplica um enorme, mas natural, arranjo de carga de transações ao sistema / aplicativo por um período contínuo de tempo.
Exemplo de teste de resistência
Enquanto o teste de estresse leva o sistema testado ao seu limite, o teste de resistência leva o aplicativo ao seu limite ao longo do tempo .
Por exemplo, os problemas mais complexos - vazamentos de memória, utilização do servidor de banco de dados e sistema que não responde - acontecem quando o software é executado por um longo período de tempo. Se você pular os testes de resistência, suas chances de detectar tais defeitos antes da implantação são muito baixas.
Ferramentas de teste de resistência
- WebLOAD
- LoadComplete
- Apache JMeter
- LoadRunner
- Appvance
- LoadUI
- OpenSTA
- Rational Performance Tester
Vantagens do teste de resistência
- Ajuda a determinar como a carga de trabalho pode manipular o sistema sob carga.
- Fornece dados precisos que o cliente pode usar para validar ou aprimorar suas necessidades de infraestrutura.
- Identifica problemas de desempenho que podem ocorrer depois que um sistema está funcionando em um nível alto por um longo período de tempo
- Problemas típicos são identificados em testes de desempenho direcionados menores, o que significa que garante que o aplicativo permaneça disponível mesmo quando há uma grande carga em um intervalo de tempo muito curto.
- O teste de resistência também é usado para verificar se há alguma degradação de desempenho após um longo período de execução
Desvantagens do teste de resistência
- Muitas vezes é difícil definir quanto estresse vale a pena aplicar.
- O teste de resistência pode causar falhas de aplicativo e / ou rede que podem resultar em uma interrupção significativa se o ambiente de teste não estiver isolado.
- A perda ou corrupção de dados permanentes pode ocorrer devido ao estresse excessivo do sistema.
- A utilização de recursos permanece muito alta depois que o estresse é removido.
- Alguns componentes do aplicativo não respondem.
- Exceções não tratadas são observadas pelo usuário final.
Resumo:
- Em Engenharia de Software, o teste de resistência é um subconjunto do teste de carga.
- O teste de resistência é um processo longo e às vezes dura até um ano
- As verificações são feitas para verificar
- Teste de vazamento de memória
- Tempo de resposta do teste
- Teste a conexão do banco de dados, etc.
Este artigo é possível devido à contribuição de Unnati Soni.