prof. sidney galeote. 2 www. prasabermais. com visão geral sobre a dimensão de qualidade...

34
Prof. Sidney Galeote Testes de Performance

Upload: eliza-da-rocha-desconhecida

Post on 07-Apr-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

Prof. Sidney Galeote

Testes de Performance

Page 2: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

2www.prasabermais.com

Visão Geral sobre a dimensão de qualidade “performance”

Custo da qualidade Como a performance deve ser tratada Modelo para avaliação da performance Processo para testes Exemplo de relatório

Testes de Performance

Page 3: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

3www.prasabermais.com

InformativaInterativaTransacionalFluxo de TrabalhoAmbientes de ColaboraçãoComunidades on-linePortais da Web

Aplicações Web

Usabilidade

DesempenhoOutras dimensões

Funcionalidade

Usabilidade

Dimensões daQualidade

Conseqüências damá performanceCusto da

Conformidade

Custo da NãoConformidade

Custo daQualidade

Projeto orientado pelodesempenho

(checklist)

Medições dinâmicas dedesempenho (código)

Testes de Carga(usuários

concorrentes)

Insatisfação dosclientesPerda de imagem,de receitas e decompetitividade

Atividades de Verificação eValidação do Desempenho

Valores gastoscom os retrabalhose suporte técnicoao software de mádesempenho

Abordagem reativa

Abordagem preventiva

Sistema Web queatende a objetivos

de desempenhopré-estabelecidos

O quê?

Por quê?

Como? Quando? Quem?

Introdução

Page 4: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

4www.prasabermais.com

InformativoInterativoTransacionalFluxo de TrabalhoAmbientes de ColaboraçãoComunidades on-linePortais da Web

Sistemas Web

Os sistemas Web e suas dimensões da qualidade• Os sistemas Web se tornaram

onipresentes em um curto período de tempo

• Estão permeados em diversas áreas da economia

• Os sistemas Web possuem diferentes níveis de complexidade, em função da sua finalidade

• O desempenho é uma das três dimensões de qualidade (depois da funcionalidade e usabilidade) mais importantes tanto para o usuário quanto para o desenvolvedor

Page 5: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

5www.prasabermais.com

0

20

40

60

80

100

Usuário 95 95 90 50 40 10

Desenvolvedor 100 80 80 30 90 60

Funcionalidade Usabilidade Performance Suporte Conectividade Portabilidade

Para determinados sistemas Web a performance é fundamental

• A performance é uma das três dimensões de qualidade mais importantes tanto para o usuário quanto para o desenvolvedor !

Impo

rtânc

ia

em %

(Adaptado de Stutzke, 2002, p.1)

Os sistemas Web e suas dimensões da qualidade

Page 6: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

6www.prasabermais.com

Custo da Conformidade

Custo da Não Conformidade

Custo daQualidade

Custo de Prevenção

Custo de Verificação

Custo de Falhas Internas

Custos de Falhas Externas

O custo da qualidade

Cus

to d

a Q

ualid

ade

100%Defeitos

0 %Defeitos

Custos de Prevençãoe Verificação

Custos de FalhasInternas e Externas

Custo Totalda Qualidade

Adaptado de Juran, Quality Control Book, p.5-12

• Objetivo– Redução do custo da qualidade

• Abordagem reativa– Custo da não conformidade

• Custo das falhas internas e externas• Abordagem preventiva

– Custo da conformidade• Custo da prevenção e de verificação

Page 7: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

7www.prasabermais.com

Como o mercado trata a performance

Vamos apenas construir o sistema e ver o que pode ser feito quanto a performance…

Vamos ajustar o sistema posteriormente, não temos tempo de nos preocupar com a performance agora…

Performance? A próxima versão tratará disto… Nós compraremos um computador com mais

capacidade de processamento… Nós não temos problemas de performance..

Page 8: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

8www.prasabermais.com

Como o mercado trata a performance

Page 9: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

9www.prasabermais.com

