SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Falando de testes de
desempenho
Evandro Grezeli
egrezeli@gmail.com
Maio/2015
Sobre
Entusiasta em assuntos que tangem a desempenho
de aplicação
10 anos de experiência com desenvolvimento de software Java e
otimização de sistemas em baixa plataforma
Manutenção e desenvolvimento de componentes para o Jmeter
Colunista no site http://jmeter.com.br
Especialista em capacidade e desempenho na maior companhia de
meios de pagamento do Brasil
Agenda
Parte 1: Teoria e Conceitos
Importância de testes de desempenho
O conceito do tempo de resposta
Reconhecimento do Ambiente
Tipos de testes de desempenho
Metodologia e Planejamento
Parte 2: Caixa de Ferramentas
Parte 1:
Teoria e Conceitos
Teste de Desempenho:
Cenário Antigo
No passado, a tarefa de efetuar testes em software era
considerada secundária
Os testes eram feitos pelos desenvolvedores
Os usuários eram envolvidos para aprovar o resultado dos
testes ou para gerar massa de dados
Teste de Desempenho:
Cenário Atual
Empresas tem visto a atividade de testes como prioritária
para a maior qualidade de suas aplicações
Não testar o software pode gerar perdas financeiras e de
imagem irreparáveis
Complexidade das aplicações, que estão cada vez mais
distribuídas
Teste de Desempenho:
Sua importância
Newport Group diz:
52% das aplicações Web falham ao escalar
60% delas não possuem um ciclo formal de teste de
desempenho
25% das que são testadas utilizam alguma ferramenta específica
IDC Research diz:
Menos do que 20% de aplicações J2EE atendem o SLA
esperado em ambiente produtivo;
Teste de Desempenho:
Sua importância
Processo de avaliar um sistema ou um componente de um
sistema para verificar se ele satisfaz os requisitos
especificados ou identificar diferenças entre resultados
esperados e obtidos” . [ANSI/IEEE Standard 729, 1983]
Teste de Software é o processo com o intuito de encontrar
erros em um programa ou sistema em execução [MYERS, 2004]
Teste de Desempenho:
Sua importância
Garantir um tempo de resposta dentro dos padrões aceitáveis para
evitar o abandono do site ou aplicação em função de tempos de
respostas inaceitáveis.
Garantir o uptime (alta disponibilidade) de aplicações e serviços de
missão crítica.
Evitar o fracasso dos projetos em virtude de problemas de desempenho e
escalabilidade.
Garantir os investimentos de TI por meio de previsão da
escalabilidade e performance da aplicação.
Teste de Desempenho:
O conceito do tempo de resposta
Mas afinal, o que é o tempo de resposta???
Tempo da rede Tempo do Serviço
Latência
Tempo da
transmissão
Tempo do
Hardware
Tempo da
Aplicação
CPU Disco LAN CPU Disco LAN
Tempo de resposta
Daniel A. MEnsacé, Virgilio A. F. Almeida: Planejamento de Capacidade para serviços na Web: Métricas, modelos e métodos. (2003)
Teste de Desempenho:
O conceito do tempo de resposta
Conceitos diferentes de tempo de resposta ao longo dos anos
Fonte Response time in man-computer conversational transactions,
Miller, R. B. (1968) Zona Research, 1999: 8-Seconds rule,
através de estatísticas aponta um estudo
de tempo de desistência do usuário
Fonte How Fast does a website need to be? Scott
Barber, 2004
Akamai, 09/2009: 47% das pessoas
esperam que uma página na internet abra
em até 2 segundos, 40% abandona a
página caso não abra em até 3 segundos
NÃO HÁ UM
CONSENSO!
Teste de Desempenho:
O conceito do tempo de resposta
Maneira mais efetiva de definir o que é um bom tempo de resposta é
medindo o throughput esperado.
Throughput: Medida de trabalho com sucesso(processado) por unidade
de tempo
Exemplos:
• Quantidade de clientes por minuto;
• Quantidade de páginas abertas por segundo;
• Quantidade de bytes transferidos entre o servidor e o cliente
por segundo;
• Quantidade de requisições processadas pelo servidor por
segundo;
Teste de Desempenho:
Reconhecimento do ambiente
Mapear o ambiente a ser testado auxilia a identificar:
 Potencias pontos de gargalos;
 “Áreas cegas”
 Caminho complete da transação (estrutura)
