SlideShare uma empresa 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

Mais conteúdo relacionado

Mais procurados

Automacao de testes mitos e verdades
Automacao de testes mitos e verdadesAutomacao de testes mitos e verdades
Automacao de testes mitos e verdadesCristiano Caetano
 
TDC 2011 Automaçãode testes com BDD e ATDD
TDC 2011 Automaçãode testes com BDD e ATDDTDC 2011 Automaçãode testes com BDD e ATDD
TDC 2011 Automaçãode testes com BDD e ATDDCristiano 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
 
Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosCristiano Caetano
 
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 softwareQualister
 
Palestra teste de software Univel
Palestra teste de software UnivelPalestra teste de software Univel
Palestra teste de software UnivelCristiano Caetano
 
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)Júlio de Lima
 
Evoluindo dot project em alinhamento ao pmbok
Evoluindo dot project em alinhamento ao pmbokEvoluindo dot project em alinhamento ao pmbok
Evoluindo dot project em alinhamento ao pmbokPET Computação
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes ExploratóriosAlan Carlos
 

Mais procurados (12)

Automacao de testes mitos e verdades
Automacao de testes mitos e verdadesAutomacao de testes mitos e verdades
Automacao de testes mitos e verdades
 
TDC 2011 Automaçãode testes com BDD e ATDD
TDC 2011 Automaçãode testes com BDD e ATDDTDC 2011 Automaçãode testes com BDD e ATDD
TDC 2011 Automaçãode testes com BDD e ATDD
 
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
 
Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticos
 
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
 
Afrodite
AfroditeAfrodite
Afrodite
 
Palestra teste de software Univel
Palestra teste de software UnivelPalestra teste de software Univel
Palestra teste de software Univel
 
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
 
Evoluindo dot project em alinhamento ao pmbok
Evoluindo dot project em alinhamento ao pmbokEvoluindo dot project em alinhamento ao pmbok
Evoluindo dot project em alinhamento ao pmbok
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
 
Certificação Java
Certificação JavaCertificação Java
Certificação Java
 
EcoHouse
EcoHouseEcoHouse
EcoHouse
 

Semelhante a Teste performance carga stress jmeter

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
 
Curso testes avaliação Usabilidade
Curso testes avaliação UsabilidadeCurso testes avaliação Usabilidade
Curso testes avaliação UsabilidadeQualister
 
Testes ágeis
Testes ágeisTestes ágeis
Testes ágeisQualister
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingCristiano Caetano
 
Testes de segurança
Testes de segurançaTestes de segurança
Testes de segurançaQualister
 
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
 
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
 
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
 
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
 
Papéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwarePapéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwareCamilo Ribeiro
 
Estratégia de testes ágeis
Estratégia de testes ágeisEstratégia de testes ágeis
Estratégia de testes ágeisCristiano Caetano
 
Mini curso testes ágeis
Mini curso testes ágeisMini curso testes ágeis
Mini curso testes ágeisQualister
 
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
 

Semelhante a Teste performance carga stress jmeter (20)

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
 
Curso testes avaliação Usabilidade
Curso testes avaliação UsabilidadeCurso testes avaliação Usabilidade
Curso testes avaliação Usabilidade
 
Testes ágeis
Testes ágeisTestes ágeis
Testes ágeis
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testing
 
Testes de segurança
Testes de segurançaTestes de segurança
Testes de segurança
 
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
 
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
 
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
 
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
 
Papéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwarePapéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de Software
 
Estratégia de testes ágeis
Estratégia de testes ágeisEstratégia de testes ágeis
Estratégia de testes ágeis
 
Mini curso testes ágeis
Mini curso testes ágeisMini curso testes ágeis
Mini curso testes ágeis
 
Mini Curso Testes Ageis
Mini Curso Testes AgeisMini Curso Testes Ageis
Mini Curso Testes Ageis
 
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
 

Teste performance carga 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