SlideShare una empresa de Scribd logo
1 de 54
(48) 3285 5615 / 9645 5506
 contato@qualister.com.br

•  Terceirização de profissionais
•  Consultoria de teste                       Qualister	
  
•  Avaliação de usabilidade
•  Automação de testes
                                    Testes	
  de	
  performance	
  
•  Testes de performance
•  Treinamentos




  www.qualister.com.br
Quer saber mais?

 Estes	
  são	
  apenas	
  alguns	
  slides	
  do	
  curso	
  de	
  testes	
  
          de	
  performance	
  com	
  JMeter	
  e	
  outras	
  
         ferramentas	
  oferecido	
  pela	
  Qualister.	
  	
  
	
  

                   Para	
  maiores	
  informações	
  visite	
  nosso	
  site:	
  
	
  
               h?p://www.qualister.com.br/cursos	
  	
  
	
  


	
  

       www.qualister.com.br
Direitos autorais




                       Importante                                             er
                                                         produção de qualqu
                                   proibida a cópia e re
                       –         É                             resentação incluindo,
                                 parte do conteúdo desta ap
                                                             , imagens, gráficos e
                                 mas  não limitado a, textos
                                                                é protegida pelas leis
                                 tabela s. Esta apresentação                  no
                                                        opriedade de Cristia
                                 de Copyright e são pr                e Treinamento
                                  Caetano e   Qualister Consultoria
                                  LTDA.

                                                           r, copiar, guardar em
                        –         Não é permitido modifica
                                                              ugar, vender ou
                                  banco  de dados público, al
                                                                   apresentação,
                                  republicar qualquer parte desta
                                                       o explícita do autor.
                                  sem prévia permissã

                                                                      o deste material,
                            –      Quando ho   uver permissão de us                  e
                                                               bibliográfica conform
                                   é ob rigatória a referência
                                   as normas vigentes.




www.qualister.com.br
Instrutor

                       Cristiano Caetano
                       Email: cristiano.caetano@qualister.com.br
                       Apresentações: slideshare.net/cristianocaetano
                       Blog: cristianocaetano.wordpress.com
                       É certificado CBTS pela ALATS. Diretor técnico da Qualister com mais de 10 anos de experiência, já
                             trabalhou na área de qualidade e teste de software para grandes empresas como Zero G, DELL e HP
                             Invent. É colunista na área de Teste e Qualidade de software do site linhadecodigo.com.br e autor dos
                             livros "CVS: Controle de Versões e Desenvolvimento Colaborativo de Software" e "Automação e
                             Gerenciamento de Testes: Aumentando a Produtividade com as Principais Soluções Open Source e
                             Gratuitas". Participante ativo da comunidade de teste de software brasileira, é o criador e mantenedor
                             do portal TestExpert: A sua comunidade gratuita de teste e qualidade de software
                             (www.testexpert.com.br).




www.qualister.com.br
Twitter




             twitter.com/c_caetano




www.qualister.com.br
Sobre a Qualister

•       Fundação: 2007.
•       Sobre a Qualister: A Qualister é uma empresa nacional, constituída a partir da união
        de profissionais qualificados e certificados na área de testes e qualidade de software,
        com o objetivo de integrar, implementar e implantar soluções com base nas melhores
        práticas do mercado e normas internacionais.
•       Colaboradores: A Qualister é composta por colaboradores pós-graduados e
        certificados na área de testes (CBTS, CSTE) com larga experiência na indústria de
        Tecnologia da Informação.
•       Área de atuação: A Qualister é uma empresa especializada em serviços de
        qualidade e teste de software. Tem como linhas de atuação consultoria em teste/
        qualidade de software, outsourcing (terceirização dos serviços através da alocação
        de profissionais) e treinamentos.




     www.qualister.com.br
Parcerias internacionais


  	
                    Soluções para automação, profilling e gestão de testes
  	
  
  	
  
  	
  
  	
  
  	
  
  	
                   Soluções para testes de performance
  	
  
  	
  
  	
  
  	
  
  	
                    Soluções de apoio a avaliação de usabilidade
  	
  
  	
  
  	
  




www.qualister.com.br
Agenda

•  Parte 1:
     –    Por que os testes de perfomance são importantes?
     –    Performance: Carga, Volume e Estresse
     –    O que o teste de performance não é
     –    Visão geral da arquitetura
     –    Termos e conceitos

•  Parte 2:
     –    Objetivos dos testes de performance
     –    Validar os requisitos de performance
     –    Validar o impacto da adição de novas funcionalidades (Regressão)
     –    Descobrir os bottlenecks (gargalos)

•  Parte 3:
     –    Planejamento dos testes de performance
     –    Identificar workload e criar casos de teste
     –    Definir métricas, baseline e benchmarks
     –    Definir ferramentas, infra-estrutura e recursos humanos
     –    Executar os testes e analisar os resultados
     –    Tuning e troubleshooting

•  Parte 4:
     –    Exercícios



www.qualister.com.br
Tópico




                 • Introdução

www.qualister.com.br
Por que os testes de performance são importantes

     –  Garantir um tempo de resposta dentro de padrões
        aceitáveis para evitar o abandono do site ou aplicação
        em função de tempos de resposta inaceitáveis (perda de
        receita);

     –  Garantir o uptime (alta disponibilidade) de aplicações e
        serviços de missão crítica (perda de receita, riscos de
        vida);

     –  Evitar o fracasso dos projetos em virtude de problemas
        de performance e escalabidade (imagem e credibilidade
        da empresa);

     –  Garantir os investimentos de TI por meio da previsão da
        escalabilidade e performance da aplicação (pouco ou
        muito investimento em infra-estrutura);


www.qualister.com.br
O que o teste de performance não é

•  Teste de performance não é teste funcional. As
   técnicas, ferramentas e habilidades necessárias
   para executar os testes de performance são
   diferentes. Pode haver uma intersecção entre
   ambos tipos de testes, mas eles nunca serão
   iguais.


                         Testes      Testes de
                       Funcionais   Performance




www.qualister.com.br
O que o teste de performance não é




www.qualister.com.br
Page Response Time

•  É o tempo entre a requisição de uma operação e a
   subsequente exibição da página esperada. É a
   medida de performance que importa ao usuário
   final.




www.qualister.com.br
Qual a performance ideal?




www.qualister.com.br
Page Response Time - Estudos Formais