“É bem simples, uma camada de apresentação, processa na aplicação e
persiste no banco de dados...”
Camada de
Apresentação
Camada de
Aplicação
Camada de
Banco de
Dados
Gargalo de desempenho pode
estar em qualquer lugar!!!
Teste de Desempenho:
Reconhecimento do ambiente
Teste de Desempenho:
Tipos de testes
Levar até o limite
a infraestrutura
e ou o sistema
Teste de Stress
Executar uma carga
constante conhecida
para avaliar
infraestrutura e ou
sistema
Teste de Carga
Executar uma carga muitas
vezes maior do que a média
e em pequeno espaços de
tempo
Teste de Pico
Executar uma carga
constante conhecida
por um período maior
do que o habitual
Endurance test
Levar até o limite uma
única camada da
aplicação, medindo
sua vazão e seu
tempo de resposta
Component test
TESTE DE DESEMPENHO
Teste de Desempenho:
Metodologia
Definir os objetivos do teste
Entender o ambiente
Especificar o plano de teste
Definir a carga de trabalho do teste
Configurar o ambiente de teste
Executar os testes
Analisar os resultados do teste
Teste de Desempenho:
Metodologia
Roteiro inicial de Perguntas a se pensar:
1)Qual a quantidade de usuários concorrentes esperados em
situações normais e de pico?
2)Quais são as páginas mais visitadas ou tarefas comumente
realizadas pelos usuários?
3)Qual o tempo de resposta aceitável para tais tarefas em situações
normais e de pico?
4)Qual a carga de usuários máxima aceitável antes que o tempo de
resposta degrade a um ponto inaceitável?
Teste de Desempenho:
Metodologia
Workload (também conhecido como session, activity profile ou Web
Site Usage Signature) determina como os usuários utilizam a
aplicação.
Por meio do workload, podemos obter o seguinte tipo de informação a
respeito da utilização da aplicação:
 O tipo de páginas visitadas;
 O tempo gasto em cada página;
 Os caminhos percorridos pelos usuários;
 Percentual de abandono da aplicação;
Teste de Desempenho:
Metodologia
Exemplo de definição de workload para um cenário de teste
HomePage
Pesquisa por nome (30%)
Pesquisa por best seller (50%)
Pesquisa por ficção (20%)
Ajuda (10%)
Review (25%)
Enquete (5%)
Compra (75%)
Sair (25%)
Teste de Desempenho:
Usuários virtuais
Realizar um teste de desempenho com usuários reais
 Difícil de coordenar
 Atividades não são repetítiveis
 Suscetíveis a erros
 Não escalável
 Exige espaçao e infra-estrutura
 Relatórios/Métricas não são confiáveis
Testadores
de Verdade
Teste de Desempenho:
Usuários virtuais
Realizar um teste de desempenho com ferramentas específicas
 Fácil de coordenar
 Atividades são repetítiveis
 Error-Free
 Escalável
 Não Exige espaçao e infra-estrutura*
 Relatórios/Métricas são confiáveis
Virtual
Users
Teste de Desempenho:
Tempo de pensar
User Sleep Time (think time) faz os Virtual Users se comportarem
como se fossem usuários reais. Por meio do User Sleep time, são
injetados atrasos e paradas variáveis nos testes para simular cargas
de utilização mais realistas.
Teste de Desempenho:
Tempo de pensar
Durante a definição do User Sleep Time, devemos considerar que,
mesmo os usuários reais navegam com maior ou menor
velocidade de acordo com a sua familiaridade com o site.
Usuário
Lento
Servidor
Usuário
Rápido
Parte 2:
Caixa de Ferramentas
Teste de Desempenho:
Caixa de Ferramentas
O que ela tem que oferecer?
Teste de Desempenho:
Caixa de Ferramentas
O que o Mercado oferece?
Critérios Gartner: Gerenciamento de testes, criação de testes automatizados
para desempenho, automação de testes funcionais e de regressão
Teste de Desempenho:
Caixa de Ferramentas
O que a comunidade oferece?
Teste de Desempenho:
Caixa de Ferramentas
Qual é a melhor para mim?
 Entender a necessidade do atual cenário;
 Existirá evolução no processo de testes;
 Calendário anual de testes;
 Tempo x Esforço;
 Orçamento para demandas;
