Teste de Estresse

É realizado para submeter o software a situações extremas. Basicamente, o teste de estresse baseia-se em testar os limites do software e avaliar seu comportamento. Assim, avalia-se até quando o software pode ser exigido e quais as falhas (se existirem) decorrentes do teste.

Os testes de estresse são fundamentais em aplicações em que a eficiência seja uma característica importante. Por exemplo:
  •  servidores de arquivos e servidores web, que devem atender a solicitações de um
    grande número de clientes;
  •  aplicações industriais, tais como o controle de
    uma refinaria de petróleo;
  •  jogos de computador, que precisam de um desempenho aceitável
    para serem viáveis comercialmente.
Vamos considerar como exemplo a implementação de um servidor web utilizado em e-commerce. Ao estabelecer os requisitos do sistema, fixou-se um máximo de 5000 transações por minuto para uma determinada plataforma de execução. Um teste de estresse pode, então, ser feito para responder a várias perguntas:
  •  o sistema consegue atingir o objetivo?
  •  qual o número máximo de transações realmente possível?
  •  se a plataforma de execução se degradar (por exemplo, uma falha parcial de rede, falta de espaço em disco, etc.), como o sistema se comportará?
Em certos casos é preferível que a execução do programa seja mantida mesmo que se degrade, evitando uma parada completa. Um exemplo típico são sistemas financeiros.

Possibilidades de falhas sob condições de operação difícil, como registrar operações incorretas, devem ser detectadas e evitadas. Um bom teste de estresse deve poder revelar essas informações aos avaliadores.

A grande dificuldade de realizar um teste de estresse é configurar adequadamente a plataforma de execução. Por exemplo: se o avaliador está interessado em saber a quantidade mínima de memória disponível para que um programa funcione, retirar fisicamente chips de RAM é uma solução muito trabalhosa. Além de RAM, há diversos outros parâmetros, como disco, CPU e instalações de rede, e seria inviável montar e desmontar um computador com diferentes configurações para todos os testes. Para isso, utilizam-se ferramentas de estresse.

Um exemplo de ferramenta que pode ser utilizada para um teste de estresse é o WinStress, da Ultra-X. Trata-se de um programa que permite reduzir artificialmente o desempenho de um computador, de acordo com a configuração desejada pelo avaliador. É possível variar parâmetros como carga de CPU, memória disponível, espaço em disco disponível e carga de rede.

Existem também ferramentas específicas para teste de aplicações em rede. Tais ferramentas permitem testar um programa simulando um número arbitrário de conexões. Alguns exemplos são DieselTest e OpenSTA, para aplicações Internet, e DBMonster, para teste de aplicações SQL.

Veja também:

Teste de Caixa-Preta
Teste de Caixa-Branca
Teste de Integração
Teste de Orientado a Objetos
Teste de Aceitação

Comentários

  1. Parabéns pela explicação, foi de grande valia, perfeita - att, Elizabete

    ResponderExcluir
  2. Muito bem explicado mesmo. Com bons exemplos. Parabéns.
    Att Rodrigo...

    ResponderExcluir
  3. Muito bom, o artigo. Obrigado.

    ResponderExcluir
  4. Parabéns, excelente explicação.
    att, Tarles Almeida.

    ResponderExcluir

Postar um comentário

Indique ou comente o post. Obrigado pela visita!

Postagens mais visitadas deste blog

Teste de Caixa-Preta

Teste de Caixa-Branca

Plano de Teste - Padrão IEEE 829-1998

Teste de Integração

Teste de Aceitação