Upload
alan-correa-morais
View
338
Download
2
Embed Size (px)
Citation preview
Teste de Performance no Contexto de uma Aplicação de Nota Fiscal Eletrônica
Alan Correa Morais Mim
2
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
3
IntroduçãoTeste de PerformanceMetodologiaFerramentas de Teste de DesempenhoA Nota Fiscal EletrônicaUma Aplicação de NF-eMedindo Informações Importantes para o NegócioDemonstração Discussão
Agenda
4
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
Introdução - Problema
5
Dada uma aplicação “BUG FREE”
História baseada em Fatos Reais
6
Usuário Filial Bahia: Nossa esse sistema é muito lento!!!
História baseada em Fatos Reais
7
Usuário Filial São Paulo: Nossa esse sistema é tão rápido!!!
História baseada em Fatos Reais
8
Administrador do Sistema: E agora???
História baseada em Fatos Reais
9
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
Introdução
10
BenefíciosIdentificaçã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
Teste de Desempenho
11
BenefíciosIdentificaçã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
Teste de Desempenho
12
Teste de Avaliação de DesempenhoAvalia o comportamento do sistema em condições normais de utilização
Avaliação do Ambiente
Teste de CargaAvalia o ambiente em condições isoladas de carga
Interessante para colher indicadores de cargas em períodos de pico de utilização
Teste de StressAvalia o ambiente em condições superiores a máxima suportada
Interessante para executar um teste de recuperação
Tipos de Teste de Performance
13
Perfomance Testing Life CycleMé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
Metodologia
14
MS Visual Studio 2010 UltimateJmeterPerfmon (Análise de Desempenho de Hardware)IBM Rational Performance TesterHP Mercury LoadrunnerBorland Silk Performer
Ferramentas
15
Substituição do antigo modelo de Nota Fiscal Modelo 1/1 AAcoberta o trânsito de mercadoriasObrigatoriedade NacionalBaseada em WebService e XML
O Projeto Nota Fiscal Eletrônica (NF-e)
16
Processo de Venda Simples (NF-e)
1 - Autoriza o Uso
2 – Envia ao Cliente
17
Processamento de Emissão de NF-es e ou Recebimento de NF-esDeve possuir mais de um componente
Provedor de Interface
Provedor de Processos (máquina de estados finitos)
Deve possuir um banco de dadosDeve possuir conexão com a internetDeve possuir um desempenho aceitável de acordo com a necessidade do cliente
Uma Aplicação de NF-e
18
Topologia Lógica
ERP
Provedor de Interface
BD
Provedor de Processos
WebService SEFAZs
Internet
Client de Interface
Conexão HTTPSConexão com o BD
Ambiente Objetivo
Arquitetura do Provedor de Processos
Gera XML
Valida XML
Gera Lote XML
Envia Lote XML
Consulta Lote XML
Imprime DANFE
Autorização de Uso de uma NF-e
20
Foi necessária a criação de um ferramenta de Sampler para geração de NF-esFoi 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
A SEFAZ FOI NOTIFICADA SOBRE O TESTE
Preparando o Teste
21
Teste de DesempenhoFoco 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
Indicadores voltados ao Negócio
22
Teste de Desempenho
Indicadores voltados ao Negócio
Descrição Valor ObservaçãoTempo de resposta Médio 33,3 segundos/NF-eMédia de processamento (hora) 138 NF-es/horaPicos de Processamento1º Pico 07:00 até as 09:00 Motivo: Faturamento para liberação de caminhões2º Pico 14:00 até as 15:00 Motivo: Transferências entre centros produtivosMomento sem processamento 18:00 até as 06:00
23
Teste de CargaPrincipal 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
Indicadores voltados ao Negócio
24
Teste de Carga
Indicadores voltados ao Negócio
25
Teste de Carga
Indicadores voltados ao Negócio
26
Teste de StressPrincipal 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
Indicadores voltados ao Negócio
27
Teste de Stress
Indicadores voltados ao Negócio
28
Demonstração
Jmeter + PerfmonVisual Studio 2010 Ultimate
29
Perguntas???