Falando de
Testes de Desempenho
Evandro Grezeli
egrezeli@gmail.com
http://br.linkedin.com/pub/evandro-grezeli/6/b88/719/en
Teste de Desempenho:
Para saber mais...
Referência bibliográficas:
Myers, Glenford J. The Art of Software Testing. 2ª ed. New Jersey: John Wiley & Sons
Inc, 2004.
Bartié, Alexandre. Garantia de Qualidade de Software. 3ª ed. São Paulo: Campus, 2002.
Pressman, Roger S. Engenharia de Software. 6ª ed. São Paulo: Pearson Makron Books,
2005.
Menascé, Daniel A., Almeida, Virgilio A. F. Planejamento de Capacidade para serviços
na Web: Métricas, modelos e métodos. São Paulo: Campus Elsevier, 2003.
Miller, Robert B. Response time in man-computer conversational transactions. New
York: International Business Machine Corporation, in press.
Almeida, Virgilio, Menascé, Daniel A., Dowdy, Larry W. Performance by Design:
Computer Capacity Planning by Example. New Jersey: Prentice Hall, 2004.
Meier, J. D. et al. Performance Testing Guidance for Web Applications. Redmond:
Microsoft Press, 2007.
Teste de Desempenho:
Para saber mais...
Referência web:
Jmeter BR
http://www.jmeter.com.br
Performance Project Planning
http://www.wilsonmar.com/perfplan.aspx
Memory leaks in enterprise java applications
http://www.javaworld.com/javaworld/jw-03-2006/jw-0313-leak.html
Introducing Microsoft Web Application Stress Tool
http://www1bpt.bridgeport.edu/sed/projects/cs597/Fall_2002/jishah/web_application_stress.htm
Load testing web applications using microsoft web application stress tool
http://www.west-wind.com/presentations/webstress/webstress.htm
FAQ – Performance & Load Testing
http://www.sqaforums.com/showflat.php?Cat=0&Number=41861&an=0&page=0
User Experience, not metrics
http://www.ibm.com/developerworks/rational/library/4228.html
Top 25+ Reasons Web Applications don’t scale
http://whitepapers.techrepublic.com.com/abstract.aspx?docid=38871

Mais conteúdo relacionado

Mais procurados

Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceAlex Barbosa Coqueiro
 
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çãoSandy Maciel
 
Testes de Performance com JMeter
Testes de Performance com JMeterTestes de Performance com JMeter
Testes de Performance com JMeterEdlaine Zamora
 
Ctfl 2018 sample_b[v1.3br]
Ctfl 2018 sample_b[v1.3br]Ctfl 2018 sample_b[v1.3br]
Ctfl 2018 sample_b[v1.3br]rafael327780
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Vanilton Pinheiro
 
Automacao testes automatizados
Automacao testes automatizadosAutomacao testes automatizados
Automacao testes automatizadosCristiano Caetano
 
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...Vanilton Pinheiro
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Camilo Ribeiro
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaFabrício Campos
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agileAlini Rebonatto
 
Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosCristiano Caetano
 
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 ALATSFabrício Campos
 
Usando JMeter para testar sua aplicação JSF
Usando JMeter para testar sua aplicação JSFUsando JMeter para testar sua aplicação JSF
Usando JMeter para testar sua aplicação JSFJadson Santos
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Fernando Palma
 
Ferramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de softwareFerramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de softwareJeremias Araujo
 
Testes de software
Testes de softwareTestes de software
Testes de softwareteste
 

Mais procurados (20)

Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal Performance
 
Testes ágeis
Testes ágeisTestes ágeis
Testes ágeis
 
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
 
Testes de Performance com JMeter
Testes de Performance com JMeterTestes de Performance com JMeter
Testes de Performance com JMeter
 
J Meter
J MeterJ Meter
J Meter
 
Ctfl 2018 sample_b[v1.3br]
Ctfl 2018 sample_b[v1.3br]Ctfl 2018 sample_b[v1.3br]
Ctfl 2018 sample_b[v1.3br]
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
 
Automacao testes automatizados
Automacao testes automatizadosAutomacao testes automatizados
Automacao testes automatizados
 
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
Questionario CTFL - Foundation Level
Questionario CTFL - Foundation LevelQuestionario CTFL - Foundation Level
Questionario CTFL - Foundation Level
 