•  Um estudo conduzido por Nina Bhatti, et al,
   observou como os usuários reagiam quando eles
   eram direcionados a usar um website para
   configurar e comprar um computador. O estudo
   identificou que existia frustação quando o tempo de
   resposta era por volta de 10 segundos. Por outro
   lado, essa tolerância diminuía de 10 para 4
   segundos quando o processo e configuração de
   compra do computador estava próximo do fim.

Integrating User-Perceived Quality into Web Server Design by Nina Bhatti, Anna Bouch, Allan
    Kuchinsky, 9th International World Wide Web Conference, 2000.




 www.qualister.com.br
Page Response Time - Estudos Formais


•  Jared M. Spool conduziu outro estudo com diversos
   usuários que deveriam visitar 10 sites diferentes e utilizar os
   recursos dos sites conforme o interesse de cada um. Cada
   usuário deveria pontuar a velocidade de cada site conforme
   a sua percepção. Ao final dos testes, percebeu-se que o site
   considerado o mais devagar de todos pelos usuários
   (about.com) era, na verdade, o mais rápido de todos, com
   um tempo de resposta de 8 segundos. Por outro lado, o
   site amazon.com foi considerado o mais rápido de todos,
   mas no entanto, o seu tempo de resposta era de 36
   segundos. Concluíram que essa percepção contraditória
   está ligada aos elementos visuais da página. Em média, os
   usuários gastam cerca de 4 segundos lendo cada
   elemento. O site amazon.com oferece vários elementos
   interessantes do ponto de vista do usuário, dessa forma,
   após a requisição de uma operação, o usuário gasta vários
   segundos lendo esses elementos o que torna a perceção de
   que o tempo de resposta do site é inferior aos 36 segundos
   mensurados.
 Jared M. Spool, An interview with Jared Spool of User Interface Engineering, conducted by John Rhodes
www.qualister.com.br
  for WebWord,July   2001.
Page Response Time Fórmula




www.qualister.com.br
Page Response Time - Page Size

•  O tamanho da página e a quantidade de
   elementos (imagens, applets, etc) são fatores que
   afetam o Page Response Time.
 http://www.websiteoptimization.com/services/analyze/




www.qualister.com.br
Page Response Time - Minimum Bandwidth

•  A banda efetiva entre o cliente
e o servidor é determinada pela
banda mais lenta.




www.qualister.com.br
Page Response Time – Round Trip/Turns

•  O termo Turns define o número de conexões TCP necessárias para
   fazer o download de uma página. No protocolo HTTP 1.0 são
   necessários quatro Turns para fazer o download de uma página. Para
   fazer o download dos elementos da página (imagens, applets, etc) são
   necessários no mínimo três Turns.




 www.qualister.com.br
Page Response Time - Server Processing Time

•  Indica o tempo que um servidor leva para
   processar uma requisição. O tempo de
   processamento em cada uma das camadas, a
   velocidade da rede e o sistema operacional afetam
   o valor total do tempo de processamento.




www.qualister.com.br
Page Response Time - Server Processing Time




www.qualister.com.br
Page Response Time - Client Processing Time

•  Indica o tempo que o cliente (browser) leva para
   processar e exibir uma página. O tempo de
   download e execução dos plug-ins e o tempo de
   renderização dos elementos da página afetam o
   valor total do tempo de processamento.




www.qualister.com.br
Page Response Time - Client Processing Time (Cont.)

•       Load Time Analyzer
          –  https://addons.mozilla.org/firefox/3371/
•       YSlow
          –  http://developer.yahoo.com/yslow/help/
•       Safari Web Inspector
•       Google SpeedTracer
          –  http://code.google.com/intl/pt-BR/webtoolkit/speedtracer/
•       Ajax DynaTrace http://ajax.dynatrace.com/ajax/en/




     www.qualister.com.br
Tópico




                 • Conceitos

www.qualister.com.br
Throughput


•  Throughput é uma medida de trabalho
   (processamento) por unidade de tempo.

 –      Quantidade de cliques por segundo;
 –      Quantidade de páginas aberta por segundo;
 –      Quantidade bytes transferidos entre o servidor e o cliente por
        segundo;
 –      Quantidade de requisições processadas pelo servidor por segundo;
 –      Entre outros;




www.qualister.com.br
Utilização

•  Utilização indica o percentual de ocupação de
   um recurso (Processador, Disco, Memória, etc) por
   unidade de tempo.




www.qualister.com.br
Escalabilidade

•     Escalabilidade indica a capacidade da aplicação (e infra-
      estrutura) em lidar com cargas além dos limites previstos
      sem afetar o tempo de resposta ou a capacidade de
      processamento. A aplicação e a infra-estrutura podem ser
      escalados por meio da adição de recursos extras (maior
      capacidade de processamento, maior quantidade de
      memória, banda de rede, armazenamento, etc).

•     Em geral, os testes de escalabilidade são utilizados para
      determinar o número máximo de usuários que podem
      utilizar a aplicação sem degradar o tempo de resposta e o
      throughput.




 www.qualister.com.br
Profiler

•  Profiler é uma aplicação utilitária que mede a
   performance e utilização de recursos durante a
   execução da aplicação. O objetivo do Profiler é
   auxiliar o desenvolvedor a encontrar as áreas da
   aplicação que necessitam de otimização.




www.qualister.com.br
Virtual Users

•  Testes de performance realizados por testadores
   de verdade são difíceis de coordenar, não são
   repetitíveis, são suscetíveis a erros, etc.




www.qualister.com.br
Virtual Users

•  Virtual Users (VU) simulam usuários de verdade
   para a realização dos testes de performance. O
   comportamento dos VU é controlável, previsível e
   repetitível, produzindo resultados confiáveis.




www.qualister.com.br
User Think Time

•  O User Think Time faz os Virtual Users se
   comportarem como se fossem usuários reais. Por
   meio do Think Time, são injetados atrasos e
   paradas variáveis nos testes para simular cargas
   de utilização mais realistas.




www.qualister.com.br
User Think Time

•  Durante a definição do User Think Time, devemos
   considerar que, mesmo os usuários reais
   navegam com maior ou menor velocidade de
   acordo com a sua familiaridade com o site.




www.qualister.com.br
Bottlenecks (Gargalos)

•  Em um sistema com mais de um componente, o
   bottleneck (gargalo) é o recurso com a menor
   capacidade de trabalho (Throughput) por unidade
   de tempo. A performance do bottleneck (gargalo)
   limita a performance do sistema inteiro.




