SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
INTRODUÇÃO AO
TESTE DE
PERFORMANCE
(DESEMPENHO)
Antonio Lobato
alobato@gmail.com
Mestre em Computação
Analista de Sistemas
MOTIVAÇÃO
Por que teste de Desempenho?
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 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.
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?
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
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( 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?
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.
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 PerformanceTester
• Borland – SilkPerformer
• Gratuitas
• JMeter
• OpenSTA
• WebLoad
• Personalizadas
• Faça você mesmo J
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

Mais conteúdo relacionado

Semelhante a performance para qualidade de desenvolvimento de software

Testes de Performance com JMeter
Testes de Performance com JMeterTestes de Performance com JMeter
Testes de Performance com JMeterEdlaine Zamora
 
Métricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareMétricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareLuiz Borba
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitDomingos Teruel
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aLeonardo Molinari
 
O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?Ariane Izac
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 
Armadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de SoftwareArmadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de Softwarejamersonlima
 
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Igor Abade
 
Engenharia Requisitos
Engenharia RequisitosEngenharia Requisitos
Engenharia Requisitoselliando dias
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)Tiago Vizoto
 
Engenharia de Software: A ponte para um código sustentável
Engenharia de Software: A ponte para um código sustentávelEngenharia de Software: A ponte para um código sustentável
Engenharia de Software: A ponte para um código sustentávelFernando Pontes
 
Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1Lorena Caldas
 
UnP Eng. Software - Aula 25
UnP Eng. Software - Aula 25UnP Eng. Software - Aula 25
UnP Eng. Software - Aula 25Hélio Medeiros
 

Semelhante a performance para qualidade de desenvolvimento de software (20)

Testes de Performance com JMeter
Testes de Performance com JMeterTestes de Performance com JMeter
Testes de Performance com JMeter
 
Métricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareMétricas Em Fabricas De Software
Métricas Em Fabricas De Software
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2a
 
O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Armadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de SoftwareArmadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de Software
 
Processo e Processo de Software
Processo e Processo de SoftwareProcesso e Processo de Software
Processo e Processo de Software
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Qualidade e Testes de Software
Qualidade e Testes de SoftwareQualidade e Testes de Software
Qualidade e Testes de Software
 
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
 
Engenharia Requisitos
Engenharia RequisitosEngenharia Requisitos
Engenharia Requisitos
 
eXtreme Programming
eXtreme ProgrammingeXtreme Programming
eXtreme Programming
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software
Teste de software Teste de software
Teste de software
 
Overview de QA
Overview de QA Overview de QA
Overview de QA
 
Engenharia de Software: A ponte para um código sustentável
Engenharia de Software: A ponte para um código sustentávelEngenharia de Software: A ponte para um código sustentável
Engenharia de Software: A ponte para um código sustentável
 
Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1
 
UnP Eng. Software - Aula 25
UnP Eng. Software - Aula 25UnP Eng. Software - Aula 25
UnP Eng. Software - Aula 25
 

Mais de Antonio Lobato

kubernetes-devops.pptx
kubernetes-devops.pptxkubernetes-devops.pptx
kubernetes-devops.pptxAntonio Lobato
 
ld0mg1hrlhzbyvgfiyyq-signature-d9919623d100cd87ad7553e4c50163aa9329a439464540...
ld0mg1hrlhzbyvgfiyyq-signature-d9919623d100cd87ad7553e4c50163aa9329a439464540...ld0mg1hrlhzbyvgfiyyq-signature-d9919623d100cd87ad7553e4c50163aa9329a439464540...
ld0mg1hrlhzbyvgfiyyq-signature-d9919623d100cd87ad7553e4c50163aa9329a439464540...Antonio Lobato
 
aula03_uml_diagrama_classe.pdf
aula03_uml_diagrama_classe.pdfaula03_uml_diagrama_classe.pdf
aula03_uml_diagrama_classe.pdfAntonio Lobato
 
aula01_computador_Info_Cont.pdf
aula01_computador_Info_Cont.pdfaula01_computador_Info_Cont.pdf
aula01_computador_Info_Cont.pdfAntonio Lobato
 
aula1introducaoarquitetura.pdf
aula1introducaoarquitetura.pdfaula1introducaoarquitetura.pdf
aula1introducaoarquitetura.pdfAntonio Lobato
 
Aula02-RI-Modelo-Booleano.pdf
Aula02-RI-Modelo-Booleano.pdfAula02-RI-Modelo-Booleano.pdf
Aula02-RI-Modelo-Booleano.pdfAntonio Lobato
 

Mais de Antonio Lobato (9)

kubernetes-devops.pptx
kubernetes-devops.pptxkubernetes-devops.pptx
kubernetes-devops.pptx
 
ld0mg1hrlhzbyvgfiyyq-signature-d9919623d100cd87ad7553e4c50163aa9329a439464540...
ld0mg1hrlhzbyvgfiyyq-signature-d9919623d100cd87ad7553e4c50163aa9329a439464540...ld0mg1hrlhzbyvgfiyyq-signature-d9919623d100cd87ad7553e4c50163aa9329a439464540...
ld0mg1hrlhzbyvgfiyyq-signature-d9919623d100cd87ad7553e4c50163aa9329a439464540...
 
aula03_uml_diagrama_classe.pdf
aula03_uml_diagrama_classe.pdfaula03_uml_diagrama_classe.pdf
aula03_uml_diagrama_classe.pdf
 
3-BasesNumericas.ppt
3-BasesNumericas.ppt3-BasesNumericas.ppt
3-BasesNumericas.ppt
 
aula02_uml.pdf
aula02_uml.pdfaula02_uml.pdf
aula02_uml.pdf
 
slide engenharia.pdf
slide engenharia.pdfslide engenharia.pdf
slide engenharia.pdf
 
aula01_computador_Info_Cont.pdf
aula01_computador_Info_Cont.pdfaula01_computador_Info_Cont.pdf
aula01_computador_Info_Cont.pdf
 
aula1introducaoarquitetura.pdf
aula1introducaoarquitetura.pdfaula1introducaoarquitetura.pdf
aula1introducaoarquitetura.pdf
 
Aula02-RI-Modelo-Booleano.pdf
Aula02-RI-Modelo-Booleano.pdfAula02-RI-Modelo-Booleano.pdf
Aula02-RI-Modelo-Booleano.pdf
 

performance para qualidade de desenvolvimento de software

  • 1. INTRODUÇÃO AO TESTE DE PERFORMANCE (DESEMPENHO) Antonio Lobato alobato@gmail.com Mestre em Computação Analista de Sistemas
  • 2. MOTIVAÇÃO Por que teste de Desempenho?
  • 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?
  • 16. FERRAMENTAS • Pagas • HP – Loadrunner • IBM – Rational PerformanceTester • Borland – SilkPerformer • Gratuitas • JMeter • OpenSTA • WebLoad • Personalizadas • Faça você mesmo J
  • 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
  • 19. 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