Palestra Testes Ágeis - SEMAC INF UFRGS
Palestra Testes Ágeis - SEMAC INF UFRGSPalestra Testes Ágeis - SEMAC INF UFRGS
Palestra Testes Ágeis - SEMAC INF UFRGS
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticos
 
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
 
Usando JMeter para testar sua aplicação JSF
Usando JMeter para testar sua aplicação JSFUsando JMeter para testar sua aplicação JSF
Usando JMeter para testar sua aplicação JSF
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1
 
Ferramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de softwareFerramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de software
 
Testes de software
Testes de softwareTestes de software
Testes de software
 

Destaque

Non Profit Pecha Kucha Presentation Aaron Haynes
Non Profit Pecha Kucha Presentation Aaron HaynesNon Profit Pecha Kucha Presentation Aaron Haynes
Non Profit Pecha Kucha Presentation Aaron HaynesAaron Haynes
 
, geneva convention outline
, geneva convention outline, geneva convention outline
, geneva convention outlineTerri Valentine
 
Reg 17130 Consob Regolamento Consulenti Finanziari
Reg 17130 Consob Regolamento Consulenti FinanziariReg 17130 Consob Regolamento Consulenti Finanziari
Reg 17130 Consob Regolamento Consulenti FinanziariFabrizio Callarà
 
J.m. barrie peter pan
J.m. barrie   peter panJ.m. barrie   peter pan
J.m. barrie peter panGiselle Silva
 
