a arte dos testes de performance aplicacional

41

Click here to load reader

Upload: nuno-baptista-rodrigues

Post on 16-Apr-2017

1.073 views

Category:

Career


0 download

TRANSCRIPT

Page 1: A Arte dos Testes de Performance Aplicacional

A Arte dos Testes de Performance Aplicacional

DEV310

Nuno Baptista [email protected]

Page 2: A Arte dos Testes de Performance Aplicacional

• Testes de Performance Aplicacional• Objectivos• Factos• Riscos• Factores Críticos de Sucesso

• Monitorização e Análise de Performance Aplicacional• Latência• Processamento• Utilização

• Ciclo de Vida dos Projectos de Testes de Performance Aplicacional

• Conclusões

A Arte dos Testes de Performance Aplicacional

Page 3: A Arte dos Testes de Performance Aplicacional

• Associate Manager• Soluções Automatizadas QA• Testing & Quality Assurance• Novabase• ISTQB certified Advanced Test

Manager• > 9 Anos Experiência QA

Nuno Baptista Rodrigues

Page 4: A Arte dos Testes de Performance Aplicacional

Testes de Performance

Page 5: A Arte dos Testes de Performance Aplicacional

• Os Testes de Performance determinam a…

• Velocidade• Escalabilidade• Estabilidade• Fiabilidade

Testes de Performance

Page 6: A Arte dos Testes de Performance Aplicacional

• … Enquanto se focam nas• Expectativas dos utilizadores• Restrições do sistema• Custos

Testes de Performance

Page 7: A Arte dos Testes de Performance Aplicacional

• Especificamente, respondem às questões:

• Quanto…?• Em que condições…?• O que acontece se…?

Testes de Performance

Page 8: A Arte dos Testes de Performance Aplicacional

• Ao saber o que significa performance, podemos…

• Avaliar o risco• Tomar decisões fundamentadas• Planear para o futuro• Dormir descansados na noite anterior à entrada em produção

“The peace of mind that it will work on go-live day alone justifies the cost of performance testing” (Scott Barber – Chief Technology Officer PerfTestplus, Inc)

Testes de Performance

Page 9: A Arte dos Testes de Performance Aplicacional

• Que “rapidez” é suficientemente “rápida”?

• Baseado no contexto dos sistemas, determinar:• Perfil psicológico dos utilizadores• Características dos sistemas• Características de utilização

• Para Aferir:• Expectativas dos utilizadores• Limitações de recursos• Expectativas dos stakeholders

Testes de Performance

Page 10: A Arte dos Testes de Performance Aplicacional

• O que permite a simulação de utilizadores?

• Permite:• Agilizar o processo de utilização e monitorização dos

sistemas antes da sua entrada em produção• A antecipação do diagnóstico de eventuais problemas• Agilizar a geração de carga sobre os sistemas• Execução e re-execução de testes de forma mais

expedita

Testes de Performance

Page 11: A Arte dos Testes de Performance Aplicacional

• O que permite a simulação de utilizadores?

• Cuidados a ter:• Resultados a partir de modelos de teste imprecisos são quase

sempre inexactos e frequentemente conduzem a decisões incorrectas• 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

• A extrapolação da performance esperada recorrendo a modelos incompletos não resulta

Testes de Performance

Page 12: A Arte dos Testes de Performance Aplicacional

• As ferramentas de geração de carga não são perfeitas:

• Ferramentas de simulação de carga…• Não interagem com a vertente cliente das aplicações• Não avaliam de forma nativa a pertinência das páginas

devolvidas• Não controlam condicionantes da navegação• Não controlam bem o abandono de transacções

Testes de Performance

Page 13: A Arte dos Testes de Performance Aplicacional

• As ferramentas de geração de carga não são perfeitas:

• Scripting:• Record – EDIT – Playback• Adicionar a variabilização• Adicionar tempos de espera• Adicionar lógica condicional• Adicionar validações para avaliar o retorno de páginas chave• Adicionar funções para controlar as situações de abandono das transacções

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!

Testes de Performance

Page 14: A Arte dos Testes de Performance Aplicacional

• Gráficos “porreiros”, o que isso significa?!?

• Porque são tão importantes gráficos simples e claros?• A maioria das pessoas nunca vão ler na integra os relatórios de testes de

performance• A maioria das pessoas não entendem no seu detalhe as várias

componentes que compõem a performance• Gráficos e quadros impróprios ou confusos podem conduzir a decisões

erradas que originam perdas financeiras e arruínam reputações• A informação deve ser de fácil e rápida compreensão• A esquematização gráfica da informação técnica é crítica para o auxilio da

compreensão da mensagem a transmitir

Testes de Performance

Page 15: A Arte dos Testes de Performance Aplicacional

• Gráficos “porreiros”, o que isso significa?!?

• O que necessitam os stakeholders:• Respostas… e já! (No entanto podem nem se quer conhecer as perguntas)• De perceber a informação de forma intuitiva• De explicações simples de informação altamente técnica• De se sentirem habilitados a tomar decisões rápidas e de terem em seu

poder as informações que suportam essas decisões• Palavras chave e frases claras e concisas que possam usar com outros

stakeholders• Um sumário e uma conclusão, ambos concisos• Recomendações e opções

Testes de Performance

Page 16: A Arte dos Testes de Performance Aplicacional

• Gráficos “porreiros”, o que isso significa?!?

• O que recebem normalmente os stakeholders:• Descrições técnicas complexas• Gráficos técnicos complexos• Dados no seu estado mais puro• Ou seja, são confundidos!

Testes de Performance

