12
TESTE DE DESEMPENHO (CARGA/STRESS) E SUAS PRINCIPAIS FERRAMENTAS ANTONIO FILHO 26/09/2014

Testes de Desempenho

Embed Size (px)

DESCRIPTION

Testes de Desempenho

Citation preview

Page 1: Testes de Desempenho

TESTE DE DESEMPENHO (CARGA/STRESS) E SUAS PRINCIPAIS FERRAMENTAS

ANTONIO FILHO26/09/2014

Page 2: Testes de Desempenho

Definição

Teste de Desempenho: Processo de teste para determinar (testar/medir) o

desempenho de um software.

Teste de Carga: Tipo de teste de desempenho que mede o comportamento

de um componente ou sistema por meio do aumento de carga.

Teste de Stress: Tipo de teste de desempenho conduzido para avaliar um

sistema ou componente no (ou além do) limite da carga esperada ou especificada.

TESTE DE DESEMPENHO (CARGA/STRESS) E SUAS PRINCIPAIS FERRAMENTAS

Page 3: Testes de Desempenho

Por que teste de desempenho?

Garantir um tempo de resposta dentro dos padrões aceitáveis para evitar o abandono da aplicação (perda de receitas);

Garantir o uptime (alta disponibilidade) de aplicações e serviços de missões criticas (perda de receitas, risco de vida);

Garantir o investimento de TI por meio da previsão da escalabilidade e desempenho da aplicação.

TESTE DE DESEMPENHO (CARGA/STRESS) E SUAS PRINCIPAIS FERRAMENTAS

Page 4: Testes de Desempenho

O que teste de desempenho não é

Teste de desempenho não é teste funcional. As técnicas, ferramentas e habilidades necessárias para realizar teste de desempenho são diferentes.

Pode haver uma intersecção entre ambos tipos de testes, mas nunca serão iguais.

TESTE DE DESEMPENHO (CARGA/STRESS) E SUAS PRINCIPAIS FERRAMENTAS

Page 5: Testes de Desempenho

Utilidade e Tipos de Teste

Testes de carga são capazes de detectar: Bugs que não são detectados em ambientes

normais de execução. Problemas relacionados com “bufferoverflow”,

“memory leaks” e má gestão de memória. Serve de base para determinar os limites dos

recursos dos componentes de uma aplicação de software: Bases de dados, hardware e redes, etc.

TESTE DE DESEMPENHO (CARGA/STRESS) E SUAS PRINCIPAIS FERRAMENTAS

Page 6: Testes de Desempenho

Utilidade e Tipos de Teste

Testes de stress são capazes de detectar: Os pontos (carga necessária) em que um

componente ou um sistema falha, chamados de “breaking points”.

“um sistema sobrecarregado podem revelar erros na implementação do componente ou sistema.” (Pekka Turunen, 1988)

TESTE DE DESEMPENHO (CARGA/STRESS) E SUAS PRINCIPAIS FERRAMENTAS

Page 7: Testes de Desempenho

Tipos de Teste: Carga

Testes de carga simples : Execução de testes que impõe carga máxima em todos os

componentes.

Testes de carga crescente: Execução de carga crescente em todos os componentes

de maneira a detectar qual o limite de cada um.

Testes de carga variável por componente: Testes de carga crescente e variável efetuados a cada

componente de maneira a detectar dependências não previstas entre os componentes.

TESTE DE DESEMPENHO (CARGA/STRESS) E SUAS PRINCIPAIS FERRAMENTAS

Page 8: Testes de Desempenho

Tipos de Teste: Stress

Testes de sensibilidade: Testes realizados com o propósito de descobrir o

impacto da sobrecarga de diferentes componentes de forma a perceber as dependências existentes.

Testes por cenário: Testes baseados em casos reais que exigiriam

uma sobrecarga no sistema.

TESTE DE DESEMPENHO (CARGA/STRESS) E SUAS PRINCIPAIS FERRAMENTAS

Page 9: Testes de Desempenho

Processo

Avaliar as ferramentas disponíveis Levantar os cenários que serão testados Preparar o ambiente de teste Executar os testes Monitorar os testes Relatar os resultados obtidos.

TESTE DE DESEMPENHO (CARGA/STRESS) E SUAS PRINCIPAIS FERRAMENTAS

Page 10: Testes de Desempenho

Principais Ferramentas

AB: Ferramenta de stress do apache, útil para testes

simples de carga Parametrização dos scripts de teste;

JMeter: Funciona bem para gerar cargas

pequenas/média de uma única máquina, testa protocolos diferentes de HTTP e permite criar cenários razoavelmente complexos. Criação de cenários de carga;

TESTE DE DESEMPENHO (CARGA/STRESS) E SUAS PRINCIPAIS FERRAMENTAS

Page 11: Testes de Desempenho

Principais Ferramentas

Tsung: Ferramenta capaz de simular cenários bem complexos

usando modelagem estocástica de usuários. Funciona bem para gerar cargas enormes a partir de várias máquinas.

Slamd: Produto da Sun, permite criação de cenários e funciona de

maneira distribuída, consegue gerar cargas grandes.

Siege: Utilizado para testes simples de carga, consegue gerar

uma carga bem grande a partir de apenas uma estação, de difícil utilização em cenários complexos.

TESTE DE DESEMPENHO (CARGA/STRESS) E SUAS PRINCIPAIS FERRAMENTAS

Page 12: Testes de Desempenho

OBRIGADO!!!

TESTE DE DESEMPENHO (CARGA/STRESS) E SUAS PRINCIPAIS FERRAMENTAS