www.qualister.com.br
Benchmarks

•  Benchmark é um tipo de teste ou testes designados para
   comparar a performance e outros atributos de dispositivos
   ou sistemas da mesma categoria. Podemos comparar
   diversos aspectos da performance da infra-estrutura de
   testes contra Benchmarks realizados pela indústria de TI.

 http://www.mindcraft.com/whitepapers/first-nts4rhlinux.html




www.qualister.com.br
Tópico




                 •  Estratégias de teste
                    de performance


www.qualister.com.br
Objetivos dos testes de performance


•  Os principais objetivos do teste de
   performance são:
     –  Validar os requisitos de performance
     –  Validar o impacto da adição de novas
        funcionalidades (Regressão)
     –  Descobrir os bottlenecks (gargalos)




www.qualister.com.br
Testes de Regressão de performance

•  Modificações que podem impactar na performance
   da aplicação:

     –  Adição/modificação de funcionalidades;

     –  Redesign do sistema;

     –  Mudança de infra-estrutura (HW);

     –  Upgrade ou mudança de software (OS, Banco de
        dados, etc);

www.qualister.com.br
Descobrir os gargalos (bottlenecks)

•  Caso algum requisito de performance não atingir o
   seu SLA durante os testes, todos os esforços
   devem ser direcionados para as atividades de
   investigação e troubleshooting para descobrir
   quais são os bottlenecks (gargalos).

 “Podem existir bottlenecks mesmo quando as
  aplicações atingem os seus requisitos de
  performance”




www.qualister.com.br
Descobrir os gargalos (bottlenecks)

•  Os bottlenecks (gargalos) podem ser encontrados
   em qualquer elemento da arquitetura.




www.qualister.com.br
Descobrir os gargalos (bottlenecks)

•  Os bottlenecks (gargalos) também podem ser
   encontrados em elementos fora da arquitetura.




www.qualister.com.br
Descobrir os gargalos (bottlenecks)

•  Causadores de bottlenecks (métricas da indústria
   de TI).




www.qualister.com.br
Descobrir os gargalos (bottlenecks)

•  Problemas no design e no código da aplicação
   também podem causar bottlenecks.
     for( int i=0; i<object.size(); i++ ) {
       for( int j=0; j<object2.size(); j++ ) {
         int threshold = system.getThreshold();
         if( object.getThing() – object2.getOtherThing() > threshold ) {
           // Do something
         }
       }
     }

     int threshold = system.getThreshold();
     for( int i=0; i<object.size(); i++ ) {
       for( int j=0; j<object2.size(); j++ ) {
         if( object.getThing() – object2.getOtherThing() > threshold ) {
           // Do something
         }
       }
     }

www.qualister.com.br
Descobrir os gargalos (bottlenecks)

•  Problemas de performance, gargalos e memory
   leakage no código podem ser detectados por meio
   da utilização de profilers de memória e código
   durante a execução dos testes de unidade ou
   durante a execução dos testes de performance.
JProbe - http://www.quest.com/jprobe/




 www.qualister.com.br
Descobrir os gargalos (bottlenecks)

ANTS Profiler (.NET) - http://www.red-gate.com/products/ants_profiler/index.htm




 www.qualister.com.br
Tópico




                 •  Planejamento e execução
                    dos testes de performance




www.qualister.com.br
Planejamento dos testes de performance

•      Perguntas essenciais para iniciar o planejamento:

      1.    Qual a quantidade de usuários concorrentes esperados em situações normais e de pico?

      2.    Quem são os usuários típicos? Quais navegadores eles usam? Que computadores eles usam?
            Qual a banda de rede que eles usam?

      3.    Quais são as funcionalidades mais usadas ou tarefas/transações comumente realizadas pelos
            usuários?

      4.    Qual o tempo de resposta aceitável para tais tarefas em situações normais e de pico?

      5.    Qual a carga de usuários máxima aceitável antes que o tempo de resposta degrade a um
            ponto inaceitável?

      6.    Qual é a arquitetura e infra-estrutura do sistema?




 www.qualister.com.br
Workload

•  Com base na distribuição do workload podemos
   definir os casos de testes candidatos para a
   automação.




www.qualister.com.br
Infra-estrutura

•  Definir infra-estrutura de testes (o mais próximo do ambiente de
   produção possível)

      –  Servidores e software (OS, patches, Web Servers, Application
         Servers, Load Balancers, Banco de dados, etc);

      –  Infra-estrutura de rede necessária (Placas de rede (10/100 mb),
         hubs, switches, etc);

      –  Massa de dados;




 www.qualister.com.br
Papéis e responsabilidades


•  Profissionais envolvidos nos testes de
   performance:

     –  Testadores;

     –  Administradores de Banco de dados;

     –  Arquitetos de rede (ou suporte técnico);

     –  Desenvolvedores/Arquitetos de software;

www.qualister.com.br
Executar os testes e analisar os resultados

•  Melhores práticas:
     –  Antes de iniciar os testes reais, execute os testes com uma carga
        com cerca de 25% da carga prevista por um período curto de tempo
        para aquecer (warm-up) o servidor;
     –  Não execute os testes na rede local;
     –  Execute o mesmo conjunto de testes várias vezes no mesmo dia e
        durante vários dias na semana para garantir que os resultados são
        consistentes;
     –  Garanta que os requisitos e critérios de aceitação sejam específicos;
     –  Use monitores também no computador(es) que irão executar os
        geradores de carga para evitar bottlenecks (gargalos);
     –  Utilize uma massa de dados equivalente aos dados de produção;
     –  Stakeholders não querem relatórios com gráficos e tabelas confusas,
        eles querem conclusões e conselhos;



www.qualister.com.br
Troubleshooting & Tuning


•  Prováveis causadores de bottlenecks
   (gargalos)
     –  Confirme se a aplicação ou o Web Server não estão com opções de DEBUG ou
        TRACE ativadas;
     –  Memory Leaks;
     –  Páginas grandes com muitos elementos gráficos e CSS;
     –  Confirme se o protolo SSL (Secure Sockets Layer) é usado apenas onde é necessário
        (causa cerca de 20 a 30% de perda de performance);
     –  SQL Queries ou Stored Procedures escritos incorretamente;
     –  Problemas no design do banco de dados relacional (5 formas normais usadas ao pé
        da letra);
     –  Uso incorreto ou falta de índices no banco de dados;
     –  Muitas conexões abertas com o banco de dados (connection pools não liberadas);
     –  Firewalls e switches malconfigurados podem causar bottlenecks de rede;
     –  CPU/Memória/Disco/Rede (mal dimensionados);
     –  Elementos externos (autorizadores de crédito, sistemas legados, etc);

