3. SUMÁRIO
• 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
4. LIMITE DA PACIÊNCIA
• 0.1 segundos – instantâneo JJ
• 1 segundo – limite do fluxo de pensamentos J
• 10 segundos – limite antes que o usuário comece a fazer
tarefas paralelas K
• > 10 segundos – paraleliza as tarefas (perde a
concentração) L
• 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.
6. O QUE É DESEMPENHO?
• Velocidade: a aplicação responde
rápido?
• Escalabilidade: quantos usuários
suporta?
• Estabilidade/Disponibilidade: vai
falhar sobre carga? com o tempo?
7. HABILIDADES NECESSÁRIAS
• 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
8. HABILIDADES NECESSÁRIAS
• 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
9. CONCEITOS DE TESTES DE
DESEMPENHO
• Validação
• SLA( Acordo de Nível de Serviço)? 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?
10. TIPOS DE TESTES DE
PERFORMANCE
• Carga: carga esperada (média) do dia-a-dia( simultâneo)
• Stress: alta carga (pior horário do dia) , acima do valor de carga, para verificar o
comportamento
• Longa Duração: carga esperada (identificar vazamento de memória)
• Pico: pico máximo de utilização
• Como esse software vai gerenciar memória, o heap e o gerenciamento de thread;
• Como sua aplicação aloca logs dentro da "máquina" e se suas regras de compressão de
descarte estão funcionando;
• Como o gerenciamento de certificados do container/máquina conforme o suas definições de
segurança, entre outros.
14. RESULTADOS DO TESTE
• Utilização da infra-estrutura
• Tempos de resposta
• Capacidade de crescimento
• Comparação entre hardware/software/configuração
• Relatórios indicam pontos de melhoria
15. PERGUNTAS RESPONDIDAS
• 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?
17. CONCLUSÕES
• É 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