Points de référence d’appui à la gestion des stocks de mulet jaune (Mugil cep...
Points de référence d’appui à la gestion des stocks de mulet jaune (Mugil cep...Points de référence d’appui à la gestion des stocks de mulet jaune (Mugil cep...
Points de référence d’appui à la gestion des stocks de mulet jaune (Mugil cep...Ndour Ismaïla
 
CINDEA Nuestra Señora de Lourdes
CINDEA Nuestra Señora de LourdesCINDEA Nuestra Señora de Lourdes
CINDEA Nuestra Señora de LourdesOlivier Reyes
 
Circolare Entro il 20 dicembre, le richieste di rinnovi da far pervenire ad A...
Circolare Entro il 20 dicembre, le richieste di rinnovi da far pervenire ad A...Circolare Entro il 20 dicembre, le richieste di rinnovi da far pervenire ad A...
Circolare Entro il 20 dicembre, le richieste di rinnovi da far pervenire ad A...Fabrizio Callarà
 
AEC a fianco dell'Oice in Romania
AEC a fianco dell'Oice in RomaniaAEC a fianco dell'Oice in Romania
AEC a fianco dell'Oice in RomaniaFabrizio Callarà
 
Defining marketing for the 21st century
Defining marketing for the 21st centuryDefining marketing for the 21st century
Defining marketing for the 21st centurySaurabh Kumar
 
Agenzia di Sottoscrizione indipendente: un modello di business all'avanguardia,
Agenzia di Sottoscrizione indipendente: un modello di business all'avanguardia,Agenzia di Sottoscrizione indipendente: un modello di business all'avanguardia,
Agenzia di Sottoscrizione indipendente: un modello di business all'avanguardia,Fabrizio Callarà
 
DSD-INT 2016 Regional to local modeling for dyke stability -The Schoonhovense...
DSD-INT 2016 Regional to local modeling for dyke stability -The Schoonhovense...DSD-INT 2016 Regional to local modeling for dyke stability -The Schoonhovense...
DSD-INT 2016 Regional to local modeling for dyke stability -The Schoonhovense...Deltares
 
DSD-INT 2016 Chautauqua; the Alberta groundwater information system using Del...
DSD-INT 2016 Chautauqua; the Alberta groundwater information system using Del...DSD-INT 2016 Chautauqua; the Alberta groundwater information system using Del...
DSD-INT 2016 Chautauqua; the Alberta groundwater information system using Del...Deltares
 
DSD-INT 2016 Building a 3D model of the subsurface on a local scale - Hijma
DSD-INT 2016 Building a 3D model of the subsurface on a local scale - HijmaDSD-INT 2016 Building a 3D model of the subsurface on a local scale - Hijma
DSD-INT 2016 Building a 3D model of the subsurface on a local scale - HijmaDeltares
 
Few things about Umrah
Few things about UmrahFew things about Umrah
Few things about Umrahawaytomakkah
 
Les dynamiques de la population et le développement durable
Les dynamiques de la population et le développement durableLes dynamiques de la population et le développement durable
Les dynamiques de la population et le développement durablemlaugel
 

Destaque (18)

Non Profit Pecha Kucha Presentation Aaron Haynes
Non Profit Pecha Kucha Presentation Aaron HaynesNon Profit Pecha Kucha Presentation Aaron Haynes
Non Profit Pecha Kucha Presentation Aaron Haynes
 
, geneva convention outline
, geneva convention outline, geneva convention outline
, geneva convention outline
 
James' call sheet
James' call sheetJames' call sheet
James' call sheet
 
Opening title research
Opening title researchOpening title research
Opening title research
 
Reg 17130 Consob Regolamento Consulenti Finanziari
Reg 17130 Consob Regolamento Consulenti FinanziariReg 17130 Consob Regolamento Consulenti Finanziari
Reg 17130 Consob Regolamento Consulenti Finanziari
 
Wisuda-ali murtadlo
Wisuda-ali murtadloWisuda-ali murtadlo
Wisuda-ali murtadlo
 
J.m. barrie peter pan
J.m. barrie   peter panJ.m. barrie   peter pan
J.m. barrie peter pan
 
Points de référence d’appui à la gestion des stocks de mulet jaune (Mugil cep...
Points de référence d’appui à la gestion des stocks de mulet jaune (Mugil cep...Points de référence d’appui à la gestion des stocks de mulet jaune (Mugil cep...
Points de référence d’appui à la gestion des stocks de mulet jaune (Mugil cep...
 
CINDEA Nuestra Señora de Lourdes
CINDEA Nuestra Señora de LourdesCINDEA Nuestra Señora de Lourdes
CINDEA Nuestra Señora de Lourdes
 
Circolare Entro il 20 dicembre, le richieste di rinnovi da far pervenire ad A...
Circolare Entro il 20 dicembre, le richieste di rinnovi da far pervenire ad A...Circolare Entro il 20 dicembre, le richieste di rinnovi da far pervenire ad A...
Circolare Entro il 20 dicembre, le richieste di rinnovi da far pervenire ad A...
 
AEC a fianco dell'Oice in Romania
AEC a fianco dell'Oice in RomaniaAEC a fianco dell'Oice in Romania
AEC a fianco dell'Oice in Romania
 
Defining marketing for the 21st century
Defining marketing for the 21st centuryDefining marketing for the 21st century
Defining marketing for the 21st century
 
Agenzia di Sottoscrizione indipendente: un modello di business all'avanguardia,
Agenzia di Sottoscrizione indipendente: un modello di business all'avanguardia,Agenzia di Sottoscrizione indipendente: un modello di business all'avanguardia,
Agenzia di Sottoscrizione indipendente: un modello di business all'avanguardia,
 
DSD-INT 2016 Regional to local modeling for dyke stability -The Schoonhovense...
DSD-INT 2016 Regional to local modeling for dyke stability -The Schoonhovense...DSD-INT 2016 Regional to local modeling for dyke stability -The Schoonhovense...
DSD-INT 2016 Regional to local modeling for dyke stability -The Schoonhovense...
 
DSD-INT 2016 Chautauqua; the Alberta groundwater information system using Del...
DSD-INT 2016 Chautauqua; the Alberta groundwater information system using Del...DSD-INT 2016 Chautauqua; the Alberta groundwater information system using Del...
DSD-INT 2016 Chautauqua; the Alberta groundwater information system using Del...
 
DSD-INT 2016 Building a 3D model of the subsurface on a local scale - Hijma
DSD-INT 2016 Building a 3D model of the subsurface on a local scale - HijmaDSD-INT 2016 Building a 3D model of the subsurface on a local scale - Hijma
DSD-INT 2016 Building a 3D model of the subsurface on a local scale - Hijma
 
Few things about Umrah
Few things about UmrahFew things about Umrah
Few things about Umrah
 
Les dynamiques de la population et le développement durable
Les dynamiques de la population et le développement durableLes dynamiques de la population et le développement durable
Les dynamiques de la population et le développement durable
 

Semelhante a Cmg falando de testes de desempenho

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 AplicacionalNuno Baptista Rodrigues
 
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 qualidaderzauza
 
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...GUTS-RS
 
[GUTS-RS] Testes de Performance
 [GUTS-RS] Testes de Performance [GUTS-RS] Testes de Performance
[GUTS-RS] Testes de PerformanceGUTS-RS
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de softwareJoyce Bastos
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aLeonardo Molinari
 
Application Lifecycle Management - Campus Party Brasil 2009
Application Lifecycle Management -  Campus Party  Brasil 2009Application Lifecycle Management -  Campus Party  Brasil 2009
Application Lifecycle Management - Campus Party Brasil 2009Ramon Durães
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
 
Ferramentas Case de Teste
Ferramentas Case de TesteFerramentas Case de Teste
Ferramentas Case de TesteBeatriz Marques
 
Palestra ALATS SP - FIAP Teste de Software
Palestra ALATS SP - FIAP  Teste de SoftwarePalestra ALATS SP - FIAP  Teste de Software
Palestra ALATS SP - FIAP Teste de SoftwareElias Nogueira
 
Engenharia Requisitos
Engenharia RequisitosEngenharia Requisitos
Engenharia Requisitoselliando dias
 
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POAGUTS-RS
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de softwareFelipe Bugov
 

Semelhante a Cmg falando de testes de desempenho (20)

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
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software
Teste de software Teste de software
Teste de software
 
Dba Testes Gerentes B2
Dba Testes Gerentes B2Dba Testes Gerentes B2
Dba Testes Gerentes B2
 
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
 
Dba Ciclo Palestra P5 V1a
Dba Ciclo Palestra P5 V1aDba Ciclo Palestra P5 V1a
Dba Ciclo Palestra P5 V1a
 
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
 
[GUTS-RS] Testes de Performance
 [GUTS-RS] Testes de Performance [GUTS-RS] Testes de Performance
[GUTS-RS] Testes de Performance
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de software
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2a
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Application Lifecycle Management - Campus Party Brasil 2009
Application Lifecycle Management -  Campus Party  Brasil 2009Application Lifecycle Management -  Campus Party  Brasil 2009
Application Lifecycle Management - Campus Party Brasil 2009
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 
Metralhando sua API
 Metralhando sua API Metralhando sua API
Metralhando sua API
 
Ferramentas Case de Teste
Ferramentas Case de TesteFerramentas Case de Teste
Ferramentas Case de Teste
 
Palestra ALATS SP - FIAP Teste de Software
Palestra ALATS SP - FIAP  Teste de SoftwarePalestra ALATS SP - FIAP  Teste de Software
Palestra ALATS SP - FIAP Teste de Software
 
Engenharia Requisitos
Engenharia RequisitosEngenharia Requisitos
Engenharia Requisitos
 
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 

Cmg falando de testes de desempenho

  • 1. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Falando de testes de desempenho Evandro Grezeli egrezeli@gmail.com Maio/2015
  • 2. Sobre Entusiasta em assuntos que tangem a desempenho de aplicação 10 anos de experiência com desenvolvimento de software Java e otimização de sistemas em baixa plataforma Manutenção e desenvolvimento de componentes para o Jmeter Colunista no site http://jmeter.com.br Especialista em capacidade e desempenho na maior companhia de meios de pagamento do Brasil
  • 3. Agenda Parte 1: Teoria e Conceitos Importância de testes de desempenho O conceito do tempo de resposta Reconhecimento do Ambiente Tipos de testes de desempenho Metodologia e Planejamento Parte 2: Caixa de Ferramentas
  • 4. Parte 1: Teoria e Conceitos
  • 5. Teste de Desempenho: Cenário Antigo No passado, a tarefa de efetuar testes em software era considerada secundária Os testes eram feitos pelos desenvolvedores Os usuários eram envolvidos para aprovar o resultado dos testes ou para gerar massa de dados
  • 6. Teste de Desempenho: Cenário Atual Empresas tem visto a atividade de testes como prioritária para a maior qualidade de suas aplicações Não testar o software pode gerar perdas financeiras e de imagem irreparáveis Complexidade das aplicações, que estão cada vez mais distribuídas
  • 7. Teste de Desempenho: Sua importância Newport Group diz: 52% das aplicações Web falham ao escalar 60% delas não possuem um ciclo formal de teste de desempenho 25% das que são testadas utilizam alguma ferramenta específica IDC Research diz: Menos do que 20% de aplicações J2EE atendem o SLA esperado em ambiente produtivo;
  • 8. Teste de Desempenho: Sua importância Processo de avaliar um sistema ou um componente de um sistema para verificar se ele satisfaz os requisitos especificados ou identificar diferenças entre resultados esperados e obtidos” . [ANSI/IEEE Standard 729, 1983] Teste de Software é o processo com o intuito de encontrar erros em um programa ou sistema em execução [MYERS, 2004]
  • 9. Teste de Desempenho: Sua importância Garantir um tempo de resposta dentro dos padrões aceitáveis para evitar o abandono do site ou aplicação em função de tempos de respostas inaceitáveis. Garantir o uptime (alta disponibilidade) de aplicações e serviços de missão crítica. Evitar o fracasso dos projetos em virtude de problemas de desempenho e escalabilidade. Garantir os investimentos de TI por meio de previsão da escalabilidade e performance da aplicação.
  • 10. Teste de Desempenho: O conceito do tempo de resposta Mas afinal, o que é o tempo de resposta??? Tempo da rede Tempo do Serviço Latência Tempo da transmissão Tempo do Hardware Tempo da Aplicação CPU Disco LAN CPU Disco LAN Tempo de resposta Daniel A. MEnsacé, Virgilio A. F. Almeida: Planejamento de Capacidade para serviços na Web: Métricas, modelos e métodos. (2003)
  • 11. Teste de Desempenho: O conceito do tempo de resposta Conceitos diferentes de tempo de resposta ao longo dos anos Fonte Response time in man-computer conversational transactions, Miller, R. B. (1968) Zona Research, 1999: 8-Seconds rule, através de estatísticas aponta um estudo de tempo de desistência do usuário Fonte How Fast does a website need to be? Scott Barber, 2004 Akamai, 09/2009: 47% das pessoas esperam que uma página na internet abra em até 2 segundos, 40% abandona a página caso não abra em até 3 segundos NÃO HÁ UM CONSENSO!
  • 12. Teste de Desempenho: O conceito do tempo de resposta Maneira mais efetiva de definir o que é um bom tempo de resposta é medindo o throughput esperado. Throughput: Medida de trabalho com sucesso(processado) por unidade de tempo Exemplos: • Quantidade de clientes por minuto; • Quantidade de páginas abertas por segundo; • Quantidade de bytes transferidos entre o servidor e o cliente por segundo; • Quantidade de requisições processadas pelo servidor por segundo;
  • 13. Teste de Desempenho: Reconhecimento do ambiente Mapear o ambiente a ser testado auxilia a identificar:  Potencias pontos de gargalos;  “Áreas cegas”  Caminho complete da transação (estrutura) “É bem simples, uma camada de apresentação, processa na aplicação e persiste no banco de dados...”
  • 14. Camada de Apresentação Camada de Aplicação Camada de Banco de Dados Gargalo de desempenho pode estar em qualquer lugar!!! Teste de Desempenho: Reconhecimento do ambiente
  • 15. Teste de Desempenho: Tipos de testes Levar até o limite a infraestrutura e ou o sistema Teste de Stress Executar uma carga constante conhecida para avaliar infraestrutura e ou sistema Teste de Carga Executar uma carga muitas vezes maior do que a média e em pequeno espaços de tempo Teste de Pico Executar uma carga constante conhecida por um período maior do que o habitual Endurance test Levar até o limite uma única camada da aplicação, medindo sua vazão e seu tempo de resposta Component test TESTE DE DESEMPENHO
  • 16. Teste de Desempenho: Metodologia Definir os objetivos do teste Entender o ambiente Especificar o plano de teste Definir a carga de trabalho do teste Configurar o ambiente de teste Executar os testes Analisar os resultados do teste
  • 17. Teste de Desempenho: Metodologia Roteiro inicial de Perguntas a se pensar: 1)Qual a quantidade de usuários concorrentes esperados em situações normais e de pico? 2)Quais são as páginas mais visitadas ou tarefas comumente realizadas pelos usuários? 3)Qual o tempo de resposta aceitável para tais tarefas em situações normais e de pico? 4)Qual a carga de usuários máxima aceitável antes que o tempo de resposta degrade a um ponto inaceitável?
  • 18. Teste de Desempenho: Metodologia Workload (também conhecido como session, activity profile ou Web Site Usage Signature) determina como os usuários utilizam a aplicação. Por meio do workload, podemos obter o seguinte tipo de informação a respeito da utilização da aplicação:  O tipo de páginas visitadas;  O tempo gasto em cada página;  Os caminhos percorridos pelos usuários;  Percentual de abandono da aplicação;
  • 19. Teste de Desempenho: Metodologia Exemplo de definição de workload para um cenário de teste HomePage Pesquisa por nome (30%) Pesquisa por best seller (50%) Pesquisa por ficção (20%) Ajuda (10%) Review (25%) Enquete (5%) Compra (75%) Sair (25%)
  • 20. Teste de Desempenho: Usuários virtuais Realizar um teste de desempenho com usuários reais  Difícil de coordenar  Atividades não são repetítiveis  Suscetíveis a erros  Não escalável  Exige espaçao e infra-estrutura  Relatórios/Métricas não são confiáveis Testadores de Verdade
  • 21. Teste de Desempenho: Usuários virtuais Realizar um teste de desempenho com ferramentas específicas  Fácil de coordenar  Atividades são repetítiveis  Error-Free  Escalável  Não Exige espaçao e infra-estrutura*  Relatórios/Métricas são confiáveis Virtual Users
  • 22. Teste de Desempenho: Tempo de pensar User Sleep Time (think time) faz os Virtual Users se comportarem como se fossem usuários reais. Por meio do User Sleep time, são injetados atrasos e paradas variáveis nos testes para simular cargas de utilização mais realistas.
  • 23. Teste de Desempenho: Tempo de pensar Durante a definição do User Sleep Time, devemos considerar que, mesmo os usuários reais navegam com maior ou menor velocidade de acordo com a sua familiaridade com o site. Usuário Lento Servidor Usuário Rápido
  • 24. Parte 2: Caixa de Ferramentas
  • 25. Teste de Desempenho: Caixa de Ferramentas O que ela tem que oferecer?
  • 26. Teste de Desempenho: Caixa de Ferramentas O que o Mercado oferece? Critérios Gartner: Gerenciamento de testes, criação de testes automatizados para desempenho, automação de testes funcionais e de regressão
  • 27. Teste de Desempenho: Caixa de Ferramentas O que a comunidade oferece?
  • 28. Teste de Desempenho: Caixa de Ferramentas Qual é a melhor para mim?  Entender a necessidade do atual cenário;  Existirá evolução no processo de testes;  Calendário anual de testes;  Tempo x Esforço;  Orçamento para demandas;
  • 29. Falando de Testes de Desempenho Evandro Grezeli egrezeli@gmail.com http://br.linkedin.com/pub/evandro-grezeli/6/b88/719/en
  • 30. Teste de Desempenho: Para saber mais... Referência bibliográficas: Myers, Glenford J. The Art of Software Testing. 2ª ed. New Jersey: John Wiley & Sons Inc, 2004. Bartié, Alexandre. Garantia de Qualidade de Software. 3ª ed. São Paulo: Campus, 2002. Pressman, Roger S. Engenharia de Software. 6ª ed. São Paulo: Pearson Makron Books, 2005. Menascé, Daniel A., Almeida, Virgilio A. F. Planejamento de Capacidade para serviços na Web: Métricas, modelos e métodos. São Paulo: Campus Elsevier, 2003. Miller, Robert B. Response time in man-computer conversational transactions. New York: International Business Machine Corporation, in press. Almeida, Virgilio, Menascé, Daniel A., Dowdy, Larry W. Performance by Design: Computer Capacity Planning by Example. New Jersey: Prentice Hall, 2004. Meier, J. D. et al. Performance Testing Guidance for Web Applications. Redmond: Microsoft Press, 2007.
  • 31. Teste de Desempenho: Para saber mais... Referência web: Jmeter BR http://www.jmeter.com.br Performance Project Planning http://www.wilsonmar.com/perfplan.aspx Memory leaks in enterprise java applications http://www.javaworld.com/javaworld/jw-03-2006/jw-0313-leak.html Introducing Microsoft Web Application Stress Tool http://www1bpt.bridgeport.edu/sed/projects/cs597/Fall_2002/jishah/web_application_stress.htm Load testing web applications using microsoft web application stress tool http://www.west-wind.com/presentations/webstress/webstress.htm FAQ – Performance & Load Testing http://www.sqaforums.com/showflat.php?Cat=0&Number=41861&an=0&page=0 User Experience, not metrics http://www.ibm.com/developerworks/rational/library/4228.html Top 25+ Reasons Web Applications don’t scale http://whitepapers.techrepublic.com.com/abstract.aspx?docid=38871