Consequências da abordagem reativa quanto a performance

Conflitos no relacionamento com os clientes Perda de negócios Aumento de recursos no projeto Perda de competitividade Cancelamento do projeto Aumento do custo do desenvolvimento

Page 10: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

10www.prasabermais.com

Como a performance deve ser tratadaAbrangência da Engenharia para Performance

Objetivos de Performance

Modelagem de Performance

Análise/Desenho e ConstruçãoOrientadas para Performance

Medições: Performance e Utilização deRecursos

Testes: Carga e Stress

Tuning: Rede, Plataforma, Aplicação

Ciclode

Vida

Page 11: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

11www.prasabermais.com

O modelo proposto para avaliação da performance de sistemas Web

Definir os objetivos deperformance do

sistema Web

Utilizar o modelo decusto da qualidade

para justificar autilização do método

Avaliaçãoestática oudinâmica?

Estática

Análise, Desenho eConstrução

Orientadas paraPerformance

Medições:Performance e

Utilização de Recursos

Testes: Carga e Stress

Dinâmica

Sistema Web comperformance deacordo com os

objetivos pré-definidos

Melhorias?

Melhorias?

Retrabalho

Retrabalho

Sistema Web alvo deavaliação daperformanceO que?

Porque?

Como? Quando? Quem?

Como? Quando? Quem?

Como? Quando? Quem?

Page 12: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

12www.prasabermais.com

Definir os objetivos deperformance do

sistema Web

Utilizar o modelo decusto da qualidade

para justificar autilização do método

Porque?

Exemplo de especificação de objetivos de performance

Descrição Valor Memória de cálculoNº de pedidos por dia 64 23.529/365

Nº de pedidos em dias de pico (campanhas de marketing – 6x)

384 64 x 6

Nº de pedidos por hora (considerando janela de pico de 6 horas)

64 384 / 6

Perfil de utilização pelos usuários 67% consulta de produtos ou utilizando ajuda do sistema

10% mantendo o carrinho de compras

10% mantendo a conta10% criando pedidos3% procurando produtos

Tempo médio de uma sessão de usuário 10 minutos

Nº de usuários criando pedidos por minuto 10,67 64 (pedidos) / 60 (min) x 10 (min de cada sessão)

Nº máximo de usuários que o sistema deve suportar fazendo pedidos

106,7 10,67 x 100 /10 (a criação de pedidos é 10% da carga do sistema)

Tempo mínimo para sustentar a carga de 106,7 usuários

20 minutos

Tempos médios de respostas Consulta de produtos ou ajuda do sistema - < 3s

Mantendo o carrinho de compras - < 3s

Criando pedidos - < 5sProcurando produtos - < 8s

• Porque ? – Objetivos de

Performance• 107 usuários

fazendo pedidos, com tempo médio de resposta menor que 5s

Page 13: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

13www.prasabermais.com

Checklist para verificação da performance

Page 14: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

14www.prasabermais.com

Aplicação do modelo proposto

10 Métodos mais representativos no consumo de tempo

3,17

1,8

1,43

1,34

33,48

1

13,78

11,18

3,6

2,64

1,78

21,62

2,88

1,44

1,4

1,36

2,23

4,45

1,23

0,8

0 5 10 15 20 25 30 35 40

BusinessLayerCS.Product.fetchPageOfProducts

BusinessLayerCS.SKU.refreshAvailableQuantities

RDAEStoreCS.SearchProducts.SearchAndBindResultsToForm

com.ITFlightPlan.SoftwareLibrary.UIUtils.bind

com.ITFlightPlan.SoftwareLibrary.DirectoryUtilities.performGet

RDAEStoreCS.SignIn.SignInButton_Click

RDAEStoreCS.UIComponents.CartControl.bind

ASP.MaintainAccount_aspx.__BuildControlMaintainAccount

ASP.MaintainOrderBilling_aspx._ _BuildControlMaintainOrderBilling

