A Arte dos Testes de Performance Aplicacional<br />DEV310<br />Nuno Baptista Rodrigues<br />Novabase<br />nuno.rodrigues@n...
Testes de Performance Aplicacional<br />Objectivos<br />Factos<br />Riscos<br />Factores Críticos de Sucesso<br />Monitori...
AssociateManager<br />Soluções Automatizadas QA<br />Testing & QualityAssurance<br />Novabase<br />ISTQB certifiedAdvanced...
Testes de Performance<br />
Os Testes de Performance determinam a…<br />Velocidade<br />Escalabilidade<br />Estabilidade<br />Fiabilidade<br />Testes ...
… Enquanto se focam nas<br />Expectativas dos utilizadores<br />Restrições do sistema<br />Custos<br />Testes de Performan...
Especificamente, respondem às questões:<br />Quanto…?<br />Em que condições…?<br />O que acontece se…?<br />Testes de Perf...
Ao saber o que significa performance, podemos…<br />Avaliar o risco<br />Tomar decisões fundamentadas<br />Planear para o ...
Que “rapidez” é suficientemente “rápida”?<br />Baseado no contexto dos sistemas, determinar:<br />Perfil psicológico dos u...
O que permite a simulação de utilizadores?<br />Permite:<br />Agilizar o processo de utilização e monitorização dos sistem...
O que permite a simulação de utilizadores?<br />Cuidados a ter:<br />Resultados a partir de modelos de teste imprecisos sã...
As ferramentas de geração de carga não são perfeitas:<br />Ferramentas de simulação de carga…<br />Não interagem com a ver...
As ferramentas de geração de carga não são perfeitas:<br />Scripting:<br />Record – EDIT – Playback<br />Adicionar a varia...
Gráficos “porreiros”, o que isso significa?!?<br />Porque são tão importantes gráficos simples e claros?<br />A maioria da...
Gráficos “porreiros”, o que isso significa?!?<br />O que necessitam os stakeholders:<br />Respostas… e já! (No entanto pod...
Gráficos “porreiros”, o que isso significa?!?<br />O que recebem normalmente os stakeholders:<br />Descrições técnicas com...
Gráficos “porreiros”, o que isso significa?!?<br />O que deviam receber os stakeholders:<br />Testes de Performance<br />
Será que estamos “tramados”?<br />Factos:<br />A falta de gestão dos testes de performance é muito arriscada<br />A gestão...
Será que estamos “tramados”?<br />Factos:<br />Requisitos de performance:<br />São obtidos de diferentes fontes<br />Devem...
Será que estamos “tramados”?<br />Factos:<br />As ferramentas de geração de carga não devem influenciar o desenho dos test...
Acções para fintarmos o “destino” do insucesso<br />Testes de Performance, para:<br />Iniciar qualquer processo de optimiz...
Acções para fintarmos o “destino” do insucesso<br />Testes de Performance, para:<br />Gestão de desempenho de aplicações d...
Testes de Performance<br />“Because acceptable web site performance is application<br />dependent and web site architectur...
Monitorização<br />
Em geral, pretende-se medir:<br />A Latência (Latency)<br />O nível de Processamento (Throughput)<br />O grau de Utilizaçã...
Latência<br />Latência Aplicacional (ApplicationLatency)<br />Latência de Rede (NetworkLatency)<br />Monitorização<br />
Ruído de Fundo<br />Por vezes é necessário considerar um conjunto de actividades adicionais que reflictam a ocorrência da ...
Latência Vs Carga<br />Monitorização<br />
Processamento:<br />Número de pedidos do cliente processados pelo sistema dentro de uma unidade de tempo, geralmente segun...
Processamento Vs Carga<br />Monitorização<br />
Utilização:<br />Nível de uso dos diferentes recursos de um sistema, como por exemplo: CPU(s), memória, largura de banda.....
Utilização Vs Carga<br />Monitorização<br />
Latência Vs Utilização<br />Monitorização<br />
Ciclo de Vida dos Projectos<br />
Ciclo de Vida dos Projectos<br />
Conclusões<br />
Testes de Performance:<br />Actividade que exige skills específicos<br />Domínio de processos, normas e standards internac...
A Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance Aplicacional
Próximos SlideShares
Carregando em…5
×

A Arte dos Testes de Performance Aplicacional

1.052 visualizações

Publicada em

Microsoft Techdays 2010

Publicada em: Carreiras
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.052
No SlideShare
0
A partir de incorporações
0
Número de incorporações
32
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

A Arte dos Testes de Performance Aplicacional

  1. 1. A Arte dos Testes de Performance Aplicacional<br />DEV310<br />Nuno Baptista Rodrigues<br />Novabase<br />nuno.rodrigues@novabase.pt<br />
  2. 2. Testes de Performance Aplicacional<br />Objectivos<br />Factos<br />Riscos<br />Factores Críticos de Sucesso<br />Monitorização e Análise de Performance Aplicacional<br />Latência<br />Processamento<br />Utilização<br />Ciclo de Vida dos Projectos de Testes de Performance Aplicacional<br />Conclusões<br />A Arte dos Testes de Performance Aplicacional<br />
  3. 3. AssociateManager<br />Soluções Automatizadas QA<br />Testing & QualityAssurance<br />Novabase<br />ISTQB certifiedAdvancedTestManager<br />> 9 Anos Experiência QA<br />Nuno Baptista Rodrigues<br />
  4. 4. Testes de Performance<br />
  5. 5. Os Testes de Performance determinam a…<br />Velocidade<br />Escalabilidade<br />Estabilidade<br />Fiabilidade<br />Testes de Performance<br />
  6. 6. … Enquanto se focam nas<br />Expectativas dos utilizadores<br />Restrições do sistema<br />Custos<br />Testes de Performance<br />
  7. 7. Especificamente, respondem às questões:<br />Quanto…?<br />Em que condições…?<br />O que acontece se…?<br />Testes de Performance<br />
  8. 8. Ao saber o que significa performance, podemos…<br />Avaliar o risco<br />Tomar decisões fundamentadas<br />Planear para o futuro<br />Dormir descansados na noite anterior à entrada em<br /> produção<br />“Thepeaceofmindthatitwillworkongo-livedayalonejustifiesthecostof performance testing” (ScottBarber – ChiefTechnologyOfficerPerfTestplus, Inc)<br />Testes de Performance<br />
  9. 9. Que “rapidez” é suficientemente “rápida”?<br />Baseado no contexto dos sistemas, determinar:<br />Perfil psicológico dos utilizadores<br />Características dos sistemas<br />Características de utilização<br />Para Aferir:<br />Expectativas dos utilizadores<br />Limitações de recursos<br />Expectativas dos stakeholders<br />Testes de Performance<br />
  10. 10. O que permite a simulação de utilizadores?<br />Permite:<br />Agilizar o processo de utilização e monitorização dos sistemas antes da sua entrada em produção<br />A antecipação do diagnóstico de eventuais problemas<br />Agilizar a geração de carga sobre os sistemas<br />Execução e re-execução de testes de forma mais expedita<br />Testes de Performance<br />
  11. 11. O que permite a simulação de utilizadores?<br />Cuidados a ter:<br />Resultados a partir de modelos de teste imprecisos são quase sempre inexactos e frequentemente conduzem a decisões incorrectas<br />A única forma de ter conhecimento sobre a experiência dos utilizadores (tempo de resposta end-to-end) é através da execução de testes que recorram a modelos que envolvam a comunidade de utilizadores reais das aplicações<br />A extrapolação da performance esperada recorrendo a modelos incompletos não resulta<br />Testes de Performance<br />
  12. 12. As ferramentas de geração de carga não são perfeitas:<br />Ferramentas de simulação de carga…<br />Não interagem com a vertente cliente das aplicações<br />Não avaliam de forma nativa a pertinência das páginas devolvidas<br />Não controlam condicionantes da navegação<br />Não controlam bem o abandono de transacções<br />Testes de Performance<br />
  13. 13. As ferramentas de geração de carga não são perfeitas:<br />Scripting:<br />Record – EDIT – Playback<br />Adicionar a variabilização<br />Adicionar tempos de espera<br />Adicionar lógica condicional<br />Adicionar validações para avaliar o retorno de páginas chave<br />Adicionar funções para controlar as situações de abandono das transacções<br />O scripting não é tão fácil quanto os produtores de ferramentas de testes gostariam de nos fazer crer, nem dão resposta a todas as nossas necessidades!<br />Testes de Performance<br />
  14. 14. Gráficos “porreiros”, o que isso significa?!?<br />Porque são tão importantes gráficos simples e claros?<br />A maioria das pessoas nunca vão ler na integra os relatórios de testes de performance<br />A maioria das pessoas não entendem no seu detalhe as várias componentes que compõem a performance<br />Gráficos e quadros impróprios ou confusos podem conduzir a decisões erradas que originam perdas financeiras e arruínam reputações<br />A informação deve ser de fácil e rápida compreensão<br />A esquematização gráfica da informação técnica é crítica para o auxilio da compreensão da mensagem a transmitir<br />Testes de Performance<br />
  15. 15. Gráficos “porreiros”, o que isso significa?!?<br />O que necessitam os stakeholders:<br />Respostas… e já! (No entanto podem nem se quer conhecer as perguntas)<br />De perceber a informação de forma intuitiva<br />De explicações simples de informação altamente técnica<br />De se sentirem habilitados a tomar decisões rápidas e de terem em seu poder as informações que suportam essas decisões<br />Palavras chave e frases claras e concisas que possam usar com outros stakeholders<br />Um sumário e uma conclusão, ambos concisos<br />Recomendações e opções<br />Testes de Performance<br />
  16. 16. Gráficos “porreiros”, o que isso significa?!?<br />O que recebem normalmente os stakeholders:<br />Descrições técnicas complexas<br />Gráficos técnicos complexos<br />Dados no seu estado mais puro<br />Ou seja, são confundidos!<br />Testes de Performance<br />
  17. 17. Gráficos “porreiros”, o que isso significa?!?<br />O que deviam receber os stakeholders:<br />Testes de Performance<br />
  18. 18. Será que estamos “tramados”?<br />Factos:<br />A falta de gestão dos testes de performance é muito arriscada<br />A gestão dos testes de performance melhora a aplicação e dá aos stakeholders confiança no go-live<br />A utilização de uma metodologia aumenta a probabilidade de sucesso<br />A definição de requisitos para os testes de performance é difícil, mas essencial<br />Testes de Performance<br />
  19. 19. Será que estamos “tramados”?<br />Factos:<br />Requisitos de performance:<br />São obtidos de diferentes fontes<br />Devem ser baseados na realidade<br />Devem ter como foco os utilizadores finais<br />Têm de estar contextualizados<br />Os testes de performance devem simular utilizadores reais para que sejam representativos<br />Testes de Performance<br />
  20. 20. Será que estamos “tramados”?<br />Factos:<br />As ferramentas de geração de carga não devem influenciar o desenho dos testes<br />Os resultados nem sempre são o que parecem<br />A curva de degradação de desempenho mostra claramente aos stakeholders o que eles precisam saber<br />O desempenho futuro da aplicação em produção é a nossa herança<br />Testes de Performance<br />
  21. 21. Acções para fintarmos o “destino” do insucesso<br />Testes de Performance, para:<br />Iniciar qualquer processo de optimização<br />Executar testes pró activos e preventivos em relação à degradação do desempenho das soluções<br />Permitir a simulação de centenas ou milhares de utilizadores executando transacções comerciais importantes da aplicação (core business)<br />Testes de Performance<br />
  22. 22. Acções para fintarmos o “destino” do insucesso<br />Testes de Performance, para:<br />Gestão de desempenho de aplicações distribuídas<br />Auxiliar na determinação da origem e causas de estrangulamentos no desempenho<br />Permitir estimar e planear uma eficaz gestão da capacidade<br />Auxiliar na optimização do desempenho do sistema<br />Auxiliar na garantia do sucesso da disponibilização de aplicações<br />Testes de Performance<br />
  23. 23. Testes de Performance<br />“Because acceptable web site performance is application<br />dependent and web site architecture can vary widely from<br />site to site, web site performance analysis can be viewed <br />as more an art than a science.”<br />Microsoft Application and Consulting Engineering (ACE) Team<br />in “Performance Testing Microsoft .NET Web Applications”<br />
  24. 24. Monitorização<br />
  25. 25. Em geral, pretende-se medir:<br />A Latência (Latency)<br />O nível de Processamento (Throughput)<br />O grau de Utilização da aplicação (Utilization)<br />Objectivo:<br />Baixa latência<br />Elevado processamento<br />Baixo nível de utilização<br />Monitorização<br />
  26. 26. Latência<br />Latência Aplicacional (ApplicationLatency)<br />Latência de Rede (NetworkLatency)<br />Monitorização<br />
  27. 27. Ruído de Fundo<br />Por vezes é necessário considerar um conjunto de actividades adicionais que reflictam a ocorrência da degradação de performance causada pela rede ou carga de outras aplicações<br />Monitorização<br />
  28. 28. Latência Vs Carga<br />Monitorização<br />
  29. 29. Processamento:<br />Número de pedidos do cliente processados pelo sistema dentro de uma unidade de tempo, geralmente segundos<br />De uma perspectiva de marketing, o processamento pode também ser medido em termos de visitas por dia ou acessos à página por dia<br />Parâmetro chave para se determinar quais os requisitos de hardware e de sistema necessários para o bom funcionamento da aplicação<br />Representa um papel muito importante na identificação de rupturas no desempenho dos sistemas<br />Monitorização<br />
  30. 30. Processamento Vs Carga<br />Monitorização<br />
  31. 31. Utilização:<br />Nível de uso dos diferentes recursos de um sistema, como por exemplo: CPU(s), memória, largura de banda...<br />A utilização normalmente aumenta num grau proporcional ao crescimento do nível de carga<br />A partir de uma determinada carga a utilização estabilizará e permanecerá constante durante a continuação do crescimento da carga<br />Monitorização<br />
  32. 32. Utilização Vs Carga<br />Monitorização<br />
  33. 33. Latência Vs Utilização<br />Monitorização<br />
  34. 34. Ciclo de Vida dos Projectos<br />
  35. 35. Ciclo de Vida dos Projectos<br />
  36. 36. Conclusões<br />
  37. 37. Testes de Performance:<br />Actividade que exige skills específicos<br />Domínio de processos, normas e standards internacionais<br />Know-How em produtos de suporte<br />Ponto de partida de um processo de optimização<br />Actividade imprescindível para a identificação de eventuais estrangulamentos e as causas da sua origem<br />Actividade de suporte ao processo de gestão de desempenho aplicacional<br />Conclusões<br />

×