SlideShare uma empresa Scribd logo
1 de 29
Teste de Performance no Contexto de uma
   Aplicação de Nota Fiscal Eletrônica
Alan Correa Morais
Mim
    Líder de Testes na Sonda IT
    Especialista em Nota Fiscal Eletrônica
    Engenheiro da Computação com Ênfase em
    Engenharia de Software
    Técnico em Redes de Comunicação
    @alancmorais
    alancmorais@gmail.com
    alancmorais.blogspot.com




2
Agenda
    Introdução
    Teste de Performance
    Metodologia
    Ferramentas de Teste de Desempenho
    A Nota Fiscal Eletrônica
    Uma Aplicação de NF-e
    Medindo Informações Importantes para o Negócio
    Demonstração
    Discussão
3
Introdução - Problema
    Como garantir que eu tenho o ambiente de acordo
    com as minhas necessidade atuais e futuras
    quando adquiro uma solução?
    Como responder a esta pergunta utilizando estas
    dimensões?
      Tempo
      Capacidade
      Desempenho
      Disponibilidade
      Tolerância a Falhas

4
História baseada em Fatos Reais
    Dada uma aplicação “BUG FREE”




5
História baseada em Fatos Reais
    Usuário Filial Bahia: Nossa esse sistema é muito
    lento!!!




6
História baseada em Fatos Reais
    Usuário Filial São Paulo: Nossa esse sistema é tão
    rápido!!!




7
História baseada em Fatos Reais
    Administrador do Sistema: E agora???




8
Introdução
    Teste de Performance (Desempenho)
      Tempo x Carga para determinar a escalabilidade e confiabilidade
      Baseado em Requisitos não funcionais
      Gargalos
      Expectativas!!!
      Definir Métricas para executar Medições
      Voltado ao ambiente e não à funcionalidade
      Ambiente similar ao de Produção




9
Teste de Desempenho
     Benefícios
       Identificação se o ambiente possui o desempenho suficiente de
       acordo com os critérios do cliente
       Identificação de quanto tempo o ambiente poderá suportar a
       carga aplicada e quando se tornará obsoleto
       Identificação dos períodos críticos e médias diárias de utilização
       do sistema e impacto no ambiente
       Cálculo de disponibilidade do ambiente de acordo com a carga
       aplicada
       Identificação de possíveis gargalos no ambiente


10
Teste de Desempenho
     Benefícios
       Identificação do comportamento do ambiente com carga normal,
       picos e carga máxima (Stress)
       Identificação do comportamento do ambiente em caso de falhas
       (tolerância a falhas) específicas do tipo de aplicativo. Ex:
       Contingência NF-e




11
Tipos de Teste de Performance
     Teste de Avaliação de Desempenho
       Avalia o comportamento do sistema em condições normais de
       utilização
       Avaliação do Ambiente
     Teste de Carga
       Avalia o ambiente em condições isoladas de carga
       Interessante para colher indicadores de cargas em períodos de
       pico de utilização
     Teste de Stress
       Avalia o ambiente em condições superiores a máxima suportada
       Interessante para executar um teste de recuperação
12
Metodologia
     Perfomance Testing Life Cycle
     Método: Performance Testing Guidance for Web
     Applications (Microsoft)
       1 – Identificar o Ambiente
       2 - Identificar o critério de Aceite (Questionário)
       3 – Planejar e Desenhar os Testes
       4 – Preparar o Ambiente
       5 – Configurar as Ferramentas de Teste
       6 – Executar o Teste
       7 – Analisar Resultados, Ajustar e Retestar

13
Ferramentas
     MS Visual Studio 2010 Ultimate
     Jmeter
     Perfmon (Análise de Desempenho de Hardware)
     IBM Rational Performance Tester
     HP Mercury Loadrunner
     Borland Silk Performer




14
O Projeto Nota Fiscal Eletrônica (NF-e)
     Substituição do antigo modelo de Nota Fiscal
     Modelo 1/1 A
     Acoberta o trânsito de mercadorias
     Obrigatoriedade Nacional
     Baseada em WebService e XML




15
Processo de Venda Simples (NF-e)


                     2 – Envia ao Cliente




              1 - Autoriza o Uso




16
Uma Aplicação de NF-e
     Processamento de Emissão de NF-es e ou
     Recebimento de NF-es
     Deve possuir mais de um componente
       Provedor de Interface
       Provedor de Processos (máquina de estados finitos)
     Deve possuir um banco de dados
     Deve possuir conexão com a internet
     Deve possuir um desempenho aceitável de acordo
     com a necessidade do cliente