www.qualister.com.br
Quer saber mais?

 Estes	
  são	
  apenas	
  alguns	
  slides	
  do	
  curso	
  de	
  testes	
  
          de	
  performance	
  com	
  JMeter	
  e	
  outras	
  
         ferramentas	
  oferecido	
  pela	
  Qualister.	
  	
  
	
  

                   Para	
  maiores	
  informações	
  visite	
  nosso	
  site:	
  
	
  
               h?p://www.qualister.com.br/cursos	
  	
  
	
  


	
  

       www.qualister.com.br
Dúvidas?


•  Contato:
     –  Email: cristiano.caetano@qualister.com.br




www.qualister.com.br

Más contenido relacionado

La actualidad más candente

Keyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkKeyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkMikhail Subach
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webappAmit Solanki
 
Jmeter Tester Certification
Jmeter Tester CertificationJmeter Tester Certification
Jmeter Tester CertificationVskills
 
Testing check list
Testing check listTesting check list
Testing check listAtul Pant
 
Loadrunner interview questions and answers
Loadrunner interview questions and answersLoadrunner interview questions and answers
Loadrunner interview questions and answersGaruda Trainings
 
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
 
BlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal MeetupBlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal MeetupBlazeMeter
 
Présentation de Robot framework
Présentation de Robot frameworkPrésentation de Robot framework
Présentation de Robot frameworkgilleslenfant
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven TestingMaveryx
 
Top 20 best automation testing tools
Top 20 best automation testing toolsTop 20 best automation testing tools
Top 20 best automation testing toolsQACraft
 
Fitnesse - Acceptance testing
Fitnesse - Acceptance testingFitnesse - Acceptance testing
Fitnesse - Acceptance testingvijay_challa
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter PresentationNeill Lima
 
Performance testing
Performance testingPerformance testing
Performance testingJyoti Babbar
 
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeterMikael Kundert
 

La actualidad más candente (20)

Keyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkKeyword-driven Test Automation Framework
Keyword-driven Test Automation Framework
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webapp
 
Jmeter Tester Certification
Jmeter Tester CertificationJmeter Tester Certification
Jmeter Tester Certification
 
Testing check list
Testing check listTesting check list
Testing check list
 
Loadrunner interview questions and answers
Loadrunner interview questions and answersLoadrunner interview questions and answers
Loadrunner interview questions and answers
 
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
 
BlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal MeetupBlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal Meetup
 
JMeter Intro
JMeter IntroJMeter Intro
JMeter Intro
 
Présentation de Robot framework
Présentation de Robot frameworkPrésentation de Robot framework
Présentation de Robot framework
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Jmeter
JmeterJmeter
Jmeter
 
Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven Testing
 
Top 20 best automation testing tools
Top 20 best automation testing toolsTop 20 best automation testing tools
Top 20 best automation testing tools
 
Fitnesse - Acceptance testing
Fitnesse - Acceptance testingFitnesse - Acceptance testing
Fitnesse - Acceptance testing
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter Presentation
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Técnicas de Teste
Técnicas de TesteTécnicas de Teste
Técnicas de Teste
 
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeter
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 

Destacado

Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeisQualister
 
Curso de verificação e Revisão e Inspeção de artefatos
Curso de verificação e Revisão e Inspeção de artefatosCurso de verificação e Revisão e Inspeção de artefatos
Curso de verificação e Revisão e Inspeção de artefatosQualister
 
Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterElias Nogueira
 
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Qualister
 
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvemBRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvemQualister
 
Agile testing
Agile testingAgile testing
Agile testingQualister
 
Curso testes avaliação Usabilidade
Curso testes avaliação UsabilidadeCurso testes avaliação Usabilidade
Curso testes avaliação UsabilidadeQualister
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de softwareQualister
 
Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveisQualister
 
Teste e Qualidade de Software
Teste e Qualidade de SoftwareTeste e Qualidade de Software
Teste e Qualidade de SoftwareQualister
 
Testes de segurança
Testes de segurançaTestes de segurança
Testes de segurançaQualister
 
Da Integração à Entrega Contínua
Da Integração à Entrega ContínuaDa Integração à Entrega Contínua
Da Integração à Entrega ContínuaMarlon Bernardes
 
Medindo a performance de aplicações web com JMeter
Medindo a performance de aplicações web com JMeterMedindo a performance de aplicações web com JMeter
Medindo a performance de aplicações web com JMeterJúlio de Lima
 
Teste de Carga - Bluesoft Labs
Teste de Carga - Bluesoft LabsTeste de Carga - Bluesoft Labs
Teste de Carga - Bluesoft LabsRicardo Machado
 
Utilizando JMeter para realizar testes de carga em aplicações WEB
Utilizando JMeter para realizar testes de carga em aplicações WEBUtilizando JMeter para realizar testes de carga em aplicações WEB
Utilizando JMeter para realizar testes de carga em aplicações WEBFreedom DayMS
 
Introdução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumIntrodução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumSandy Maciel
 

Destacado (20)

Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
 
Curso de verificação e Revisão e Inspeção de artefatos
Curso de verificação e Revisão e Inspeção de artefatosCurso de verificação e Revisão e Inspeção de artefatos
Curso de verificação e Revisão e Inspeção de artefatos
 
Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e Blazemeter
 
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
 
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvemBRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
 
Agile testing
Agile testingAgile testing
Agile testing
 
Curso testes avaliação Usabilidade
Curso testes avaliação UsabilidadeCurso testes avaliação Usabilidade
Curso testes avaliação Usabilidade
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de software
 
Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveis
 
Teste e Qualidade de Software
Teste e Qualidade de SoftwareTeste e Qualidade de Software
Teste e Qualidade de Software
 
Testes de segurança
Testes de segurançaTestes de segurança
Testes de segurança
 
Da Integração à Entrega Contínua
Da Integração à Entrega ContínuaDa Integração à Entrega Contínua
Da Integração à Entrega Contínua
 
Medindo a performance de aplicações web com JMeter
Medindo a performance de aplicações web com JMeterMedindo a performance de aplicações web com JMeter
Medindo a performance de aplicações web com JMeter
 
