Beruflich Dokumente
Kultur Dokumente
Plantaforma Web
Setembro de 2017
Treinamento Loadrunner Bsico
Viso Geral
O objetivo deste treinamento mostrar as principais funcionalidades do LoadRunner, voltados para teste de performance de aplicaes
WEB. Ao final deste treinamento voc ser capaz de gravar e executar scrips utilizando a ferramenta.
Virtual User Generator (Vugen): Utilizado para gravar os scripts. Este programa gratuito, portanto no necessrio licena.
Geralmente instalamos local nas mquinas das pessoas que iro desenvolver os scripts para criao e testes individuais.
Controller ou Performance Center: Responsvel pelo cenrio de teste de performance. onde configuramos o que ser testado,
quantidade de usurios virtuais, tempo de execuo, etc. onde gerenciamos a execuo do teste em si. O Performance Center a
verso web desta ferramenta. A Controller a verso desktop. Neste treinamento veremos apenas Controller. A licena trial
disponibiliza 50 usurios paralelos para testes.
Analysis: Aps a execuo dos testes, os dados so coletados e podem ser tratados na ferramenta Analysis. O Analysis permite o
cruzamento de indicadores e gera grficos e at mesmo ajuda a criar o relatrio final do teste realizado. Tambm no necessita
licena.
Load Generator (Injetora): No teste de performance, devemos distribuir a carga de processamento entre vrias mquina. A
quantidade de mquinas proporcional quantidade de usurios em paralelo. preciso apenas instalar um servio na mquina
injetora para que haja a comunicao com a Controller.
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 2
Treinamento Loadrunner Bsico
Tipos de Teste
Teste de Carga - tem por objetivo identificar se a aplicao testada atende aos requisitos de desempenho esperados. Busca
identificar e solucionar gargalos de servidores de aplicao e banco de dados, garantindo que, com o nmero de usurios
simultneos e com a quantidade de carga esperados para a aplicao, os tempos de resposta e consumo de recursos estejam nos
nveis previstos. Dessa forma, possvel identificar se a aplicao entrega suas funcionalidades de acordo s expectativas do
usurio.
Verifica se aps as novas implementaes, os tempos de resposta mantiveram-se como esperado. Faz um benchmark entre
o sistema novo e o antigo ou entre as releases ou ainda entre os tempos esperados pelo cliente.
Teste de Estresse - tem por objetivo identificar pontos de falha na soluo atravs do acrscimo de usurios virtuais, simulando alto
volume de requisies concorrentes a uma determinada transao. Nesse contexto, no se leva em considerao o volume
esperado, mas sim o limite mximo que a aplicao testada suporta. A diferena dos testes de estresse para os testes de carga
que o estresse busca encontrar o ponto de ruptura da aplicao quando a mesma estiver no pior cenrio possvel enquanto que o
teste de carga preocupa-se com o tempo de espera do usurio quando so inseridas as cargas previstas.
Verifica qual o ponto mximo que o servidor/aplicao suporta, at que o mesmo caia
Teste de Estabilidade/Robustez - tem por objetivo identificar problemas de desempenho que podem ocorrer aps o sistema estar
rodando por um perodo extenso de tempo. Para isso, deve-se variar o volume e carga de teste e prolongar sua execuo por vrios
dias ou horas para detectar defeitos que s aparecem de maneira lenta e gradual, como memory leaks.
Verifica se a aplicao submetida a constantes requisies por um dia inteiro apresentar erros.
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 3
Treinamento Loadrunner Bsico
Antes de iniciar o teste de performance, so necessrios solicitar junto ao cliente as seguintes informaes:
Lista com o nome dos cenrios, tipo de aplicao de cada cenrios (Web, SAP, WebService, SalesForce, etc) e complexibilidade da
funcionalidade para desenvolvimento do script, levando em conta quantidade de telas, campos a serem preenchidos, dinamismo de
dados na tela, etc.
Se os cenrios sero executados em paralelo, em grupos ou individualmente. Isso influenciar na quantidade de baterias de testes a
serem executadas.
Quantidade de usurios paralelos em cada cenrios e/ou volumetria por hora, minuto ou dia de cada cenrio.
Tempo de resposta esperado de cada cenrio para assim verificarmos se os tempos obtidos durante os testes esto dentro das
expectativas do cliente.
Passo a passo de cada cenrio assim como dados de input para que seja possvel reproduzir o cenrio e gravar o sript
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 4
Treinamento Loadrunner Bsico
Abaixo a lista de cenrios para o teste de performance, com os dados necessrios de cada um:
Volumetria Tempo de Resposta
Nome do Script Descrio das Funcionalidades Tipo de Aplicao Qde. Usurios Paralelos Passo Medido
(Requisies por Segundo) Esperado (seg)
Confirma Voo Selecionado 1
S01_Reserva_Voo Realiza a reserva do vo desejado Web N/A 5
Confirma Pagamento 2
S02_Cancela_Chekout Cancela o checkout de um vo dentro da lista apresentada Web N/A 2 Cancela Checkout 1
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 5
Treinamento Loadrunner Bsico
Abaixo, a tela do Vugen ao abrir pela primeira vez. Neste treinamento estamos utilizando a verso 12.53 que a mais recente.
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 6
Treinamento Loadrunner Bsico
Protocolos de Gravao
Ao gravar um script, precisamos selecionar o protocolo de gravao utilizado. Este protocolo depende do tipo do sistema a ser testado.
Os mais utilizados so: SAP Gui, SAP web, Web, Citrix e WebService, porm existe uma srie de outros protocolos.
Se vc utilizar o protocolo diferente do que realmente o sistema, o script no gravado, pois a ferramenta no conseguir mapear os
objetos.
Tambm possvel utilizar mltiplos protocolos, caso o sistema interaja com mais de um. Um exemplo o Web com SAP web. Em
determinado ponto, o SAP chamado dentro do browser, ai a necessidade de indicar todos os tipos que o sistema interage. O cliente
poder te indicar se existe essa diversidade de sistemas na aplicao a ser testada.
Para os scripts que iremos gerar nesse treinamento, iremos utilizar apenas o protocolo Web HTTP/HTML
Gravando um Script
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 7
Treinamento Loadrunner Bsico - VUGen
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 8
Treinamento Loadrunner Bsico - VUGen
Gravando um Script
Na Action ser onde gravaremos os passos do script. Geralmente criamos uma action para cada fluxo ou tela (no caso Web).
Tudo que estiver em vuser_unit e vuser_end ser executado apenas uma vez por cada usurio virtual. Para o nosso caso, no
utilizaremos estas actions que so utilizadas geralmente em scripts SAP.
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 9
Treinamento Loadrunner Bsico - VUGen
Gravando um Script
Ao clicar no boto a tela baixo ser apresentada. A tela indica em qual action ser gravada. Infome a URL da aplicao e clique em
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 10
Treinamento Loadrunner Bsico - VUGen
A cada clique realizado no sistema que tenha interao com o servidor e retorne um tempo de resposta, deve-se marcar o ponto de
inicio desta ao. Isso facilitar na identificao do bloco gravado no script e para anlise dos tempos de resposta que se baseiam
justamente nestes pontos indicados ao longo do script.
Caso se esquea de realizar este passo, possvel inclu-lo manualmente aps a gravao dos scripts. Porm para scripts web em
especial, difcil identificar o bloco no cdigo gerado referente ao. Recomenda-se ateno para que no seja esquecida esta etapa
importante.
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 11
Treinamento Loadrunner Bsico - VUGen
Logar na aplicao
Clicar no boto Flights, informar quantidade de 2 passageiros, preencher demais dados da tela e clicar no boto Continue
No selecionar nenhum voo, deixar marcado o primeiro que est como sugesto e clicar no boto Continue
Preencher quaisquer dados de pagamento e clicar no boto Continue
Clicar no boto Sign Off
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 12
Treinamento Loadrunner Bsico - VUGen
Aps gravar o script, aparecer a tela abaixo. Clique no boto Close sem realizar nenhuma ao.
Entre no menu Tools > Options... > Scripting > Replay e marque a opo Show run-time viewer during replay. Esta opo habilita uma
janela bsica para acompanhamento das telas da aplicao durante a execuo individual do teste.
Execute o script, clicando no boto . Ao final dever aparecer mensagem Script Passed -----
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 13
Treinamento Loadrunner Bsico - VUGen
Exerccio 2 - Padronizao
Os comandos lr_start_transaction dos scripts devem seguir um padro. No momento da gravao, podemos escrever algo apenas para
marcas os pontos dos scripts, mas depois devemos manualmente corrig-los e adequ-los aos padres a seguir:
GLB: Transaes Globais que apresentam uma medio do script como um todo. Colocar o nome do script, acrescido do prefixo GLB.
Inserir no inicio da primeira action e no final da ltima action. Ex.: GLB_S01_Reserva_Voo
FUN: Transaes por funcionalidades que apresentam tempo por bloco lgico de negcio (Login, Logout , Consultas, etc). Ex.:
FUN_S01_010_Tela_Login / FUN_S01_020_Tela_Dados_Voo / FUN_S01_030_Lista_Voo
PST: Transaes de cada post executado na tela (Clique de boto Okay, postback realizado por seleo de dropbox, etc). Esses so os
pontos de medio includo no momento da gravao. Ex.: PST_S01_020_010_Botao Flights
Fazer:
Separar o script por telas da aplicao, dividindo em vrias actions -----------------------
Login / Localiza Voo / Seleciona Voo / Dados Passageiro / Logout
Executar o script e verificar se ainda continua executando com sucesso.
Nomear as action com a padronizao FUN corretamente.
Alterar os lr_start_transaction e lr_end_transaction com o padro correto de PST
Inserir o GLB no incio e no fim do script
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 14
Treinamento Loadrunner Bsico - VUGen
Parametrizando Valores
Podemos parametrizar parmetros de algumas formas diferentes: criando o parmetro antes e substituindo o valor desejado no script ou
ento, localizar no cdigo do script o valor a ser parametrizado e criar o parmetro.
Podemos neste momento substituir todas as ocorrncias pelo parmetro criado. Desta forma, todos
os lugares onde contm jojo, ser substitudo por {usuario}, porm dependendo do valor a ser
substitudo, convm verificar um por um.
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 15
Treinamento Loadrunner Bsico - VUGen
A outra forma de parametrizar, entrando no menu Desing > Parameters > Parameters List... Ou clicando 2x em Parameters
No existe uma regra para agrupar os parmetros, utilizar como critrio parametros da mesma
tela ou mesma funcionalidade. Utilizar o bom senso.
Aps criar os parmetros, voltar no cdigo, selecionar o valor e com boto direito do mouse, clicar
em Replace with Parameter e selecionar o parametro desejado
Veja abaixo:
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 16
Treinamento Loadrunner Bsico - VUGen
Parametrizando Valores
File: Mais comum. Os parametros so informados em um arquivo .DAT, que pode ser editado com o notepad.
Data/Time: Obtm data do sistema. Pode aumentar ou diminuir dias na data, assim como utilizar apenas dias teis, apenas
selecionando as opes disponveis.
Random Number: Gera um nmero no formato e tamanho desejado, inclusive informando o nmero mnimo e mximo que ele pode
ter.
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 17
Treinamento Loadrunner Bsico - VUGen
Exercicio 3 - Parametrizao
Os nomes dos passageiros devem estar no arquivo passageiros.dat, onde deve conter 2 linhas
(cada uma com o nome de um passageiro).
Na request para seleciona o voo, no esquecer de substituir o valor que contm a data pelo
parametro data_partida. Os demais valor deixar o que est.
AQUI 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture.
Copyright 18
Treinamento Loadrunner Bsico - VUGen
Correlao
Correlao usada quando um script gravado inclui um valor dinmico (como um ID de sesso) e no pode repetir. Para resolver isso,
voc pode guardar o valor dinmico em uma varivel, permitindo que seu script possa repetir a execuo com xito.
Por exemplo, muitos aplicativos e sites identificam uma sesso atravs da data e hora atuais. Se voc tentar reproduzir um script, ele
falhar porque o tempo atual diferente do que o tempo de quando ele foi gravado. Correlacionar os dados permite que voc salvar os
dados dinmicos e us-lo por todo o cenrio.
Quando criada uma correlao, VuGen adiciona uma funo que extrai o valor para um parmetro dinmico. O valor original
substitudo com o parmetro criado, em todo o script.
Quando identificada a necessidade de criar uma correlao, possvel incluir manualmente ou atravs da prpria ferramenta.
Aps clicar no boto para finalizar a gravao do script, o Vugen identifica possveis dados a serem correlacionados e a tela abaixo
exibida. Esta tela tambm exibida, clicando no boto
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 19
Treinamento Loadrunner Bsico - VUGen
Correlao
Incluir uma nova linha no arquivo dados_busca.dat, alterando os valores dos campos local_origem e local_destino. Alterar tambm a
quantidade de passageiros para 3:
O script falhou, pois o script est tentando utilizar os dados gravados que so diferentes dos dados que utilizamos neste momento.
Ao clicar 2x sobre a mensagem de erro, o cursor posicionado no bloco onde o erro acontece.
Os valores de outboundFlight so dinmicos e dependem do voo
selecionado na tela anterior. Os codigos 351 e 255 no existem na
seleo de voo escolhida neste momento.
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 20
Treinamento Loadrunner Bsico - VUGen
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 21
Treinamento Loadrunner Bsico - VUGen
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 22
Treinamento Loadrunner Bsico - VUGen
Caso j saiba o bloco onde est o valor a ser manipulado, clique no boto ou na aba para exibir a janela que mostra
os dados retornados pelo servidor durante a gravao e a execuo.
Coloque o cursor sobre o bloco gerado referente requisio a ser enviada para o servidor que se deseja analisar.
No slide seguinte a explicao de cada item apresentado abaixo.
41 2 4
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 23
Treinamento Loadrunner Bsico - VUGen
1 - Divide a tela em duas partes, assim possvel analisar e comparar os dados gravados com os dados da ultima execuo do
script.
2 - Exibe o retorno http do servidor
3 - Exibe as partes do html enviado/recebido como header, request, response, etc.
4 - Exibe as informaes dos dados enviados/recebidos gravados no momento da gravao (Recording) e no momento da ltima
execuo (Replay). Desta forma facilita a visualizao das diferenas entre as execues e assim analisar os dados e possveis erros.
Os dados exibidos sero de acordo com o bloco selecionado no script gravado. A cada bloco selecionado, os dados apresentados sero
diferentes.
O bloco o exemplo referente ao clique coninuar na tela que seleciona o voo desejado. Clique em Page View e ser exibido a tela
referente a esse request. A cada execuo o cdigo do voo no pode ser o mesmo, pois depende da origem e desino escolhido.
Portanto se executarmos novamente alterado estes dados teremos um erro. Para resolver esse problema precisamos parametrizar o
cdigo do voo para que seja possvel manipular os dados de input sem alterar o script a cada execuo.
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 24
Treinamento Loadrunner Bsico - VUGen
Posicione o cursor imediatamente acima do bloco que retorna o cdigo que queremos obter.
No snapshot observe a linha onde se encontra o valor desejado e verifique os delimitadores esquedo e direito entre o codigo
No menu View > StepsToolbox, busque web_reg. Selecione web_reg_save_param e informe os delimitadores
web_reg_save_param("cod_voo",
"LB=name="outboundFlight" value="",
"RB=;09/14/2017" checked="checked"",
LAST);
web_reg_save_param("cod_voo",
"LB=name=\"outboundFlight\" value=\"",
"RB=;{data_partida}\" checked=\"checked\"",
LAST);
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 25
Treinamento Loadrunner Bsico - VUGen
Exerccio 4 - Correlao
Incluir a correlao necessria para que o script funcione corretamente, independente das origens e destinos escolhidos.
Executar o script com sucesso
Verificar no menu Itinerary se foi criado com sucesso a compra da passagem. Perceba que foi informado no parametro que so 3
passageiros, porm apenas 2 esto sendo criados na aplicao.
Inclua mais uma linha no parmetro passageiros.
Inclua mais uma linha de cdigo referente ao passageiro 3 ---------
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 26
Treinamento Loadrunner Bsico - VUGen
Runtime Settings
As configuraes do Runtime Settings podem ser feitas no script atravs do VuGen ou direto na Controller:
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 27
Treinamento Loadrunner Bsico - VUGen
Runtime Settings
As configuraes do Runtime Settings podem ser feitas no script atravs do VuGen ou direto na Controller:
4 - Opes de configuraes: 4
Continue on error desmarcado
Automatic Transactions desmarcadas 5
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 28
Treinamento Loadrunner Bsico - VUGen
Deixar as duas linhas do arquivo dados_busca.dat com num_passageiro = 3 e First data line = 1
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 29
Treinamento Loadrunner Bsico - VUGen
Exportando um Script
possvel exportar um script. Desta forma os scripts gravados localmente podero ser copiados para o servidor onde est o
Loadrunner.
Informar a pasta destino para o script. Ele ser exportado compactado (.ZIP). Voc pode compactar o arquivo junto com o resultado das
execues, imagens, script recordind, etc... (All files) ou simplesmente o script sem esse arquivos, tornando o arquivo compactado
menor (Runtime files)
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 30
Treinamento Loadrunner Bsico - Controller
A Controller o aplicativo instalado no servidor central, onde realizado o teste de performance em si. nele que informamos a
quantidade de usurios simultneos, cenrios do teste, tempo de execuo, etc.
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 31
Treinamento Loadrunner Bsico - Controller
Esta a configurao padro do LoadRunner. A quantidade de usurios definida com % ao invs de numeros absolutos.
Na maioria das vezes, o cliente nos passa a quantidade de usurios desejada e neste caso alteramos a forma de utilizar o LoadRunner.
Para isso, altere conforme imagem abaixo:
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 32
Treinamento Loadrunner Bsico - Controller
Na tela exibida, informe os cenrios que faro parte do teste, na aba Desing.
Selecione a opo Basic Schedule para podermos manipular a quantidade de usurios desejada de forma mais simples
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 33
Treinamento Loadrunner Bsico - Controller
Opes Disponveis
2 3
4
1 - Inicia o teste de performance
.
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 34
Treinamento Loadrunner Bsico - Controller
Dois cliques em Start Vusers para indicar a rampa de subida dos usurios. Convm que o login ocorra gradualmente para que o
servidor consiga balancear a carga e no engargale no login.
Entre em cada uma das opes abaixo e configure da forma que achar mais conveniente. Ao final ficar algo parecido com:
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 35
Treinamento Loadrunner Bsico - Controller
No teste de performance, devemos distribuir a carga de processamento entre vrias mquina. A quantidade de mquinas proporcional
quantidade de usurios em paralelo.
Essas mquinas so chamadas de injetoras ou Load Generator. Uma vez apontada em qual injetora o cenrio ser executado, no
momento da execuo, o cenrio ser executado na mquina em questo. Se caso essa mquina no tenha acesso URL da
aplicao, o script falhar.
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 36
Treinamento Loadrunner Bsico - Controller
Aps configurar as caractersticas do teste, clicar no boto Start Scenario para iniciar a execuo do cenrio.
Na caixa de dilogo, informar o nome do arquivo que guardar o resultado do teste na pasta 03-Resultados, criada no incio deste
treinamento. Lembre-se de verificar as opes do Runtime Settings
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 37
Treinamento Loadrunner Bsico - Controller
Abaixo a tela aps incio da execuo do teste. No slide seguinte a descrio dos pontos em destaque:
1 2
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 38
Treinamento Loadrunner Bsico - Controller
2 - Exibe informaes da execuo, como quantidade de usurios em execuo, tempo do teste, transaes executadas e erros.
Ao clicar no link exibido detalhes do dado em exibio.
Ao lado o quadro exibido com a quantidade de vezes que cada passo
------------------ medido foi executado.
3 - Grfico em tempo real com o tempo de resposta recebido do servidor. Ao clicar 2x o grfico apresentado em destaque
4 - Legenda do grfico Trans Response Time. Os tempo mostrados aqui esto levando em conta o Think Time dos scripts.
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 39
Treinamento Loadrunner Bsico - Controller
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 40
Treinamento Loadrunner Bsico - Controller
Na tela inicial da aplicao, clicar no link sign up now e cadastrar 5 usurios conforme tabela abaixo:
No script, editar o arquivo dados_login.dat e preencher somente com esses 5 usurios do quadro
No script, trocar o parametro nme_comprador (onde preenchemos o nome do comprador) por usuario
Copyright 2014 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. 41