17
Topologia Lógica




                    Provedor de                WebService
       ERP           Processos    Internet
                                                SEFAZs




                       BD




                                             Ambiente Objetivo
     Client de      Provedor de              Conexão HTTPS
     Interface       Interface               Conexão com o BD




18
Arquitetura do Provedor de Processos




                     Gera      Envia   Consulta
Gera      Valida                                  Imprime
                     Lote      Lote    Lote
XML       XML                                     DANFE
                     XML       XML     XML




           Autorização de Uso de uma NF-e
Preparando o Teste
     Foi necessária a criação de um ferramenta de
     Sampler para geração de NF-es
     Foi criado Performance Counter na aplicação que
     permitiu a visualização via Perfmon
       NF-es por Minuto
       NF-es por Processo
       Tempo médio de resposta SELECT FOR UPDATE (Banco de
       Dados)
       Tempo médio para conexão no Banco de Dados
       Tempo médio de comunicação com a SEFAZ

20
     A SEFAZ FOI NOTIFICADA SOBRE O TESTE
Indicadores voltados ao Negócio
     Teste de Desempenho
       Foco em indicadores de tempo de resposta. (Ex: Nº de NF-es por
       minuto)
       Identificação destes indicadores em um determinado espaço de
       tempo
       Identificação de utilização de Hardware do ambiente utilizado
       Identificação de indicadores alvo x variáveis de ambiente




21
Indicadores voltados ao Negócio
     Teste de Desempenho
      Descrição                       Valor              Observação
      Tempo de resposta Médio         33,3 segundos/NF-e
      Média de processamento (hora)   138 NF-es/hora
      Picos de Processamento
      1º Pico                         07:00 até as 09:00   Motivo: Faturamento para liberação de caminhões
      2º Pico                         14:00 até as 15:00   Motivo: Transferências entre centros produtivos
      Momento sem processamento       18:00 até as 06:00




22
Indicadores voltados ao Negócio
     Teste de Carga
       Principal objetivo: Identificar o comportamento do ambiente de
       acordo com as diversas cargas possíveis de maneira isolada
       Foco em indicadores de desempenho x hardware
       Identificação destes indicadores com uma determinada carga do
       aplicativo




23
Indicadores voltados ao Negócio
     Teste de Carga




24
Indicadores voltados ao Negócio
     Teste de Carga




25
Indicadores voltados ao Negócio
     Teste de Stress
       Principal objetivo: Identificar o comportamento do ambiente de
       quando aplicada a carga acima da máxima x tempo
       A carga aplicada é identificada pelo teste de carga
       Foco em indicadores de desempenho x hardware
       Identificação destes com relação ao tempo com uma
       determinada carga do aplicativo
       Identificação de falhas e recuperação do sistema




26
Indicadores voltados ao Negócio
     Teste de Stress




27
Demonstração
     Jmeter + Perfmon
     Visual Studio 2010 Ultimate




28
Perguntas???




29

Mais conteúdo relacionado

Mais procurados

Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninFundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninDevInPF
 
Aula 3 técnicas de teste de software1
Aula 3   técnicas de teste de software1Aula 3   técnicas de teste de software1
Aula 3 técnicas de teste de software1Tiago Vizoto
 
Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtareFernando Palma
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosJosé Claudemir Pacheco Júnior
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de softwareFelipe Bugov
 

Mais procurados (7)

Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninFundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Aula 3 técnicas de teste de software1
Aula 3   técnicas de teste de software1Aula 3   técnicas de teste de software1
Aula 3 técnicas de teste de software1
 
Testes Funcionais
Testes FuncionaisTestes Funcionais
Testes Funcionais
 
Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtare
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetos
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de software
 

Semelhante a Teste de performance no contexto de uma aplicação de nf e

Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceAlex Barbosa Coqueiro
 
[GUTS-RS] Testes de Performance
 [GUTS-RS] Testes de Performance [GUTS-RS] Testes de Performance
[GUTS-RS] Testes de PerformanceGUTS-RS
 
Falando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliFalando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliJoao Galdino Mello de Souza
 
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?Edlaine Zamora
 
Introdução aos Testes de Desempenho
Introdução aos Testes de DesempenhoIntrodução aos Testes de Desempenho
Introdução aos Testes de DesempenhoBase2 Tecnologia
 
Cmg falando de testes de desempenho
Cmg falando de testes de desempenhoCmg falando de testes de desempenho
Cmg falando de testes de desempenhoEvandro Grezeli
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aLeonardo Molinari
 
ALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test ManagerALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test ManagerAlan Carlos
 
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
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)Joao Galdino Mello de Souza
 
