Giovani Facchini
[email protected]
Mestre em Computação Aplicada
Engenheiro de Performance (Dell)
Por que teste de Desempenho?
Loading...
Error - Server Busy










Motivação
O limite da paciência de um usuário
O que é Desempenho?
Habilidades necessárias
Conceitos de testes de Desempenho
Processo (ciclos de projeto)
Resultados do Teste
Perguntas respondidas
Ferramentas
Conclusões
0.1 segundos – instantâneo 
1 segundo – limite do fluxo de pensamentos 
10 segundos – limite antes que o usuário
comece a fazer tarefas paralelas 
 > 10 segundos – paraleliza as tarefas (perde a
concentração) 




Novos estudos (2002) apontam para 4
segundos!
[1]"Response Time
in Man-Computer Conversational Transactions," R. B. Miller,
from the proceedings of the AFIPS Fall Joint Computer Conference, 1968.

Velocidade: a aplicação responde rápido?

Escalabilidade: quantos usuários suporta?

Estabilidade/Disponibilidade: vai falhar sobre
carga? com o tempo? Downtime

Vazão: Operações por segundo

Confiança: usuários terão uma boa experiência
Teste Funcional
Análise de Negócio
Programação e Arquitetura
Redes e Protocolos
 Banco de dados e dados para teste
 Planejamento e Gerenciamento
 Análise de resultados e relatórios
(estatístico/Matemático)
 Administração de Hardware e Sistemas
 Usabilidade e Segurança







Engenheiro de Desempenho é um
GENERALISTA
Ele entende um pouco de tudo!
Todas as camadas da aplicação são
importantes, por isso precisam ser
conhecidas

Validação
 SLA? Tempo de Resposta?

Teste
 Até onde o sistema aguenta?
 Qual o comportamento?

Engenharia
 Engloba os outros conceitos e vai além
 Causa raiz? Como melhorar? Onde está o
problema?

Carga: carga esperada (média) do dia-a-dia

Stress: alta carga (pior horário do dia)

Longa Duração: carga esperada (identificar
vazamento de memória)

Pico: pico máximo de utilização





Utilização da infra-estrutura
Tempos de resposta
Capacidade de crescimento
Comparação entre
hardware/software/configuração
Relatórios indicam pontos de melhoria







Qual hardware necessário?
Qual a configuração necessária?
Qual sistema operacional?
Qual banco?
Podemos crescer? Quanto?
Qual o tempo de resposta?
Quais são nossos gargalos?

Pagas
 HP – Loadrunner
 IBM – Rational Performance Tester
 Borland – SilkPerformer

Gratuitas
 JMeter
 OpenSTA
 WebLoad

Personalizadas
 Faça você mesmo 


É necessário saber de tudo um pouco
Teste de Desempenho é importante para:
 Identificar utilização do sistema
 Verificar tempos de resposta
 Aperfeiçoar o ambiente/programa



Se encaixa dentro do ciclo de testes
Existem ferramentas para auxiliar
A experiência do usuário (cliente) está
intimamente ligada com o teste de
desempenho







http://www.perftestplus.com/presentations.htm
http://www.loadtester.com/what-makes-goodperformance-engineer
http://www.loadtester.com/gone-60-secondsor-30-or-10
http://en.wikipedia.org/wiki/Software_performa
nce_testing
http://googletesting.blogspot.com/2007/10/perf
ormance-testing.html
http://www.performance-workshop.org/
http://msdn.microsoft.com/enus/library/bb924375.aspx
Download

Introdução ao Teste de Performance (Desempenho) - aulas