O que Ă© teste de resistĂȘncia em teste de software? (com exemplo)
⥠Resumo Inteligente
O teste de resistĂȘncia executa um aplicativo sob uma carga normal esperada por um perĂodo prolongado para revelar se o desempenho se degrada com o tempo. Ă o teste que detecta os defeitos que uma execução de carga de uma hora nĂŁo consegue identificar.

O que Ă© teste de resistĂȘncia?
Teste de ResistĂȘncia Ă© um tipo nĂŁo funcional de teste de software em que um software Ă© testado com alta carga e estendido por um perĂodo de tempo significativo para avaliar o comportamento do aplicativo de software sob uso sustentado. O principal objetivo dos testes de resistĂȘncia Ă© garantir que a aplicação seja capaz o suficiente para lidar com cargas prolongadas sem qualquer deterioração no tempo de resposta.
Este tipo de teste Ă© realizado 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 faz com que os testes de resistĂȘncia sejam diferentes dos Teste de carga, que geralmente termina em algumas horas ou mais.
ResistĂȘncia significa capacidade, portanto, em outras palavras, vocĂȘ pode denominar Teste de ResistĂȘncia como Teste de Capacidade.
Objetivos dos testes de resistĂȘncia
- O objetivo principal dos testes de resistĂȘncia Ă© verificar vazamentos de memĂłria.
- Para descobrir como o sistema funciona sob uso sustentado.
- Para garantir que apĂłs um longo perĂodo, o tempo de resposta do sistema permanecerĂĄ igual ou melhor que o inĂcio do teste.
- Para determinar o nĂșmero de usuĂĄrios e/ou transaçÔes que um determinado sistema suportarĂĄ e atingirĂĄ as metas de desempenho.
- Para gerenciar as cargas futuras, precisamos entender quantos recursos adicionais (como capacidade do processador, capacidade do disco, uso de memĂłria ou largura de banda da rede) sĂŁo necessĂĄrios para suportar o uso 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 em testes de resistĂȘncia
Nos testes de resistĂȘncia, as seguintes coisas sĂŁo testadas.
- Teste o vazamento de memĂłriaâ SĂŁo feitas verificaçÔes para verificar se hĂĄ algum vazamento de memĂłria na aplicação, o que pode causar travamento do sistema ou SO
- 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, poderĂĄ travar alguns ou todos os mĂłdulos do sistema.
- Teste a conexĂŁo do banco de dados fechada com sucessoâ Se a conexĂŁo com o banco de dados nĂŁo for fechada com sucesso, poderĂĄ resultar em falha do sistema
- Tempo de resposta do teste â O sistema Ă© testado quanto ao tempo de resposta do sistema Ă medida que a aplicação se torna menos eficiente como resultado do uso prolongado do sistema.
Como realizar testes de resistĂȘncia
Abaixo estĂĄ a abordagem bĂĄsica de teste 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 comum da produção do banco de dados e o crescimento anual. Isso Ă© necessĂĄrio, portanto, vocĂȘ precisa testar como seu aplicativo responderĂĄ apĂłs um ano, dois ou cinco.
- Criando o Plano de Teste, CenĂĄrios â Com base na natureza do teste â manual ou automatizado ou combinação de ambos, Caso de teste design, revisĂ”es e execução devem ser planejados. Testes para estressar o sistema, testes de ponto de interrupção, etc. tambĂ©m devem fazer parte do plano de teste. Testar para estressar o sistema determina o ponto de interrupção no aplicativo.
- Estimativa de teste â Forneça 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 adequadas para a prevenção. Priorização de casos de teste de acordo com o fator de risco e identificação dos riscos e problemas abaixo que o testador pode fazer durante o teste de resistĂȘncia.
- O desempenho permanecerĂĄ consistente ao longo do tempo?
- Existem outros problemas menores que ainda nĂŁo foram detectados?
- HĂĄ interferĂȘncia externa que nĂŁo foi abordada?
- Cronograma de testes â Determine o orçamento e as entregas dentro dos prazos. Como Teste de ResistĂȘncia aplica um arranjo de carga enorme, mas natural, de transaçÔes ao sistema/aplicativo por um perĂodo contĂnuo de tempo.
Exemplo de teste de resistĂȘncia
Embora o Teste de estresse leva o sistema testado aos seus limites, Teste de resistĂȘncia leva a aplicação 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 sistemas que nĂŁo respondem â ocorrem quando o software Ă© executado por um longo perĂodo. Se vocĂȘ ignorar os testes de resistĂȘncia, suas chances de detectar esses defeitos antes da implantação serĂŁo bastante baixas.
Ferramentas de teste de resistĂȘncia
- WebLOAD
- LoadComplete
- Apache JMeter
- LoadRunner
- Avançar
- Carregar UI
- OpenSTAName
- Rational Performance Tester
Vantagens dos testes de resistĂȘncia
- Ajuda a determinar como a carga de trabalho pode ser tratada pelo 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 apĂłs um sistema ter funcionado em alto nĂvel 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 carga enorme em um perĂodo de tempo muito curto.
- O teste de resistĂȘncia tambĂ©m Ă© utilizado para verificar se hĂĄ alguma degradação de desempenho apĂłs um longo perĂodo de execução
Desvantagens dos testes de resistĂȘncia
- Muitas vezes Ă© difĂcil definir quanto vale a pena aplicar de estresse.
- Testes de ResistĂȘncia podem causar falhas em aplicaçÔes e/ou redes que podem resultar em interrupçÔes significativas se Ambiente de teste nĂŁo estĂŁo isolados.
- Permanente A perda ou corrupção de dados pode ocorrer devido à sobrecarga 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.
Como este teste se encaixa na famĂlia de testes de desempenho
Teste de desempenho é um termo genérico. As variantes abaixo diferem apenas na forma da carga aplicada e na duração em que ela é mantida, razão pela qual são frequentemente confundidas umas com as outras.
| Tipo de teste | PadrĂŁo de carregamento | Pergunta que responde |
|---|---|---|
| Teste de carga | Pico de carga esperado, curta duração | O sistema atinge suas metas em condiçÔes normais de pico de tråfego? |
| Teste de estresse | Aumentou além da capacidade até a falha. | Onde ocorre a falha, e ela é resolvida de forma elegante? |
| teste de pico | Aumento repentino e extremo, seguido de retirada. | SerĂĄ que sobrevive e se recupera de um choque de trĂĄfego? |
| Teste de resistĂȘncia | Carga normal mantida por muitas horas | O desempenho se deteriora com o tempo? |
| teste de imersĂŁo | Carga sustentada por um perĂodo prolongado | HĂĄ vazamentos de memĂłria ou esgotamento de recursos? |
| Teste de estabilidade | Carga variåvel em diferentes condiçÔes | O sistema mantém sua confiabilidade mesmo com a mudança das condiçÔes? |
| teste de volume | UsuĂĄrios normais, volume de dados muito grande | SerĂĄ que ele consegue lidar com o crescimento da base de dados? |
Os testes de resistĂȘncia e de imersĂŁo sĂŁo frequentemente tratados como sinĂŽnimos. Em termos comuns, ambos os testes sĂŁo usados ââpara avaliar a capacidade de suportar uma carga constante por um longo perĂodo. Quando as equipes os distinguem, o teste de resistĂȘncia se concentra em verificar se os tempos de resposta aumentam, enquanto o teste de carga se concentra no consumo de recursos, como memĂłria, arquivos e conexĂ”es. Executar um deles geralmente fornece evidĂȘncias para ambos.
Principais métricas a serem coletadas durante o teste
A qualidade de um teste de desempenho depende da qualidade dos registros feitos durante sua execução. Capture esses seis parùmetros no servidor e no cliente e compare-os com a linha de base, em vez de se basear em uma intuição.
| métrico | O que isso te diz | Sinal de aviso |
|---|---|---|
| Tempo mĂ©dio de resposta | ExperiĂȘncia tĂpica do usuĂĄrio | Qualquer deriva ascendente ao longo da rota |
| tempo de resposta do 95Âș percentil | A experiĂȘncia dos usuĂĄrios mais lentos | Muito acima da mĂ©dia, o que significa inconsistĂȘncia. |
| Produtividade | SolicitaçÔes processadas por segundo | Queda com carga constante |
| Taxa de erro | Proporção de solicitaçÔes com falha ou que expiraram. | Qualquer aumento acima do limite acordado |
| Uso de CPU e memória | Espaço livre nos recursos do servidor | Memória que sobe e nunca retorna |
| ConexÔes de banco de dados e threads | exaustão da piscina | Contagens que crescem constantemente sem liberação |
Leia a mĂ©dia e o percentil juntos. Uma mĂ©dia de 800 ms com um percentil 95 de 900 ms descreve um sistema consistente. A mesma mĂ©dia com um percentil 95 de 9 segundos significa que um em cada vinte usuĂĄrios estĂĄ tendo uma experiĂȘncia ruim, e a mĂ©dia estĂĄ mascarando isso.
Observe a forma, não apenas o valor. Em qualquer teste de longa duração, uma linha de recurso eståvel indica aprovação e uma linha ascendente indica vazamento, mesmo quando o valor absoluto ainda estiver confortavelmente dentro do limite no momento em que a execução termina.
Testes de resistĂȘncia: principais conclusĂ”es
- In 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
- VerificaçÔes são feitas para verificar
- Teste o vazamento de memĂłria
- Tempo de resposta do teste
- Teste a conexĂŁo do banco de dados, etc.

