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

Post on 11-Jun-2015

338 views 2 download

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

Teste de Performance no Contexto de uma Aplicação de Nota Fiscal Eletrônica

Alan Correa Morais Mim

2

@alancmoraisalancmorais@gmail.comalancmorais.blogspot.com

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???