com.ITFlightPlan.SoftwareLibrary.DateTimeAttr.convertToSQLServerDateTime Tempo Médio (ms)

Tempo em % (consumidopelo método em relação àsessão)

Medições:Performance e

Utilização de Recursos

Dinâmica

Melhorias?Retrabalho

Medições de perfil de performance • Como, quando e quem?

Page 15: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

15www.prasabermais.com

O que é o teste de performance

Teste de carga◦ é utilizado para determinar o tempo de resposta médio,

dado um ou mais cenários típicos de utilização, com uma carga variável de usuários.

◦ Os resultados permitem saber se a infra-estrutura do sistema (envolvendo hardware e software) irá atender aos requisitos de desempenho.

Testes de stress◦ É usado para determinar o comportamento de um

sistema submetido a condições limites, para simular um horário de pico de utilização do mesmo.

◦ Também pode ser utilizado para determinar o que irá acontecer com o sistema quando sua capacidade máxima for atingida.

Page 16: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

16www.prasabermais.com

O processo para testes de Performance

Necessidade de Testes de Performance

Elaboração do Plano de Testes

Objetivos de Performance

Arquitetura do Sistema

Casos de Testes

Modelo de Carga

Cronograma

Captura e Customização

dos Scripts

Execução dos Testes

Avaliação dos Resultados

Relatório Final

Page 17: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

17www.prasabermais.com

Objetivos de Performance◦ Os objetivos de performance devem ser claramente

estabelecidos no plano de testes◦ Servirão para nortear os esforços de testes e permitirão saber

quando estes objetivos foram atingidos. ◦ O quão rápido o sistema deve ser executado, qual o ponto

limite aceitável para a performance, qual o consumo de processador e memória aceitáveis, qual o número de usuários concorrentes deve suportar, são questões que ajudam a definir os objetivos de performance de um sistema

◦ Deve-se sair do lugar comum de que a aplicação deve ser o mais rápido possível

Plano de testes

Page 18: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

18www.prasabermais.com

Plano de Testes Arquitetura do Sistema

Page 19: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

19www.prasabermais.com

Casos de Testes◦ Caso 1 - Autenticação

Autenticação do usuário – digitação de usuário / senha

Aguardar a primeira página da aplicação. No caso uma lista de faxes recebidos.

Ir para a opção Busca

◦ Caso 2 – Utilização da Busca Digitação de um valor para a localização do

documento Abertura da imagem Classificação do documento

Plano de testes

Page 20: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

20www.prasabermais.com

Modelo de carga

Busca VisualizarImagem

ConfirmaDados

Cenário Buscar

Logon Busca

Cenário Exibir

Sair

SairResultado

BuscaLogon

70%

30%

10-30s 20-60s

Plano de testes

Page 21: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

21www.prasabermais.com

Aplicação do modelo proposto

Testes: Carga e Stress

Melhorias?

Retrabalho

Modelo de carga

Registro denovos usuários

40%

Retorno deusuário

60%

Pág Inicial

Seleção de produto

77%

Pesquisa por nome/descrição

3%

Cães e Gatos

Pássaros e Peixes

Répteis

40%

23%

14%

Ajuda 10%

Nome item

Nome item

25%

25%

Efetua compra

Sair Sair

10%67%

Verificação do pedido

10%

SairVerificação da conta

10%

• Como, quando e quem?

• Teste de carga e stress

Page 22: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

22www.prasabermais.com

página inicialPetShop

Selecionamenu Dogs

SelecionaCategoryName=Poodle

Seleciona ItemName=MalePuppy

Selecionamenu Fish

SelecionaCategoryName=GoldFish

Seleciona ItemName=AdultMale

sair

sair

Selecionamenu Birds

Seleciona CategoryName=AmazonParots

Seleciona ItemName=AdultMale

Selecionamenu Reptiles

SelecionaCategory Name=Iguana

Seleciona ItemName=GreenAdult

1

2

4

1

2

