giovani facchini facchini@gmail.com mestre em computação aplicada engenheiro de performance (dell)
Post on 18-Apr-2015
111 Views
Preview:
TRANSCRIPT
Introdução ao Teste de Performance (Desempenho)
Giovani Facchinifacchini@gmail.com
Mestre em Computação AplicadaEngenheiro de Performance (Dell)
Motivação
Por que teste de Desempenho?
Loading...
Error - Server Busy
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
Limite da paciência
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.
Limite da paciência
O que é Desempenho?
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
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
(estatístico/Matemático) Administração de Hardware e Sistemas Usabilidade e Segurança
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
Conceitos de testes de Desempenho
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?
Tipos de testes de Performance
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
Atividades de Performance
Processo Microsoft
Atividades dentro do Processo
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
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?
Ferramentas
Pagas HP – Loadrunner IBM – Rational Performance Tester Borland – SilkPerformer
Gratuitas JMeter OpenSTA WebLoad
Personalizadas Faça você mesmo
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
Perguntas??
Links Interessantes
http://www.perftestplus.com/presentations.htm
http://www.loadtester.com/what-makes-good-performance-engineer
http://www.loadtester.com/gone-60-seconds-or-30-or-10
http://en.wikipedia.org/wiki/Software_performance_testing
http://googletesting.blogspot.com/2007/10/performance-testing.html
http://www.performance-workshop.org/
http://msdn.microsoft.com/en-us/library/bb924375.aspx
top related