Testes de Sistema
Testes de SistemaTestes de Sistema
Testes de Sistema
 
J Meter
J MeterJ Meter
J Meter
 
Teste de Carga - Bluesoft Labs
Teste de Carga - Bluesoft LabsTeste de Carga - Bluesoft Labs
Teste de Carga - Bluesoft Labs
 
Utilizando JMeter para realizar testes de carga em aplicações WEB
Utilizando JMeter para realizar testes de carga em aplicações WEBUtilizando JMeter para realizar testes de carga em aplicações WEB
Utilizando JMeter para realizar testes de carga em aplicações WEB
 
IHC estilos interacao
IHC estilos interacaoIHC estilos interacao
IHC estilos interacao
 
Introdução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumIntrodução a testes de software utilizando selenium
Introdução a testes de software utilizando selenium
 
Paradigmas da comunicação IHC
Paradigmas da comunicação IHCParadigmas da comunicação IHC
Paradigmas da comunicação IHC
 

Similar a Curso Teste de performance, carga e stress JMeter

Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosCristiano Caetano
 
Teste avaliacao usabilidade software
Teste avaliacao usabilidade softwareTeste avaliacao usabilidade software
Teste avaliacao usabilidade softwareCristiano Caetano
 
Testes ágeis
Testes ágeisTestes ágeis
Testes ágeisQualister
 
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013Cristiano Caetano
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingCristiano Caetano
 
Automacao testes automatizados
Automacao testes automatizadosAutomacao testes automatizados
Automacao testes automatizadosCristiano Caetano
 
Automação de teste de software
Automação de teste de softwareAutomação de teste de software
Automação de teste de softwareQualister
 
Perspectivas do profissional de teste e qualidade de software
Perspectivas do profissional de teste e qualidade de softwarePerspectivas do profissional de teste e qualidade de software
Perspectivas do profissional de teste e qualidade de softwareQualister
 
Perspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwarePerspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwareCristiano Caetano
 
Testes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de SoftwareTestes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de SoftwareCristiano Caetano
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingQualister
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeisQualister
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCamilo Ribeiro
 
Maturidade em automação de testes
Maturidade em automação de testesMaturidade em automação de testes
Maturidade em automação de testesCristiano Caetano
 
Tecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testesTecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testesCristiano Caetano
 
Automacao de testes mitos e verdades
Automacao de testes mitos e verdadesAutomacao de testes mitos e verdades
Automacao de testes mitos e verdadesCristiano Caetano
 
Automação de testes: Teoria e Prática (SENAI) - Qualister
Automação de testes: Teoria e Prática (SENAI) - QualisterAutomação de testes: Teoria e Prática (SENAI) - Qualister
Automação de testes: Teoria e Prática (SENAI) - QualisterCristiano Caetano
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de SoftwareQualister
 

Similar a Curso Teste de performance, carga e stress JMeter (20)

Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticos
 
Teste avaliacao usabilidade software
Teste avaliacao usabilidade softwareTeste avaliacao usabilidade software
Teste avaliacao usabilidade software
 
Testes ágeis
Testes ágeisTestes ágeis
Testes ágeis
 
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testing
 
Automacao testes automatizados
Automacao testes automatizadosAutomacao testes automatizados
Automacao testes automatizados
 
Automação de teste de software
Automação de teste de softwareAutomação de teste de software
Automação de teste de software
 
Perspectivas do profissional de teste e qualidade de software
Perspectivas do profissional de teste e qualidade de softwarePerspectivas do profissional de teste e qualidade de software
Perspectivas do profissional de teste e qualidade de software
 
Perspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwarePerspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de software
 
Testes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de SoftwareTestes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de Software
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testing
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de Software
 
Maturidade em automação de testes
Maturidade em automação de testesMaturidade em automação de testes
Maturidade em automação de testes
 
Tecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testesTecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testes
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
 
Automacao de testes mitos e verdades
Automacao de testes mitos e verdadesAutomacao de testes mitos e verdades
Automacao de testes mitos e verdades
 
Automação de testes: Teoria e Prática (SENAI) - Qualister
Automação de testes: Teoria e Prática (SENAI) - QualisterAutomação de testes: Teoria e Prática (SENAI) - Qualister
Automação de testes: Teoria e Prática (SENAI) - Qualister
 
Introdução ao RUP
Introdução ao RUPIntrodução ao RUP
Introdução ao RUP
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 

Más de Qualister

Testes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesTestes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesQualister
 
Perspectivas em teste de software
Perspectivas em teste de softwarePerspectivas em teste de software
Perspectivas em teste de softwareQualister
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com CodeceptionQualister
 
Palestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredPalestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredQualister
 
Palestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnitPalestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnitQualister
 
Tendências em teste de software
Tendências em teste de softwareTendências em teste de software
Tendências em teste de softwareQualister
 
Juntando para multiplicar
Juntando para multiplicarJuntando para multiplicar
Juntando para multiplicarQualister
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end seleniumQualister
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverQualister
 
Testes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterTestes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterQualister
 
Testes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean uxTestes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean uxQualister
 
Gestão de defeitos e testes com Jira
Gestão de defeitos e testes com JiraGestão de defeitos e testes com Jira
Gestão de defeitos e testes com JiraQualister
 
Testes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentasTestes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentasQualister
 
Como testar aplicativos ios e android
Como testar aplicativos ios e androidComo testar aplicativos ios e android
Como testar aplicativos ios e androidQualister
 
Automacao de testes com keyword driven
Automacao de testes com keyword drivenAutomacao de testes com keyword driven
Automacao de testes com keyword drivenQualister
 
Free-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testingFree-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testingQualister
 
Galileo computing software testing
Galileo computing software testingGalileo computing software testing
Galileo computing software testingQualister
 
Automação de testes BDD e ATDD
Automação de testes BDD e ATDDAutomação de testes BDD e ATDD
Automação de testes BDD e ATDDQualister
 

Más de Qualister (18)

Testes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesTestes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidades
 
Perspectivas em teste de software
Perspectivas em teste de softwarePerspectivas em teste de software
Perspectivas em teste de software
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
 
Palestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredPalestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-Assured
 
Palestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnitPalestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnit
 
Tendências em teste de software
Tendências em teste de softwareTendências em teste de software
Tendências em teste de software
 
Juntando para multiplicar
Juntando para multiplicarJuntando para multiplicar
Juntando para multiplicar
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriver
 
