SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
COMO INICIAR
TESTES DE
PERFORMANCE
EM UMA
APLICAÇÃO WEB
Alessandra Paz
Quem somos...
Comunidade
apaixonada por
Qualidade de
Software Ajudamos
pessoas
interessadas
em Qualidade
Conectamos
pessoas para
compartilhar
conhecimento Realizamos
eventos,
promovemos
debates...
...com o apoio
de voluntários
e da SUCESU-
RS
Esperamos a
sua
participação
ativa...
...trocando
experiências,
palestrando,
ouvindo...
...sempre
respeitando
opiniões
divergentes
Crie,
Inove,
Faça parte
desta colmeia!
Fique ligado nos
próximos eventos!
26/07/17 – Desmistificando desenv SW e UX
03/08/17 - III EVENTO GUGCI
05/08/17 – DevOps Day Porto Alegre
19/08/17 – Agile Testers Conf Porto Alegre
26/08/17 - GUDay 2017 - A Tecnologia a favor dos
Negócios
25 e 26/08/17 – Django Girls Novo Hamburgo
COMO INICIAR OS
TESTES DE
PERFORMANCE EM
UMA APLICAÇÃO WEB
Alessandra M. Paz Milani
◉ 14+ anos trabalhando com desenvolvimento de sistemas
◉ 7+ anos Performance Engineer
◉ Software Specialist @ ADP Labs
◉ Empresas anteriores: DELL, PUCRS e Banrisul
◉ Formação: Análise de Sistemas, MBA em Gestão de Projetos e
Mestrado em Ciência da Computação (em andamento)
Por que o
tempo e o
desempenho
importam?
[Denys Mishunov - https://www.smashingmagazine.com/2015/09/why-performance-matters-the-perception-of-time/]
“
Compradores online esperam
que suas páginas carreguem em
2 segundos ou menos!
Depois de 3 segundos cerca de
40% irão abandonar o site!
[Forrester Consulting, “eCommerce Web Site Performance Today: An Updated Look At Consumer Reaction To A Poor Online Shopping Experience – 2009]
1 segundo
DROP
Performance
Número de conversões
Performance
Improvement
Número de conversões
[Denys Mishunov - https://www.youtube.com/watch?v=j9TrSkLZa5A]
Por que rápido
nem sempre
significa melhor
quando falamos
de aplicações
web?
[Denys Mishunov - https://www.smashingmagazine.com/2015/09/why-performance-matters-the-perception-of-time/]
(1) Fases do Teste
(2) Tipos de Teste e
Requisitos não funcionais
(3) Ferramentas
Show!
E agora por onde eu começo?
(4) Artefatos: Scripts,
Scenarios e Report
(5) Análise dos Resultados
e Monitoramento
Fases do Teste de
Performance
Let’s get started!
1
Fases do Teste de
Performance
Requisito
Necessidade de Negócio
Planejamento
Preparação do Teste:
Dados, Scripts,
Scenarios e Monitores
Execução do Teste
Análise dos Resultados
Entrega
Relatório Final
Tipos de Teste e
Requisitos
Quais os principais tipos de teste de desempenho?
Quais os requisitos de desempenho da aplicação? Por que isso importa?
2
Requisitos do Teste de
Performance
◉ IEEE Guide to SRS (software requirements specification)…
[http://standards.ieee.org/findstds/standard/830-1984.html]
desde 1984!
Requisitos do Teste de
Performance
◉ Alguns exemplos de requisitos não funcionais de performance:
 Capacidade
 Responsível
 Confiabilidade
Quantos usuário acessam a aplicação (diariamente/hora)?
Quantos requests ou transações a aplicação deve suportar
por segundo/minuto/hora?
Como é a distribuição dos usuários por localização?
Requisitos do Teste de
Performance
◉ Alguns exemplos de requisitos não funcionais de performance:
 Capacidade
 Responsível
 Confiabilidade
Qual o tempo de resposta esperado para as transações
críticas?
Há alguma restrição de negócio para alguma
funcionalidade?
Há algum SLA definido? Alguma especificidade por
região?
Requisitos do Teste de
Performance
◉ Alguns exemplos de requisitos não funcionais de performance:
 Capacidade
 Responsível
 Confiabilidade
Qual a taxa de erros aceitável?
(ex. # transações que falharam por Segundo/minuto)
Qual o tempo para a primeira falha aceitável?
(ex. 50 usuários concorrentes por 5 horas)
Requisitos do Teste de
Performance
◉ Entenda o quê é importante para o negócio, para solução
em escopo.
◉ Nem toda aplicação, nem todo o escopo, precisa de teste
de performance!
Tipos de Teste de
Performance
Load
Testing
Stress
Testing
Soak Testing /
Endurance Testing
Ferramentas
Quais as principais ferramentas de mercado para a automação,
geração de carga e monitoramento da infrastrustura?
3
Ferramentas: Automação e
Geração de Carga
Avaliação Geral Custo
Curva de
Aprendizado
Tua
solução
Nota: Existem muitas ferramentas disponíveis para auxiliar com automação de testes e geração de carga, algumas especializadas em
tencologias bem específicas. Então, aqui são listadas apenas algumas sugestões para iniciar os testes com aplicações web. E as
estrelinhas de 1 para regular, 2 bom até 3 para muito bom foram atruíbas pela autora desse material com base na experiência… 
*Free < 50 users
Ferramentas: Monitoramento
Avaliação Geral Custo
Curva de
Aprendizado
Logs
Infra Java
Infra
App profiling
App profiling
Nota: A nota do slide anterior também vale pra esse slide 
* Splunk é pago
Como load teste funciona?
Exemplo LoadRunner
[http://www.wilsonmar.com/1loadrun.htm]
Artefatos para o
Teste de Performance
Plano de Teste
Scripts
Scenarios
Reports
4
Plano de Teste de
Performance
◉ Requisitos não funcionais
◉ Ambiente e pré-requisitos
◉ Escopo do teste:
Mapeamento das transações / operações que
realmente impactam.
◉ Estratégia do Teste:
Dados; scripts; cenários;
80%
80%
20%
20%
Transações Carga/Impacto
20%
Princípio de Pareto
80/20 Rule
[https://pt.wikipedia.org/wiki/Princ%C3%ADpio_de_Pareto]
Scripts
Exemplo LoadRunner
[Esse slide é só para ilustrar. Tem vários demos/tutoriais no youtube… https://www.youtube.com/watch?v=grZOIqP3hK4]
Scripts
Exemplo LoadRunner: Web – HTTP/HTML
[Esse slide é só para ilustrar. Tem vários demos/tutoriais no youtube… https://www.youtube.com/watch?v=grZOIqP3hK4]
Header request
1ª Transação – marcação do início e término
Podemos informar manualmente essas infos.
Conseguimos adicionar tempos de espera, como
se fosse o usuário pensando no próximo passo
Conseguimos adicionar variaveis e funções c
Criação de parâmetros
capturados em tempo
de execução
2ª Transação – marcação do início e término
Parâmetros que ficam armazenados numa lista separada
Scenarios
Exemplo LoadRunner
Scenarios
Exemplo LoadRunner
Reports
◉ Depende do escopo e da ferramenta utilizada para geração de carga!
◉ Informações a serem adicionadas dependerão também do escopo. E
precisam estar adequadas as público que receberá o relatório.
◉ Gráficos mais comuns para análise inicial:
 Transaction Response Time
 Running Vusers
 Total Transactions per Second
 Throughput (MB)
 HTTP Responses per Second
Reports
Exemplo LoadRunner A média pode
esconder um
resultado bom ou
ruim...
90% dos tempos de
resposta para essa
transação estão abaixo
desse ponto
Transação A
Transação B
Transação C
Transação D
Transação E
Análise dos Resultados
e Monitoramento
Let’s have fun!
5
Análise dos Resultados
Tempos de
Resposta
Quanto tempo as
transações críticas
estão levando?
Tem algum processo
com SLA definido?
Métricas de
Hardware
Como a
infrastrutura se
comportou durante
o teste?
Quem é o gargalo?
Critérios de
Aceitação do Teste
Os requisitos de
desempenho da
aplicação foram
atendidos?
Exemplo: Tempo de Resposta vs Carga
de usuários
Eixo x = janela de teste em hora:minuto.
Eixo y esquerda = Média dos Tempos de Resposta das Transações em segundos = Linhas coloridas
Eixo y direita = Número de usuários concorrentes (usuários virtuais) = Linha verde
Monitoramento Infra
CPU
Memória
Threads
Procure
Padrões!?
Exemplo: Threads
Dentro da tab Threads
click no botão Thread Dump
->
Exemplo: CPU Usage
100%
Garbage
Collector!
CPU Usage!
Exemplo: Memory Heap
Exemplo: CPU Sampling
(1)
(2) Depois de finalizado (2-3 minutos) abrir o arquivo do snapshot
(3) Verificar a tab "Hot Spots”, pode classificar por Methods, Classes ou Packages.
(4) Permite ordenação pelo totalizador de chamadas e tempo…
[Cuidado para não estressarem a aplicação com o monitoramento! Isso impacta os resultados! Usem mais para investigação.]
Take-away…
Fases do Teste de
Performance
Requisito
Necessidade de Negócio
Planejamento
Preparação do Teste:
Dados, Scripts,
Scenarios e Monitores
Execução do Teste
Análise dos Resultados
Entrega
Relatório Final
[Respeitem, invistam um tempo, para as fases do teste de performance independente da metodologia de desenvolvimento (Agile,
Waterfall....) para garantir a validade e qualidade do teste de vocês!
Essas setinhas na figura indicam a ordem do “caminho feliz”. Mas algumas vezes podemos estar na fase de preparação do teste e
precisaremos voltar para a fase do Requisito por que não ficou claro alguma estratégia importante para criação do cenário. Outras,
durante a Análise dos Resultados precisaremos voltar para a parte de preparação do teste... Sem problemas!]
“
Alice: How long is forever?
White Rabbit: Sometimes, just one second.
— Lewis Carroll, “Alice’s Adventures in Wonderland.”
+ perguntas?
◉ https://www.linkedin.com/in/alessandrapm
◉ paz.alessandra@gmail.com
That’s all folks!

Mais conteúdo relacionado

Semelhante a [GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma aplicação web

T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de software
Targettrust
 

Semelhante a [GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma aplicação web (20)

Falando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliFalando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro Grezeli
 
Cmg falando de testes de desempenho
Cmg falando de testes de desempenhoCmg falando de testes de desempenho
Cmg falando de testes de desempenho
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATS
 
Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal Performance
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de software
 
[GUTS-RS] Testes de Performance
 [GUTS-RS] Testes de Performance [GUTS-RS] Testes de Performance
[GUTS-RS] Testes de Performance
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
 
A Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalA Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance Aplicacional
 
Dba Ciclo Palestra P5 V1a
Dba Ciclo Palestra P5 V1aDba Ciclo Palestra P5 V1a
Dba Ciclo Palestra P5 V1a
 
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...
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2a
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Teste de Software - Especialização Univem
Teste de Software - Especialização UnivemTeste de Software - Especialização Univem
Teste de Software - Especialização Univem
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de software
 

Mais de GUTS-RS

Mais de GUTS-RS (20)

[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
 [GUTS-RS] - Testes de Segurança: O que preciso saber para planejar [GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
 
Evento novembro 2018 - Desafios do QA - Da automação ao Ágil
Evento novembro 2018 - Desafios do QA - Da automação ao ÁgilEvento novembro 2018 - Desafios do QA - Da automação ao Ágil
Evento novembro 2018 - Desafios do QA - Da automação ao Ágil
 
Evento setembro 2018 - Criando comunidades de prática na organização
Evento setembro 2018 - Criando comunidades de prática na organizaçãoEvento setembro 2018 - Criando comunidades de prática na organização
Evento setembro 2018 - Criando comunidades de prática na organização
 
10 ANOS DE GUTS-RS E A EVOLUÇÃO DO QA NESSES 10 ANOS
10 ANOS DE GUTS-RS E A EVOLUÇÃO DO QA NESSES 10 ANOS10 ANOS DE GUTS-RS E A EVOLUÇÃO DO QA NESSES 10 ANOS
10 ANOS DE GUTS-RS E A EVOLUÇÃO DO QA NESSES 10 ANOS
 
[GUTS-RS] Evento Julho 2018 - Testes de Software em ambientes ERP SAP
[GUTS-RS] Evento Julho 2018 - Testes de Software em ambientes ERP SAP[GUTS-RS] Evento Julho 2018 - Testes de Software em ambientes ERP SAP
[GUTS-RS] Evento Julho 2018 - Testes de Software em ambientes ERP SAP
 
[GUTS-RS]​ Evento Maio 2018 - Carreira na área de Testes
[GUTS-RS]​ Evento Maio 2018 - Carreira na área de Testes[GUTS-RS]​ Evento Maio 2018 - Carreira na área de Testes
[GUTS-RS]​ Evento Maio 2018 - Carreira na área de Testes
 
[GUTS-RS] Evento Abril 2018 - Qualidade de código para automação de testes
[GUTS-RS] Evento Abril 2018 - Qualidade de código para automação de testes[GUTS-RS] Evento Abril 2018 - Qualidade de código para automação de testes
[GUTS-RS] Evento Abril 2018 - Qualidade de código para automação de testes
 
GUTS Talks Março 2018
GUTS Talks Março 2018GUTS Talks Março 2018
GUTS Talks Março 2018
 
[GUTS-RS] GUTS Talks - Automação de Testes
[GUTS-RS] GUTS Talks - Automação de Testes[GUTS-RS] GUTS Talks - Automação de Testes
[GUTS-RS] GUTS Talks - Automação de Testes
 
[GUTS-RS] Evento Setembro 2017 - Continuous Integration, Delivery e Deploymen...
[GUTS-RS] Evento Setembro 2017 - Continuous Integration, Delivery e Deploymen...[GUTS-RS] Evento Setembro 2017 - Continuous Integration, Delivery e Deploymen...
[GUTS-RS] Evento Setembro 2017 - Continuous Integration, Delivery e Deploymen...
 
[GUTS-RS] GUDay 2017: Qualidade impulsionando negócios, criando marcas e prod...
[GUTS-RS] GUDay 2017: Qualidade impulsionando negócios, criando marcas e prod...[GUTS-RS] GUDay 2017: Qualidade impulsionando negócios, criando marcas e prod...
[GUTS-RS] GUDay 2017: Qualidade impulsionando negócios, criando marcas e prod...
 
[GUTS-RS] GUTS Talks - Soft Skills
[GUTS-RS] GUTS Talks - Soft Skills[GUTS-RS] GUTS Talks - Soft Skills
[GUTS-RS] GUTS Talks - Soft Skills
 
[GUTS-RS] Test Thinking
[GUTS-RS] Test Thinking[GUTS-RS] Test Thinking
[GUTS-RS] Test Thinking
 
[GUTS-RS] GUTS Universitário - Carreira de Testes
[GUTS-RS] GUTS Universitário - Carreira de Testes[GUTS-RS] GUTS Universitário - Carreira de Testes
[GUTS-RS] GUTS Universitário - Carreira de Testes
 
[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...
[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...
[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...
 
[GUTS-RS] Mobile Testing
[GUTS-RS] Mobile Testing[GUTS-RS] Mobile Testing
[GUTS-RS] Mobile Testing
 
[GUTS-RS] Testar Interfaces com UX
[GUTS-RS] Testar Interfaces com UX[GUTS-RS] Testar Interfaces com UX
[GUTS-RS] Testar Interfaces com UX
 
[GUTS-RS] GUTS Talks - Ferramentas de Automação de Testes
[GUTS-RS] GUTS Talks - Ferramentas de Automação de Testes[GUTS-RS] GUTS Talks - Ferramentas de Automação de Testes
[GUTS-RS] GUTS Talks - Ferramentas de Automação de Testes
 
[GUTS-RS] Práticas de desenvolvimento aplicadas na automação de testes com Se...
[GUTS-RS] Práticas de desenvolvimento aplicadas na automação de testes com Se...[GUTS-RS] Práticas de desenvolvimento aplicadas na automação de testes com Se...
[GUTS-RS] Práticas de desenvolvimento aplicadas na automação de testes com Se...
 
[GUTS-RS] DevOps pela visão de QA
[GUTS-RS] DevOps pela visão de QA[GUTS-RS] DevOps pela visão de QA
[GUTS-RS] DevOps pela visão de QA
 

Último

Último (6)

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma aplicação web

  • 1. COMO INICIAR TESTES DE PERFORMANCE EM UMA APLICAÇÃO WEB Alessandra Paz
  • 2. Quem somos... Comunidade apaixonada por Qualidade de Software Ajudamos pessoas interessadas em Qualidade Conectamos pessoas para compartilhar conhecimento Realizamos eventos, promovemos debates... ...com o apoio de voluntários e da SUCESU- RS Esperamos a sua participação ativa... ...trocando experiências, palestrando, ouvindo... ...sempre respeitando opiniões divergentes Crie, Inove, Faça parte desta colmeia!
  • 3.
  • 4. Fique ligado nos próximos eventos! 26/07/17 – Desmistificando desenv SW e UX 03/08/17 - III EVENTO GUGCI 05/08/17 – DevOps Day Porto Alegre 19/08/17 – Agile Testers Conf Porto Alegre 26/08/17 - GUDay 2017 - A Tecnologia a favor dos Negócios 25 e 26/08/17 – Django Girls Novo Hamburgo
  • 5. COMO INICIAR OS TESTES DE PERFORMANCE EM UMA APLICAÇÃO WEB
  • 6. Alessandra M. Paz Milani ◉ 14+ anos trabalhando com desenvolvimento de sistemas ◉ 7+ anos Performance Engineer ◉ Software Specialist @ ADP Labs ◉ Empresas anteriores: DELL, PUCRS e Banrisul ◉ Formação: Análise de Sistemas, MBA em Gestão de Projetos e Mestrado em Ciência da Computação (em andamento)
  • 7. Por que o tempo e o desempenho importam? [Denys Mishunov - https://www.smashingmagazine.com/2015/09/why-performance-matters-the-perception-of-time/]
  • 8. “ Compradores online esperam que suas páginas carreguem em 2 segundos ou menos! Depois de 3 segundos cerca de 40% irão abandonar o site! [Forrester Consulting, “eCommerce Web Site Performance Today: An Updated Look At Consumer Reaction To A Poor Online Shopping Experience – 2009]
  • 9. 1 segundo DROP Performance Número de conversões Performance Improvement Número de conversões [Denys Mishunov - https://www.youtube.com/watch?v=j9TrSkLZa5A]
  • 10.
  • 11. Por que rápido nem sempre significa melhor quando falamos de aplicações web? [Denys Mishunov - https://www.smashingmagazine.com/2015/09/why-performance-matters-the-perception-of-time/]
  • 12. (1) Fases do Teste (2) Tipos de Teste e Requisitos não funcionais (3) Ferramentas Show! E agora por onde eu começo? (4) Artefatos: Scripts, Scenarios e Report (5) Análise dos Resultados e Monitoramento
  • 13. Fases do Teste de Performance Let’s get started! 1
  • 14. Fases do Teste de Performance Requisito Necessidade de Negócio Planejamento Preparação do Teste: Dados, Scripts, Scenarios e Monitores Execução do Teste Análise dos Resultados Entrega Relatório Final
  • 15. Tipos de Teste e Requisitos Quais os principais tipos de teste de desempenho? Quais os requisitos de desempenho da aplicação? Por que isso importa? 2
  • 16. Requisitos do Teste de Performance ◉ IEEE Guide to SRS (software requirements specification)… [http://standards.ieee.org/findstds/standard/830-1984.html] desde 1984!
  • 17. Requisitos do Teste de Performance ◉ Alguns exemplos de requisitos não funcionais de performance:  Capacidade  Responsível  Confiabilidade Quantos usuário acessam a aplicação (diariamente/hora)? Quantos requests ou transações a aplicação deve suportar por segundo/minuto/hora? Como é a distribuição dos usuários por localização?
  • 18. Requisitos do Teste de Performance ◉ Alguns exemplos de requisitos não funcionais de performance:  Capacidade  Responsível  Confiabilidade Qual o tempo de resposta esperado para as transações críticas? Há alguma restrição de negócio para alguma funcionalidade? Há algum SLA definido? Alguma especificidade por região?
  • 19. Requisitos do Teste de Performance ◉ Alguns exemplos de requisitos não funcionais de performance:  Capacidade  Responsível  Confiabilidade Qual a taxa de erros aceitável? (ex. # transações que falharam por Segundo/minuto) Qual o tempo para a primeira falha aceitável? (ex. 50 usuários concorrentes por 5 horas)
  • 20. Requisitos do Teste de Performance ◉ Entenda o quê é importante para o negócio, para solução em escopo. ◉ Nem toda aplicação, nem todo o escopo, precisa de teste de performance!
  • 21. Tipos de Teste de Performance Load Testing Stress Testing Soak Testing / Endurance Testing
  • 22. Ferramentas Quais as principais ferramentas de mercado para a automação, geração de carga e monitoramento da infrastrustura? 3
  • 23. Ferramentas: Automação e Geração de Carga Avaliação Geral Custo Curva de Aprendizado Tua solução Nota: Existem muitas ferramentas disponíveis para auxiliar com automação de testes e geração de carga, algumas especializadas em tencologias bem específicas. Então, aqui são listadas apenas algumas sugestões para iniciar os testes com aplicações web. E as estrelinhas de 1 para regular, 2 bom até 3 para muito bom foram atruíbas pela autora desse material com base na experiência…  *Free < 50 users
  • 24. Ferramentas: Monitoramento Avaliação Geral Custo Curva de Aprendizado Logs Infra Java Infra App profiling App profiling Nota: A nota do slide anterior também vale pra esse slide  * Splunk é pago
  • 25. Como load teste funciona? Exemplo LoadRunner [http://www.wilsonmar.com/1loadrun.htm]
  • 26. Artefatos para o Teste de Performance Plano de Teste Scripts Scenarios Reports 4
  • 27. Plano de Teste de Performance ◉ Requisitos não funcionais ◉ Ambiente e pré-requisitos ◉ Escopo do teste: Mapeamento das transações / operações que realmente impactam. ◉ Estratégia do Teste: Dados; scripts; cenários; 80% 80% 20% 20% Transações Carga/Impacto 20% Princípio de Pareto 80/20 Rule [https://pt.wikipedia.org/wiki/Princ%C3%ADpio_de_Pareto]
  • 28. Scripts Exemplo LoadRunner [Esse slide é só para ilustrar. Tem vários demos/tutoriais no youtube… https://www.youtube.com/watch?v=grZOIqP3hK4]
  • 29. Scripts Exemplo LoadRunner: Web – HTTP/HTML [Esse slide é só para ilustrar. Tem vários demos/tutoriais no youtube… https://www.youtube.com/watch?v=grZOIqP3hK4]
  • 30. Header request 1ª Transação – marcação do início e término Podemos informar manualmente essas infos. Conseguimos adicionar tempos de espera, como se fosse o usuário pensando no próximo passo Conseguimos adicionar variaveis e funções c Criação de parâmetros capturados em tempo de execução 2ª Transação – marcação do início e término Parâmetros que ficam armazenados numa lista separada
  • 33. Reports ◉ Depende do escopo e da ferramenta utilizada para geração de carga! ◉ Informações a serem adicionadas dependerão também do escopo. E precisam estar adequadas as público que receberá o relatório. ◉ Gráficos mais comuns para análise inicial:  Transaction Response Time  Running Vusers  Total Transactions per Second  Throughput (MB)  HTTP Responses per Second
  • 34. Reports Exemplo LoadRunner A média pode esconder um resultado bom ou ruim... 90% dos tempos de resposta para essa transação estão abaixo desse ponto Transação A Transação B Transação C Transação D Transação E
  • 35. Análise dos Resultados e Monitoramento Let’s have fun! 5
  • 36. Análise dos Resultados Tempos de Resposta Quanto tempo as transações críticas estão levando? Tem algum processo com SLA definido? Métricas de Hardware Como a infrastrutura se comportou durante o teste? Quem é o gargalo? Critérios de Aceitação do Teste Os requisitos de desempenho da aplicação foram atendidos?
  • 37. Exemplo: Tempo de Resposta vs Carga de usuários Eixo x = janela de teste em hora:minuto. Eixo y esquerda = Média dos Tempos de Resposta das Transações em segundos = Linhas coloridas Eixo y direita = Número de usuários concorrentes (usuários virtuais) = Linha verde
  • 39. Exemplo: Threads Dentro da tab Threads click no botão Thread Dump ->
  • 42. Exemplo: CPU Sampling (1) (2) Depois de finalizado (2-3 minutos) abrir o arquivo do snapshot (3) Verificar a tab "Hot Spots”, pode classificar por Methods, Classes ou Packages. (4) Permite ordenação pelo totalizador de chamadas e tempo… [Cuidado para não estressarem a aplicação com o monitoramento! Isso impacta os resultados! Usem mais para investigação.]
  • 44. Fases do Teste de Performance Requisito Necessidade de Negócio Planejamento Preparação do Teste: Dados, Scripts, Scenarios e Monitores Execução do Teste Análise dos Resultados Entrega Relatório Final [Respeitem, invistam um tempo, para as fases do teste de performance independente da metodologia de desenvolvimento (Agile, Waterfall....) para garantir a validade e qualidade do teste de vocês! Essas setinhas na figura indicam a ordem do “caminho feliz”. Mas algumas vezes podemos estar na fase de preparação do teste e precisaremos voltar para a fase do Requisito por que não ficou claro alguma estratégia importante para criação do cenário. Outras, durante a Análise dos Resultados precisaremos voltar para a parte de preparação do teste... Sem problemas!]
  • 45. “ Alice: How long is forever? White Rabbit: Sometimes, just one second. — Lewis Carroll, “Alice’s Adventures in Wonderland.”
  • 46. + perguntas? ◉ https://www.linkedin.com/in/alessandrapm ◉ paz.alessandra@gmail.com That’s all folks!