Page 17: A Arte dos Testes de Performance Aplicacional

• Gráficos “porreiros”, o que isso significa?!?

• O que deviam receber os stakeholders:

Testes de Performance

Page 18: A Arte dos Testes de Performance Aplicacional

• Será que estamos “tramados”?

• Factos:• A falta de gestão dos testes de performance é muito

arriscada• A gestão dos testes de performance melhora a aplicação e

dá aos stakeholders confiança no go-live• A utilização de uma metodologia aumenta a probabilidade

de sucesso• A definição de requisitos para os testes de performance é

difícil, mas essencial

Testes de Performance

Page 19: A Arte dos Testes de Performance Aplicacional

• Será que estamos “tramados”?

• Factos:• Requisitos de performance:

• São obtidos de diferentes fontes• Devem ser baseados na realidade• Devem ter como foco os utilizadores finais• Têm de estar contextualizados

• Os testes de performance devem simular utilizadores reais para que sejam representativos

Testes de Performance

Page 20: A Arte dos Testes de Performance Aplicacional

• Será que estamos “tramados”?

• Factos:• As ferramentas de geração de carga não devem influenciar

o desenho dos testes• Os resultados nem sempre são o que parecem• A curva de degradação de desempenho mostra claramente

aos stakeholders o que eles precisam saber• O desempenho futuro da aplicação em produção é a nossa

herança

Testes de Performance

Page 21: A Arte dos Testes de Performance Aplicacional

• Acções para fintarmos o “destino” do insucesso

• Testes de Performance, para:• Iniciar qualquer processo de optimização• Executar testes pró activos e preventivos em relação à

degradação do desempenho das soluções• Permitir a simulação de centenas ou milhares de

utilizadores executando transacções comerciais importantes da aplicação (core business)

Testes de Performance

Page 22: A Arte dos Testes de Performance Aplicacional

• Acções para fintarmos o “destino” do insucesso

• Testes de Performance, para:• Gestão de desempenho de aplicações distribuídas• Auxiliar na determinação da origem e causas de

estrangulamentos no desempenho• Permitir estimar e planear uma eficaz gestão da capacidade• Auxiliar na optimização do desempenho do sistema• Auxiliar na garantia do sucesso da disponibilização de

aplicações

Testes de Performance

Page 23: A Arte dos Testes de Performance Aplicacional

Testes de Performance

“Because acceptable web site performance is applicationdependent and web site architecture can vary widely fromsite to site, web site performance analysis can be viewed as more an art than a science.”

Microsoft Application and Consulting Engineering (ACE) Teamin “Performance Testing Microsoft .NET Web Applications”

Page 24: A Arte dos Testes de Performance Aplicacional

Monitorização

Page 25: A Arte dos Testes de Performance Aplicacional

• Em geral, pretende-se medir:• A Latência (Latency)• O nível de Processamento (Throughput)• O grau de Utilização da aplicação (Utilization)

• Objectivo:• Baixa latência• Elevado processamento• Baixo nível de utilização

Monitorização

Page 26: A Arte dos Testes de Performance Aplicacional

• Latência• Latência Aplicacional (Application Latency)• Latência de Rede (Network Latency)

Monitorização

Page 27: A Arte dos Testes de Performance Aplicacional

• Ruído de Fundo• 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

Monitorização

Page 28: A Arte dos Testes de Performance Aplicacional

• Latência Vs Carga

Monitorização

Page 29: A Arte dos Testes de Performance Aplicacional

• Processamento:• Número de pedidos do cliente processados pelo sistema dentro de

uma unidade de tempo, geralmente segundos• De uma perspectiva de marketing, o processamento pode também

ser medido em termos de visitas por dia ou acessos à página por dia

• Parâmetro chave para se determinar quais os requisitos de hardware e de sistema necessários para o bom funcionamento da aplicação

• Representa um papel muito importante na identificação de rupturas no desempenho dos sistemas

Monitorização

Page 30: A Arte dos Testes de Performance Aplicacional

• Processamento Vs Carga

Monitorização

Page 31: A Arte dos Testes de Performance Aplicacional

• Utilização:• Nível de uso dos diferentes recursos de um sistema, como

por exemplo: CPU(s), memória, largura de banda...• A utilização normalmente aumenta num grau proporcional

ao crescimento do nível de carga• A partir de uma determinada carga a utilização estabilizará

e permanecerá constante durante a continuação do crescimento da carga

Monitorização

Page 32: A Arte dos Testes de Performance Aplicacional

• Utilização Vs Carga

Monitorização

Page 33: A Arte dos Testes de Performance Aplicacional

• Latência Vs Utilização

Monitorização

Page 34: A Arte dos Testes de Performance Aplicacional

Ciclo de Vida dos Projectos

Page 35: A Arte dos Testes de Performance Aplicacional

Ciclo de Vida dos Projectos

Preparação

Produtos de Suporte

Aquisição know-how

Transacções Críticas

Page 36: A Arte dos Testes de Performance Aplicacional

Conclusões

Page 37: A Arte dos Testes de Performance Aplicacional

• Testes de Performance:• Actividade que exige skills específicos• Domínio de processos, normas e standards internacionais• Know-How em produtos de suporte• Ponto de partida de um processo de optimização• Actividade imprescindível para a identificação de eventuais

estrangulamentos e as causas da sua origem• Actividade de suporte ao processo de gestão de

desempenho aplicacional

Conclusões

Page 38: A Arte dos Testes de Performance Aplicacional

Q & A

Page 40: A Arte dos Testes de Performance Aplicacional
Page 41: A Arte dos Testes de Performance Aplicacional