Testando aplicações DataSnap
Testando aplicações DataSnapTestando aplicações DataSnap
Testando aplicações DataSnapAndreano Lanusse
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidaderzauza
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfMichaelArrais1
 
Experiência em Processo de Teste Iterativo e Automatizado para Data Warehouse
Experiência em Processo de Teste Iterativo e Automatizado para Data WarehouseExperiência em Processo de Teste Iterativo e Automatizado para Data Warehouse
Experiência em Processo de Teste Iterativo e Automatizado para Data WarehouseLuana Lobão
 

Semelhante a Teste de performance no contexto de uma aplicação de nf e (20)

Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal Performance
 
Dba Ciclo Palestra P5 V1a
Dba Ciclo Palestra P5 V1aDba Ciclo Palestra P5 V1a
Dba Ciclo Palestra P5 V1a
 
[GUTS-RS] Testes de Performance
 [GUTS-RS] Testes de Performance [GUTS-RS] Testes de Performance
[GUTS-RS] Testes de Performance
 
Mpu 2012 ppt
Mpu 2012 pptMpu 2012 ppt
Mpu 2012 ppt
 
Falando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliFalando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro Grezeli
 
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
 
Introdução aos Testes de Desempenho
Introdução aos Testes de DesempenhoIntrodução aos Testes de Desempenho
Introdução aos Testes de Desempenho
 
Cmg falando de testes de desempenho
Cmg falando de testes de desempenhoCmg falando de testes de desempenho
Cmg falando de testes de desempenho
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2a
 
ALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test ManagerALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test Manager
 
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
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
 
Testando aplicações DataSnap
Testando aplicações DataSnapTestando aplicações DataSnap
Testando aplicações DataSnap
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdf
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software
Teste de software Teste de software
Teste de software
 
Experiência em Processo de Teste Iterativo e Automatizado para Data Warehouse
Experiência em Processo de Teste Iterativo e Automatizado para Data WarehouseExperiência em Processo de Teste Iterativo e Automatizado para Data Warehouse
Experiência em Processo de Teste Iterativo e Automatizado para Data Warehouse
 
Metralhando sua API
 Metralhando sua API Metralhando sua API
Metralhando sua API
 