3

Cenário NAVEGAR

SelecionaItem DetailsAdd to Cart

SelecionaShoppingCart Update

SelecionaShoppingCart, Procedto Checkout,Continue

SelecionaSignInSubmit

SelecionaOrderInformationContinue

VisualizaOrderProcessed

sair

Cenário PEDIDO

4

Selecionamenu Help

Selecionalink Order Item

Cenário AJUDA

sair

Preenche Dogno campoSearch

Seleciona opçãoSearch

Cenário PESQUISAR

Selecionamenu Dogs

SelecionaCategoryName=Poodle

Seleciona ItemName=MalePuppy

SelecionaOrderInformationConfirmationContinue

Selecionamenu Cats

SelecionaCategoryName=Persian

Seleciona ItemName=AdultFemale

3

Exemplo de modelo de carga

Page 23: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

23www.prasabermais.com

Cronograma

Plano de testes

Page 24: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

24www.prasabermais.com

Esta etapa é de fundamental importância para o processo!!

Captura e customização dos scripts

Page 25: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

25www.prasabermais.com

Execução dos testes

Page 26: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

26www.prasabermais.com

Execução dos testes

Page 27: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

27www.prasabermais.com

Avaliação dos resultados

Page 28: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

28www.prasabermais.com

Avaliação dos resultados

Page 29: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

29www.prasabermais.com

Tempos Médios Totais do Cenário Navegar

0

5

10

15

20

25

1 25 50 75 100 125

Usuários

Tem

po (s

)

1 25 50 75 100 125 Navegar 3.96 3.38 4.45 7.21 13.43 20.33

Avaliação dos resultados

Page 30: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

30www.prasabermais.com

Comparação de Desempenho: Versão Otimizada x Versão não Otimizada

59.03%

54.51%31.79%

10.09%4.72%6.66%

0

20

40

60

80

100

120

140

160

Usuários

Tem

po M

édio

(s)

Vr. Otimizada (tempo médio)Vr. Não Otimizada (tempo médio)

Vr. Otimizada (tempomédio)

16.39 16.55 16.66 17.08 24.74 57.93

Vr. Não Otimizada (tempomédio)

17.56 17.37 18.53 25.04 54.39 141.38

1 5 10 20 40 80

% de Ganho

Resultado de teste de carga

Page 31: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

31www.prasabermais.com

Resultados Obtidos

Utilizados para ajustes na aplicação◦ Código◦ Banco de Dados◦ Nos servidores de Aplicação◦ Nas transações Mainframe◦ Na rede…

Page 32: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

32www.prasabermais.com

Ferramentas e Infra-estrutura Ferramentas

◦ Rational TestManager Utilizada para o planejamento,

execução e análise dos testes de performance

Permite gerar diversos relatórios sobre os testes de performance

◦ Rational Robot Utilizada para a construção de

procedimentos automatizados de testes de performance

Possui uma linguagem de programação própria

É do tipo “Capture/Playback”◦ Máquinas Agentes para simulação

dos usuários virtuais.

Page 33: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

33www.prasabermais.com

Ambiente de hardware e software utilizado para o teste de carga:◦ Computador Pentium III 1Ghz com 512 MB de memória RAM, ◦ Sistema Operacional Windows 2000 Server◦ Banco de Dados SQL-Server 2000◦ .NET Framework ◦ Navegador Internet Explorer◦ Software para realizar o teste de carga: Rational Robot.

Máquina Coordenadorados Testes

Servidor (IIS, Framework .NET )

1

Máquina Agente dosUsuários Virtuais 1-65

1

2

3

Pentium III 1Ghz, 512MB

2

Celeron 1Ghz, 512MB3

Pentium III 1Ghz, 512MB

LEGENDA

Máquina Agente dosUsuários Virtuais 1-60

Exemplo de ambiente para testes de carga

Page 34: Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve

34www.prasabermais.com

Elaboração do relatório

Documento do Microsoft Office Word