View
218
Download
0
Category
Preview:
Citation preview
Prof. Sidney Galeote
Testes de Performance
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
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
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
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
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
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..
8www.prasabermais.com
Como o mercado trata a performance
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
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
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?
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
13www.prasabermais.com
Checklist para verificação da performance
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?
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.
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
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
18www.prasabermais.com
Plano de Testes Arquitetura do Sistema
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
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
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
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
23www.prasabermais.com
Cronograma
Plano de testes
24www.prasabermais.com
Esta etapa é de fundamental importância para o processo!!
Captura e customização dos scripts
25www.prasabermais.com
Execução dos testes
26www.prasabermais.com
Execução dos testes
27www.prasabermais.com
Avaliação dos resultados
28www.prasabermais.com
Avaliação dos resultados
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
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
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…
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.
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
34www.prasabermais.com
Elaboração do relatório
Documento do Microsoft Office Word
Recommended