Testes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterTestes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeter
 
Testes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean uxTestes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean ux
 
Gestão de defeitos e testes com Jira
Gestão de defeitos e testes com JiraGestão de defeitos e testes com Jira
Gestão de defeitos e testes com Jira
 
Testes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentasTestes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentas
 
Como testar aplicativos ios e android
Como testar aplicativos ios e androidComo testar aplicativos ios e android
Como testar aplicativos ios e android
 
Automacao de testes com keyword driven
Automacao de testes com keyword drivenAutomacao de testes com keyword driven
Automacao de testes com keyword driven
 
Free-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testingFree-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testing
 
Galileo computing software testing
Galileo computing software testingGalileo computing software testing
Galileo computing software testing
 
Automação de testes BDD e ATDD
Automação de testes BDD e ATDDAutomação de testes BDD e ATDD
Automação de testes BDD e ATDD
 

Curso Teste de performance, carga e stress JMeter

  • 1. (48) 3285 5615 / 9645 5506 contato@qualister.com.br •  Terceirização de profissionais •  Consultoria de teste Qualister   •  Avaliação de usabilidade •  Automação de testes Testes  de  performance   •  Testes de performance •  Treinamentos www.qualister.com.br
  • 2. Quer saber mais? Estes  são  apenas  alguns  slides  do  curso  de  testes   de  performance  com  JMeter  e  outras   ferramentas  oferecido  pela  Qualister.       Para  maiores  informações  visite  nosso  site:     h?p://www.qualister.com.br/cursos         www.qualister.com.br
  • 3. Direitos autorais Importante er produção de qualqu proibida a cópia e re –  É resentação incluindo, parte do conteúdo desta ap , imagens, gráficos e mas não limitado a, textos é protegida pelas leis tabela s. Esta apresentação no opriedade de Cristia de Copyright e são pr e Treinamento Caetano e Qualister Consultoria LTDA. r, copiar, guardar em –  Não é permitido modifica ugar, vender ou banco de dados público, al apresentação, republicar qualquer parte desta o explícita do autor. sem prévia permissã o deste material, –  Quando ho uver permissão de us e bibliográfica conform é ob rigatória a referência as normas vigentes. www.qualister.com.br
  • 4. Instrutor Cristiano Caetano Email: cristiano.caetano@qualister.com.br Apresentações: slideshare.net/cristianocaetano Blog: cristianocaetano.wordpress.com É certificado CBTS pela ALATS. Diretor técnico da Qualister com mais de 10 anos de experiência, já trabalhou na área de qualidade e teste de software para grandes empresas como Zero G, DELL e HP Invent. É colunista na área de Teste e Qualidade de software do site linhadecodigo.com.br e autor dos livros "CVS: Controle de Versões e Desenvolvimento Colaborativo de Software" e "Automação e Gerenciamento de Testes: Aumentando a Produtividade com as Principais Soluções Open Source e Gratuitas". Participante ativo da comunidade de teste de software brasileira, é o criador e mantenedor do portal TestExpert: A sua comunidade gratuita de teste e qualidade de software (www.testexpert.com.br). www.qualister.com.br
  • 5. Twitter twitter.com/c_caetano www.qualister.com.br
  • 6. Sobre a Qualister •  Fundação: 2007. •  Sobre a Qualister: A Qualister é uma empresa nacional, constituída a partir da união de profissionais qualificados e certificados na área de testes e qualidade de software, com o objetivo de integrar, implementar e implantar soluções com base nas melhores práticas do mercado e normas internacionais. •  Colaboradores: A Qualister é composta por colaboradores pós-graduados e certificados na área de testes (CBTS, CSTE) com larga experiência na indústria de Tecnologia da Informação. •  Área de atuação: A Qualister é uma empresa especializada em serviços de qualidade e teste de software. Tem como linhas de atuação consultoria em teste/ qualidade de software, outsourcing (terceirização dos serviços através da alocação de profissionais) e treinamentos. www.qualister.com.br
  • 7. Parcerias internacionais   Soluções para automação, profilling e gestão de testes             Soluções para testes de performance           Soluções de apoio a avaliação de usabilidade       www.qualister.com.br
  • 8. Agenda •  Parte 1: –  Por que os testes de perfomance são importantes? –  Performance: Carga, Volume e Estresse –  O que o teste de performance não é –  Visão geral da arquitetura –  Termos e conceitos •  Parte 2: –  Objetivos dos testes de performance –  Validar os requisitos de performance –  Validar o impacto da adição de novas funcionalidades (Regressão) –  Descobrir os bottlenecks (gargalos) •  Parte 3: –  Planejamento dos testes de performance –  Identificar workload e criar casos de teste –  Definir métricas, baseline e benchmarks –  Definir ferramentas, infra-estrutura e recursos humanos –  Executar os testes e analisar os resultados –  Tuning e troubleshooting •  Parte 4: –  Exercícios www.qualister.com.br
  • 9. Tópico • Introdução www.qualister.com.br
  • 10. Por que os testes de performance são importantes –  Garantir um tempo de resposta dentro de padrões aceitáveis para evitar o abandono do site ou aplicação em função de tempos de resposta inaceitáveis (perda de receita); –  Garantir o uptime (alta disponibilidade) de aplicações e serviços de missão crítica (perda de receita, riscos de vida); –  Evitar o fracasso dos projetos em virtude de problemas de performance e escalabidade (imagem e credibilidade da empresa); –  Garantir os investimentos de TI por meio da previsão da escalabilidade e performance da aplicação (pouco ou muito investimento em infra-estrutura); www.qualister.com.br
  • 11. O que o teste de performance não é •  Teste de performance não é teste funcional. As técnicas, ferramentas e habilidades necessárias para executar os testes de performance são diferentes. Pode haver uma intersecção entre ambos tipos de testes, mas eles nunca serão iguais. Testes Testes de Funcionais Performance www.qualister.com.br
  • 12. O que o teste de performance não é www.qualister.com.br
  • 13. Page Response Time •  É o tempo entre a requisição de uma operação e a subsequente exibição da página esperada. É a medida de performance que importa ao usuário final. www.qualister.com.br
  • 14. Qual a performance ideal? www.qualister.com.br
  • 15. Page Response Time - Estudos Formais •  Um estudo conduzido por Nina Bhatti, et al, observou como os usuários reagiam quando eles eram direcionados a usar um website para configurar e comprar um computador. O estudo identificou que existia frustação quando o tempo de resposta era por volta de 10 segundos. Por outro lado, essa tolerância diminuía de 10 para 4 segundos quando o processo e configuração de compra do computador estava próximo do fim. Integrating User-Perceived Quality into Web Server Design by Nina Bhatti, Anna Bouch, Allan Kuchinsky, 9th International World Wide Web Conference, 2000. www.qualister.com.br
  • 16. Page Response Time - Estudos Formais •  Jared M. Spool conduziu outro estudo com diversos usuários que deveriam visitar 10 sites diferentes e utilizar os recursos dos sites conforme o interesse de cada um. Cada usuário deveria pontuar a velocidade de cada site conforme a sua percepção. Ao final dos testes, percebeu-se que o site considerado o mais devagar de todos pelos usuários (about.com) era, na verdade, o mais rápido de todos, com um tempo de resposta de 8 segundos. Por outro lado, o site amazon.com foi considerado o mais rápido de todos, mas no entanto, o seu tempo de resposta era de 36 segundos. Concluíram que essa percepção contraditória está ligada aos elementos visuais da página. Em média, os usuários gastam cerca de 4 segundos lendo cada elemento. O site amazon.com oferece vários elementos interessantes do ponto de vista do usuário, dessa forma, após a requisição de uma operação, o usuário gasta vários segundos lendo esses elementos o que torna a perceção de que o tempo de resposta do site é inferior aos 36 segundos mensurados. Jared M. Spool, An interview with Jared Spool of User Interface Engineering, conducted by John Rhodes www.qualister.com.br for WebWord,July 2001.
  • 17. Page Response Time Fórmula www.qualister.com.br
  • 18. Page Response Time - Page Size •  O tamanho da página e a quantidade de elementos (imagens, applets, etc) são fatores que afetam o Page Response Time. http://www.websiteoptimization.com/services/analyze/ www.qualister.com.br
  • 19. Page Response Time - Minimum Bandwidth •  A banda efetiva entre o cliente e o servidor é determinada pela banda mais lenta. www.qualister.com.br
  • 20. Page Response Time – Round Trip/Turns •  O termo Turns define o número de conexões TCP necessárias para fazer o download de uma página. No protocolo HTTP 1.0 são necessários quatro Turns para fazer o download de uma página. Para fazer o download dos elementos da página (imagens, applets, etc) são necessários no mínimo três Turns. www.qualister.com.br
  • 21. Page Response Time - Server Processing Time •  Indica o tempo que um servidor leva para processar uma requisição. O tempo de processamento em cada uma das camadas, a velocidade da rede e o sistema operacional afetam o valor total do tempo de processamento. www.qualister.com.br
  • 22. Page Response Time - Server Processing Time www.qualister.com.br
  • 23. Page Response Time - Client Processing Time •  Indica o tempo que o cliente (browser) leva para processar e exibir uma página. O tempo de download e execução dos plug-ins e o tempo de renderização dos elementos da página afetam o valor total do tempo de processamento. www.qualister.com.br
  • 24. Page Response Time - Client Processing Time (Cont.) •  Load Time Analyzer –  https://addons.mozilla.org/firefox/3371/ •  YSlow –  http://developer.yahoo.com/yslow/help/ •  Safari Web Inspector •  Google SpeedTracer –  http://code.google.com/intl/pt-BR/webtoolkit/speedtracer/ •  Ajax DynaTrace http://ajax.dynatrace.com/ajax/en/ www.qualister.com.br
  • 25. Tópico • Conceitos www.qualister.com.br
  • 26. Throughput •  Throughput é uma medida de trabalho (processamento) por unidade de tempo. –  Quantidade de cliques por segundo; –  Quantidade de páginas aberta por segundo; –  Quantidade bytes transferidos entre o servidor e o cliente por segundo; –  Quantidade de requisições processadas pelo servidor por segundo; –  Entre outros; www.qualister.com.br
  • 27. Utilização •  Utilização indica o percentual de ocupação de um recurso (Processador, Disco, Memória, etc) por unidade de tempo. www.qualister.com.br
  • 28. Escalabilidade •  Escalabilidade indica a capacidade da aplicação (e infra- estrutura) em lidar com cargas além dos limites previstos sem afetar o tempo de resposta ou a capacidade de processamento. A aplicação e a infra-estrutura podem ser escalados por meio da adição de recursos extras (maior capacidade de processamento, maior quantidade de memória, banda de rede, armazenamento, etc). •  Em geral, os testes de escalabilidade são utilizados para determinar o número máximo de usuários que podem utilizar a aplicação sem degradar o tempo de resposta e o throughput. www.qualister.com.br
  • 29. Profiler •  Profiler é uma aplicação utilitária que mede a performance e utilização de recursos durante a execução da aplicação. O objetivo do Profiler é auxiliar o desenvolvedor a encontrar as áreas da aplicação que necessitam de otimização. www.qualister.com.br
  • 30. Virtual Users •  Testes de performance realizados por testadores de verdade são difíceis de coordenar, não são repetitíveis, são suscetíveis a erros, etc. www.qualister.com.br
  • 31. Virtual Users •  Virtual Users (VU) simulam usuários de verdade para a realização dos testes de performance. O comportamento dos VU é controlável, previsível e repetitível, produzindo resultados confiáveis. www.qualister.com.br
  • 32. User Think Time •  O User Think Time faz os Virtual Users se comportarem como se fossem usuários reais. Por meio do Think Time, são injetados atrasos e paradas variáveis nos testes para simular cargas de utilização mais realistas. www.qualister.com.br
  • 33. User Think Time •  Durante a definição do User Think Time, devemos considerar que, mesmo os usuários reais navegam com maior ou menor velocidade de acordo com a sua familiaridade com o site. www.qualister.com.br
  • 34. Bottlenecks (Gargalos) •  Em um sistema com mais de um componente, o bottleneck (gargalo) é o recurso com a menor capacidade de trabalho (Throughput) por unidade de tempo. A performance do bottleneck (gargalo) limita a performance do sistema inteiro. www.qualister.com.br
  • 35. Benchmarks •  Benchmark é um tipo de teste ou testes designados para comparar a performance e outros atributos de dispositivos ou sistemas da mesma categoria. Podemos comparar diversos aspectos da performance da infra-estrutura de testes contra Benchmarks realizados pela indústria de TI. http://www.mindcraft.com/whitepapers/first-nts4rhlinux.html www.qualister.com.br
  • 36. Tópico •  Estratégias de teste de performance www.qualister.com.br
  • 37. Objetivos dos testes de performance •  Os principais objetivos do teste de performance são: –  Validar os requisitos de performance –  Validar o impacto da adição de novas funcionalidades (Regressão) –  Descobrir os bottlenecks (gargalos) www.qualister.com.br
  • 38. Testes de Regressão de performance •  Modificações que podem impactar na performance da aplicação: –  Adição/modificação de funcionalidades; –  Redesign do sistema; –  Mudança de infra-estrutura (HW); –  Upgrade ou mudança de software (OS, Banco de dados, etc); www.qualister.com.br
  • 39. Descobrir os gargalos (bottlenecks) •  Caso algum requisito de performance não atingir o seu SLA durante os testes, todos os esforços devem ser direcionados para as atividades de investigação e troubleshooting para descobrir quais são os bottlenecks (gargalos). “Podem existir bottlenecks mesmo quando as aplicações atingem os seus requisitos de performance” www.qualister.com.br
  • 40. Descobrir os gargalos (bottlenecks) •  Os bottlenecks (gargalos) podem ser encontrados em qualquer elemento da arquitetura. www.qualister.com.br
  • 41. Descobrir os gargalos (bottlenecks) •  Os bottlenecks (gargalos) também podem ser encontrados em elementos fora da arquitetura. www.qualister.com.br
  • 42. Descobrir os gargalos (bottlenecks) •  Causadores de bottlenecks (métricas da indústria de TI). www.qualister.com.br
  • 43. Descobrir os gargalos (bottlenecks) •  Problemas no design e no código da aplicação também podem causar bottlenecks. for( int i=0; i<object.size(); i++ ) { for( int j=0; j<object2.size(); j++ ) { int threshold = system.getThreshold(); if( object.getThing() – object2.getOtherThing() > threshold ) { // Do something } } } int threshold = system.getThreshold(); for( int i=0; i<object.size(); i++ ) { for( int j=0; j<object2.size(); j++ ) { if( object.getThing() – object2.getOtherThing() > threshold ) { // Do something } } } www.qualister.com.br
  • 44. Descobrir os gargalos (bottlenecks) •  Problemas de performance, gargalos e memory leakage no código podem ser detectados por meio da utilização de profilers de memória e código durante a execução dos testes de unidade ou durante a execução dos testes de performance. JProbe - http://www.quest.com/jprobe/ www.qualister.com.br
  • 45. Descobrir os gargalos (bottlenecks) ANTS Profiler (.NET) - http://www.red-gate.com/products/ants_profiler/index.htm www.qualister.com.br
  • 46. Tópico •  Planejamento e execução dos testes de performance www.qualister.com.br
  • 47. Planejamento dos testes de performance •  Perguntas essenciais para iniciar o planejamento: 1.  Qual a quantidade de usuários concorrentes esperados em situações normais e de pico? 2.  Quem são os usuários típicos? Quais navegadores eles usam? Que computadores eles usam? Qual a banda de rede que eles usam? 3.  Quais são as funcionalidades mais usadas ou tarefas/transações comumente realizadas pelos usuários? 4.  Qual o tempo de resposta aceitável para tais tarefas em situações normais e de pico? 5.  Qual a carga de usuários máxima aceitável antes que o tempo de resposta degrade a um ponto inaceitável? 6.  Qual é a arquitetura e infra-estrutura do sistema? www.qualister.com.br
  • 48. Workload •  Com base na distribuição do workload podemos definir os casos de testes candidatos para a automação. www.qualister.com.br
  • 49. Infra-estrutura •  Definir infra-estrutura de testes (o mais próximo do ambiente de produção possível) –  Servidores e software (OS, patches, Web Servers, Application Servers, Load Balancers, Banco de dados, etc); –  Infra-estrutura de rede necessária (Placas de rede (10/100 mb), hubs, switches, etc); –  Massa de dados; www.qualister.com.br
  • 50. Papéis e responsabilidades •  Profissionais envolvidos nos testes de performance: –  Testadores; –  Administradores de Banco de dados; –  Arquitetos de rede (ou suporte técnico); –  Desenvolvedores/Arquitetos de software; www.qualister.com.br
  • 51. Executar os testes e analisar os resultados •  Melhores práticas: –  Antes de iniciar os testes reais, execute os testes com uma carga com cerca de 25% da carga prevista por um período curto de tempo para aquecer (warm-up) o servidor; –  Não execute os testes na rede local; –  Execute o mesmo conjunto de testes várias vezes no mesmo dia e durante vários dias na semana para garantir que os resultados são consistentes; –  Garanta que os requisitos e critérios de aceitação sejam específicos; –  Use monitores também no computador(es) que irão executar os geradores de carga para evitar bottlenecks (gargalos); –  Utilize uma massa de dados equivalente aos dados de produção; –  Stakeholders não querem relatórios com gráficos e tabelas confusas, eles querem conclusões e conselhos; www.qualister.com.br
  • 52. Troubleshooting & Tuning •  Prováveis causadores de bottlenecks (gargalos) –  Confirme se a aplicação ou o Web Server não estão com opções de DEBUG ou TRACE ativadas; –  Memory Leaks; –  Páginas grandes com muitos elementos gráficos e CSS; –  Confirme se o protolo SSL (Secure Sockets Layer) é usado apenas onde é necessário (causa cerca de 20 a 30% de perda de performance); –  SQL Queries ou Stored Procedures escritos incorretamente; –  Problemas no design do banco de dados relacional (5 formas normais usadas ao pé da letra); –  Uso incorreto ou falta de índices no banco de dados; –  Muitas conexões abertas com o banco de dados (connection pools não liberadas); –  Firewalls e switches malconfigurados podem causar bottlenecks de rede; –  CPU/Memória/Disco/Rede (mal dimensionados); –  Elementos externos (autorizadores de crédito, sistemas legados, etc); www.qualister.com.br
  • 53. Quer saber mais? Estes  são  apenas  alguns  slides  do  curso  de  testes   de  performance  com  JMeter  e  outras   ferramentas  oferecido  pela  Qualister.       Para  maiores  informações  visite  nosso  site:     h?p://www.qualister.com.br/cursos         www.qualister.com.br
  • 54. Dúvidas? •  Contato: –  Email: cristiano.caetano@qualister.com.br www.qualister.com.br