Teste de performance no contexto de uma aplicação de nf e

  • 1. Teste de Performance no Contexto de uma Aplicação de Nota Fiscal Eletrônica
  • 2. Alan Correa Morais Mim Líder de Testes na Sonda IT Especialista em Nota Fiscal Eletrônica Engenheiro da Computação com Ênfase em Engenharia de Software Técnico em Redes de Comunicação @alancmorais alancmorais@gmail.com alancmorais.blogspot.com 2
  • 3. Agenda Introdução Teste de Performance Metodologia Ferramentas de Teste de Desempenho A Nota Fiscal Eletrônica Uma Aplicação de NF-e Medindo Informações Importantes para o Negócio Demonstração Discussão 3
  • 4. Introdução - Problema Como garantir que eu tenho o ambiente de acordo com as minhas necessidade atuais e futuras quando adquiro uma solução? Como responder a esta pergunta utilizando estas dimensões? Tempo Capacidade Desempenho Disponibilidade Tolerância a Falhas 4
  • 5. História baseada em Fatos Reais Dada uma aplicação “BUG FREE” 5
  • 6. História baseada em Fatos Reais Usuário Filial Bahia: Nossa esse sistema é muito lento!!! 6
  • 7. História baseada em Fatos Reais Usuário Filial São Paulo: Nossa esse sistema é tão rápido!!! 7
  • 8. História baseada em Fatos Reais Administrador do Sistema: E agora??? 8
  • 9. Introdução Teste de Performance (Desempenho) Tempo x Carga para determinar a escalabilidade e confiabilidade Baseado em Requisitos não funcionais Gargalos Expectativas!!! Definir Métricas para executar Medições Voltado ao ambiente e não à funcionalidade Ambiente similar ao de Produção 9
  • 10. Teste de Desempenho Benefícios Identificação se o ambiente possui o desempenho suficiente de acordo com os critérios do cliente Identificação de quanto tempo o ambiente poderá suportar a carga aplicada e quando se tornará obsoleto Identificação dos períodos críticos e médias diárias de utilização do sistema e impacto no ambiente Cálculo de disponibilidade do ambiente de acordo com a carga aplicada Identificação de possíveis gargalos no ambiente 10
  • 11. Teste de Desempenho Benefícios Identificação do comportamento do ambiente com carga normal, picos e carga máxima (Stress) Identificação do comportamento do ambiente em caso de falhas (tolerância a falhas) específicas do tipo de aplicativo. Ex: Contingência NF-e 11
  • 12. Tipos de Teste de Performance Teste de Avaliação de Desempenho Avalia o comportamento do sistema em condições normais de utilização Avaliação do Ambiente Teste de Carga Avalia o ambiente em condições isoladas de carga Interessante para colher indicadores de cargas em períodos de pico de utilização Teste de Stress Avalia o ambiente em condições superiores a máxima suportada Interessante para executar um teste de recuperação 12
  • 13. Metodologia Perfomance Testing Life Cycle Método: Performance Testing Guidance for Web Applications (Microsoft) 1 – Identificar o Ambiente 2 - Identificar o critério de Aceite (Questionário) 3 – Planejar e Desenhar os Testes 4 – Preparar o Ambiente 5 – Configurar as Ferramentas de Teste 6 – Executar o Teste 7 – Analisar Resultados, Ajustar e Retestar 13
  • 14. Ferramentas MS Visual Studio 2010 Ultimate Jmeter Perfmon (Análise de Desempenho de Hardware) IBM Rational Performance Tester HP Mercury Loadrunner Borland Silk Performer 14
  • 15. O Projeto Nota Fiscal Eletrônica (NF-e) Substituição do antigo modelo de Nota Fiscal Modelo 1/1 A Acoberta o trânsito de mercadorias Obrigatoriedade Nacional Baseada em WebService e XML 15
  • 16. Processo de Venda Simples (NF-e) 2 – Envia ao Cliente 1 - Autoriza o Uso 16
  • 17. Uma Aplicação de NF-e Processamento de Emissão de NF-es e ou Recebimento de NF-es Deve possuir mais de um componente Provedor de Interface Provedor de Processos (máquina de estados finitos) Deve possuir um banco de dados Deve possuir conexão com a internet Deve possuir um desempenho aceitável de acordo com a necessidade do cliente 17
  • 18. Topologia Lógica Provedor de WebService ERP Processos Internet SEFAZs BD Ambiente Objetivo Client de Provedor de Conexão HTTPS Interface Interface Conexão com o BD 18
  • 19. Arquitetura do Provedor de Processos Gera Envia Consulta Gera Valida Imprime Lote Lote Lote XML XML DANFE XML XML XML Autorização de Uso de uma NF-e
  • 20. Preparando o Teste Foi necessária a criação de um ferramenta de Sampler para geração de NF-es Foi criado Performance Counter na aplicação que permitiu a visualização via Perfmon NF-es por Minuto NF-es por Processo Tempo médio de resposta SELECT FOR UPDATE (Banco de Dados) Tempo médio para conexão no Banco de Dados Tempo médio de comunicação com a SEFAZ 20 A SEFAZ FOI NOTIFICADA SOBRE O TESTE
  • 21. Indicadores voltados ao Negócio Teste de Desempenho Foco em indicadores de tempo de resposta. (Ex: Nº de NF-es por minuto) Identificação destes indicadores em um determinado espaço de tempo Identificação de utilização de Hardware do ambiente utilizado Identificação de indicadores alvo x variáveis de ambiente 21
  • 22. Indicadores voltados ao Negócio Teste de Desempenho Descrição Valor Observação Tempo de resposta Médio 33,3 segundos/NF-e Média de processamento (hora) 138 NF-es/hora Picos de Processamento 1º Pico 07:00 até as 09:00 Motivo: Faturamento para liberação de caminhões 2º Pico 14:00 até as 15:00 Motivo: Transferências entre centros produtivos Momento sem processamento 18:00 até as 06:00 22
  • 23. Indicadores voltados ao Negócio Teste de Carga Principal objetivo: Identificar o comportamento do ambiente de acordo com as diversas cargas possíveis de maneira isolada Foco em indicadores de desempenho x hardware Identificação destes indicadores com uma determinada carga do aplicativo 23
  • 24. Indicadores voltados ao Negócio Teste de Carga 24
  • 25. Indicadores voltados ao Negócio Teste de Carga 25
  • 26. Indicadores voltados ao Negócio Teste de Stress Principal objetivo: Identificar o comportamento do ambiente de quando aplicada a carga acima da máxima x tempo A carga aplicada é identificada pelo teste de carga Foco em indicadores de desempenho x hardware Identificação destes com relação ao tempo com uma determinada carga do aplicativo Identificação de falhas e recuperação do sistema 26
  • 27. Indicadores voltados ao Negócio Teste de Stress 27
  • 28. Demonstração Jmeter + Perfmon Visual Studio 2010 Ultimate 28