Ferramenta de teste LoadRunner: ArchiDiagrama de textura e componentes
โก Resumo Inteligente
LoadRunner รฉ a ferramenta empresarial de teste de desempenho, agora vendida pela OpenText, que simula milhares de usuรกrios virtuais no VuGen, Controller, geradores de carga e Analysis para expor gargalos antes que o trรกfego real os encontre.
O que รฉ LoadRunner?
LoadRunner รฉ um Teste de Desempenho ferramenta que foi pioneira por Mercury A Interactive foi fundada em 1999. Posteriormente, a LoadRunner foi adquirida pela HP em 2006, e a divisรฃo de software da HP fundiu-se com a Micro Focus em um acordo anunciado em 2016 e concluรญdo em 2017.
Nota da marca: OpenText concluiu a aquisiรงรฃo da Micro Focus em janeiro de 2023.A ferramenta nรฃo รฉ mais vendida como HP ou Micro Focus LoadRunnerO LoadRunner Professional agora estรก disponรญvel. OpenText Engenharia de desempenho profissional, LoadRunner Enterprise รฉ OpenText Engenharia de desempenho empresarial e LoadRunner Cloud รฉ OpenText Engenharia de Desempenho Essencial. Os nomes dos componentes abaixo โ VuGen, Controlador, geradores de carga e Anรกlise โ permanecem inalterados.
O LoadRunner suporta diversas ferramentas de desenvolvimento, tecnologias e protocolos de comunicaรงรฃo. Ele possui uma das bibliotecas de protocolos mais abrangentes do mercado para a realizaรงรฃo de testes de desempenho. Os resultados dos testes de desempenho gerados pelo software LoadRunner sรฃo usados โโcomo referรชncia para comparaรงรฃo com outras ferramentas.
Vรญdeo do LoadRunner
Assista ao vรญdeo abaixo para uma breve introduรงรฃo ao LoadRunner antes de explorar os componentes.
Por que LoadRunner?
O LoadRunner nรฃo รฉ apenas uma ferramenta pioneira em testes de desempenho, mas continua sendo um dos lรญderes de mercado nesse paradigma e ainda รฉ o ponto de referรชncia para muitas empresas.
A abrangรชncia do protocolo รฉ o motivo mais evidente pelo qual as equipes o escolhem, como mostra o mapa de componentes abaixo.
Em termos gerais, a ferramenta LoadRunner suporta RIA (Rich Internet Applications), Web 2.0 (HTTP/HTML, Ajax, Flex e Silverlight etc.), Mobile, SAP, Oracle, MS SQL Servidor, Citrix, RTE, Mail e acima de tudo, Windows Socket. Poucas ferramentas concorrentes oferecem uma variedade tรฃo ampla de protocolos reunidos em uma รบnica ferramenta, como ilustra a lista de protocolos abaixo.
O que torna a escolha do LoadRunner para testes de software ainda mais convincente รฉ a credibilidade da ferramenta. O LoadRunner construiu uma sรณlida reputaรงรฃo, sendo comum encontrar clientes que utilizam o LoadRunner para validar os benchmarks de desempenho. Se vocรช jรก utiliza o LoadRunner para suas necessidades de teste de desempenho, certamente encontrarรก alรญvio.
O software LoadRunner estรก intimamente integrado com as ferramentas irmรฃs do mesmo pacote โ Unified Functional Testing (o antigo LoadRunner). QTP, agora vendido como OpenText Testes Funcionais) e ALM (Gerenciamento do Ciclo de Vida de Aplicativos, agora OpenText ALM/Quality Center) โ que permite que vocรช execute seus processos de teste de ponta a ponta.
O LoadRunner funciona com base no princรญpio de simular usuรกrios virtuais na aplicaรงรฃo em questรฃo. Esses usuรกrios virtuais, tambรฉm chamados de VUsers, replicam as requisiรงรตes do cliente e esperam uma resposta correspondente para concluir uma transaรงรฃo.
Por que vocรช precisa de testes de desempenho?
As estimativas do setor abaixo sรฃo amplamente citadas e datam do inรญcio da dรฉcada de 2010, mas o padrรฃo que descrevem nรฃo mudou: pรกginas lentas custam dinheiro.
Estima-se que o baixo desempenho dos sites cause uma perda de receita de US$ 4.4 bilhรตes anualmente.
Na era atual da Web 2.0, os usuรกrios abandonam um site se ele nรฃo responder em 8 segundos. Imagine ter que esperar 5 segundos ao fazer uma busca por... Google ou enviar um pedido de amizade no Facebook. As repercussรตes da indisponibilidade do serviรงo costumam ser mais devastadoras do que se imagina. Hรก exemplos notรณrios, como os que afetaram o serviรงo de internet banking do Bank of America, Amazon Serviรงos Web, Intuit e Blackberry.
Segundo a Dun & Bradstreet, 59% das empresas da lista Fortune 500 sofrem, em mรฉdia, 1.6 horas de inatividade por semana. Considerando que uma empresa mรฉdia da Fortune 500 com pelo menos 10,000 funcionรกrios paga US$ 56 por hora, o custo da mรฃo de obra decorrente da inatividade para essa organizaรงรฃo seria de US$ 896,000 por semana, o que se traduz em mais de US$ 46 milhรตes por ano.
Apenas 5 minutos de inatividade de GoogleEstima-se que a descontinuaรงรฃo do domรญnio .com em agosto de 2013 tenha custado ร gigante das buscas cerca de 545,000 mil dรณlares.
Estima-se que as empresas perderam vendas no valor de US$ 1,100 por segundo durante um perรญodo anterior. Amazon Interrupรงรฃo dos serviรงos web.
Quando um sistema de software รฉ implantado por uma organizaรงรฃo, ela pode encontrar muitos cenรกrios que possivelmente resultam em latรชncia de desempenho. Vรกrios fatores causam desaceleraรงรฃo do desempenho, alguns exemplos podem incluir:
- Aumento do nรบmero de registros presentes no banco de dados
- Aumento do nรบmero de solicitaรงรตes simultรขneas feitas ao sistema
- Um nรบmero maior de usuรกrios acessando o sistema simultaneamente em comparaรงรฃo com o passado.
Nem toda candidatura รฉ, contudo, uma candidata adequada. Teste de carga Como se destina a sistemas cliente-servidor com mรบltiplos usuรกrios, nรฃo vale a pena testar o desempenho de um utilitรกrio de desktop para um รบnico usuรกrio como o abaixo.
O que รฉ o LoadRunner? Archiarquitetura?
De forma geral, a arquitetura do LoadRunner รฉ complexa, porรฉm fรกcil de entender. O diagrama de arquitetura do LoadRunner abaixo mostra como os quatro componentes interagem entre si.
Suponha que vocรช seja designado para verificar o desempenho de Amazon.com para 5000 usuรกrios.
Em uma situaรงรฃo real, esses 5000 usuรกrios nรฃo ficarรฃo restritos ร pรกgina inicial โ eles estarรฃo distribuรญdos por diferentes seรงรตes do site. Entรฃo, como simulamos essa diferenรงa?
VuGen
VuGen ou Usuรกrio Virtual Generator O VuGen รฉ um IDE (Ambiente de Desenvolvimento Integrado) ou um editor de cรณdigo avanรงado. Ele รฉ usado para replicar o comportamento do Sistema Sob Carga (SUL). O VuGen oferece um recurso de "gravaรงรฃo" que registra a comunicaรงรฃo entre o cliente e o servidor na forma de um script codificado โ tambรฉm chamado de script. Script VUser.
Considerando o exemplo acima, o VuGen pode gravar para simular os seguintes processos de negรณcios:
- Navegando na pรกgina de produtos de Amazon.com
- Finalizar Compra
- para qualquer empresa
- Verificando a pรกgina Minha conta
Apรณs a execuรงรฃo correta do script, geralmente รฉ necessรกrio capturar os valores dinรขmicos do servidor. correlaรงรฃo antes que possa ser ampliado.
Responsรกvel pelo Tratamento
Assim que um script VUser for finalizado, o Responsรกvel pelo Tratamento รฉ um dos principais componentes do LoadRunner que controla a simulaรงรฃo de carga, gerenciando, por exemplo:
- Quantos VUsers simular em cada processo de negรณcios ou grupo de VUsers
- Comportamento dos VUsers (aumento, desaceleraรงรฃo, natureza simultรขnea ou concorrente, etc.)
- Cenรกrio de natureza da carga, por exemplo, vida real ou orientado a metas ou verificaรงรฃo de SLA
- Quais injetores usar, quantos VUsers em cada injetor
- Agrupe os resultados periodicamente
- Falsificaรงรฃo de IP
- Relatรณrio de erros
- Relatรณrios de transaรงรตes, etc.
Fazendo uma analogia com o nosso exemplo, o Controlador adicionarรก os seguintes parรขmetros ao script VuGen:
- 3500 usuรกrios estรฃo navegando na pรกgina de produtos de Amazon.com
- 750 usuรกrios estรฃo no checkout.
- 500 usuรกrios estรฃo realizando processamento de pagamentos.
- Somente 250 usuรกrios acessam a pรกgina "Minha Conta" depois que 500 usuรกrios jรก tiverem processado o pagamento.
Cenรกrios ainda mais complexos sรฃo possรญveis:
- Inicie 5 VUsers a cada 2 segundos atรฉ uma carga de 3500 VUsers (navegando Amazon pรกgina do produto) รฉ alcanรงado.
- Iterar por 30 minutos
- Suspender iteraรงรฃo para 25 VUsers
- Reiniciar 20 usuรกrios virtuais
- Inicie 2 usuรกrios (em Checkout, Processamento de Pagamento, Pรกgina Minhas Contas) a cada segundo.
- 2500 VUsers serรฃo gerados na Mรกquina A
- 2500 VUsers serรฃo gerados na Mรกquina B
Mรกquina/Carga de Agentes Generators/injetores
O LoadRunner Controller รฉ responsรกvel por simular milhares de VUsers โ esses VUsers consomem recursos de hardware, como processador e memรณria โ o que impรตe um limite ร mรกquina que os simula. Alรฉm disso, o Controller simula esses VUsers na mesma mรกquina (onde reside), e, portanto, os resultados podem nรฃo ser precisos. Para solucionar esse problema, todos os VUsers sรฃo distribuรญdos por vรกrias mรกquinas, chamadas de Load Machines. Generators ou injetores de carga.
Como prรกtica geral, o Controlador reside em uma mรกquina diferente e a carga รฉ simulada de outras mรกquinas. Dependendo do protocolo dos scripts VUser e das especificaรงรตes da mรกquina, vรกrios injetores de carga podem ser necessรกrios para uma simulaรงรฃo completa. Por exemplo, VUsers para um script HTTP exigirรฃo de 2 a 4 MB por VUser para simulaรงรฃo, portanto, 4 mรกquinas com 4 GB de RAM cada serรฃo necessรกrias para simular uma carga de 10,000 VUsers.
Tomando como exemplo a nossa prรณpria analogia Amazon Por exemplo, a saรญda deste componente sรฃo 5000 VUsers divididos em dois injetores: 2500 VUsers gerados na Mรกquina A e 2500 na Mรกquina B.
Anรกlise
Apรณs a execuรงรฃo dos cenรกrios de carga, a funรงรฃo do Anรกlise Um componente do LoadRunner entra em aรงรฃo.
Durante a execuรงรฃo, o Controller cria um dump de resultados em formato bruto e contรฉm informaรงรตes como qual versรฃo do LoadRunner criou esse dump de resultados e quais foram as configuraรงรตes.
Todos os erros e exceรงรตes sรฃo registrados em um Microsoft Acesse o banco de dados chamado output.mdb. O componente de Anรกlise lรช esse arquivo de banco de dados para realizar vรกrios tipos de anรกlise e gerar grรกficos.
Esses grรกficos mostram diversas tendรชncias para entender o raciocรญnio por trรกs dos erros e falhas sob carga; ajudando assim a descobrir se a otimizaรงรฃo รฉ necessรกria no SUL, Servidor (por exemplo, JBoss, Oracle) ou infraestrutura.
Abaixo, um exemplo de como a largura de banda pode estar criando um gargalo. Digamos que o servidor web tenha capacidade de 1 Gbps, mas o trรกfego de dados exceda essa capacidade, causando problemas para os usuรกrios subsequentes. Para determinar se o sistema atende a essas necessidades, o Engenheiro de Desempenho precisa analisar o comportamento da aplicaรงรฃo sob carga anormal. Abaixo, um grรกfico gerado pelo LoadRunner para obter informaรงรตes sobre a largura de banda.
Como fazer testes de desempenho
O roteiro de testes de desempenho pode ser dividido em cinco etapas principais, resumidas no mapa abaixo:
- Planejando o teste de carga
- Criar scripts VuGen
- Criaรงรฃo de cenรกrio
- Execuรงรฃo de Cenรกrio
- Anรกlise de resultados (seguida de ajustes no sistema)
Com o LoadRunner instalado, vamos entender os passos envolvidos no processo um por um.
Etapa 1) Planejando o teste de carga
Planejar testes de desempenho รฉ diferente de planejar um SIT (teste de integraรงรฃo de sistema) or UAT (teste de aceitaรงรฃo do usuรกrio). O planejamento pode ser dividido em pequenas etapas, conforme descrito abaixo:
Monte sua equipe
Ao iniciar os testes com o LoadRunner, รฉ recomendรกvel documentar quem participarรก da atividade em cada equipe envolvida no processo, conforme demonstrado no organograma abaixo.
- Gestor de projeto: Nomeie o gerente de projeto que serรก o responsรกvel por esta atividade e servirรก como responsรกvel pelo escalonamento.
- Especialista Funcional / Analista de Negรณcios: Fornece anรกlise de uso do SUL e conhecimento especializado sobre a funcionalidade comercial do site ou SUL.
- Especialista em testes de desempenho: Cria testes de desempenho automatizados e executa cenรกrios de carga.
- System Archiproteger: Fornece o projeto do SUL.
- Desenvolvedor Web e PME: Responsรกvel pela manutenรงรฃo do site, monitoramento, desenvolvimento e correรงรฃo de erros.
- Administrador do sistema: Responsรกvel pela manutenรงรฃo dos servidores envolvidos durante todo o projeto de testes.
Descreva as aplicaรงรตes e os processos de negรณcio envolvidos.
Bem sucedido Teste de carga requer que vocรช planeje executar determinado processo de negรณcios. Um Processo de Negรณcios consiste em etapas claramente definidas em conformidade com as transaรงรตes comerciais desejadas โ de modo a atingir seus objetivos de teste de carga.
Uma mรฉtrica de requisitos pode ser preparada para obter a carga do usuรกrio no sistema. Abaixo estรก um exemplo de sistema de atendimento em uma empresa:
No exemplo acima, os nรบmeros indicam a quantidade de usuรกrios conectados ao aplicativo (SUL) em um determinado horรกrio. Podemos extracO nรบmero mรกximo de usuรกrios conectados a um processo de negรณcios em qualquer hora do dia รฉ calculado nas colunas mais ร direita.
Da mesma forma, podemos concluir o nรบmero total de usuรกrios conectados ร aplicaรงรฃo (SUL) em qualquer hora do dia. Isso รฉ calculado na รบltima linha.
Os 2 fatos acima combinados nos dรฃo o nรบmero total de usuรกrios com os quais precisamos testar o desempenho do sistema.
Definir procedimentos de gerenciamento de dados de teste
As estatรญsticas e observaรงรตes extraรญdas dos testes de desempenho sรฃo muito influenciadas por vรกrios fatores, conforme informado anteriormente. ร de importรขncia crรญtica preparar dados de teste para testes de desempenho. รs vezes, um processo de negรณcios especรญfico consome um conjunto de dados e produz um conjunto de dados diferente. Veja o exemplo abaixo:
- Um usuรกrio 'A' cria um golpe financeirotrace o submete para revisรฃo.
- Outro usuรกrio, 'B', aprova 200 contracร um dia criado pelo usuรกrio 'A'
- Outro usuรกrio, 'C', paga cerca de 150 contracร um dia aprovado pelo usuรกrio 'B'
Nessa situaรงรฃo, o Usuรกrio B precisa ter 200 contracts 'criado' no sistema. Alรฉm disso, o usuรกrio C precisa de 150 contracts como โaprovadoโ para simular uma carga de 150 usuรกrios.
Isso significa implicitamente que vocรช deve criar pelo menos 200 + 150 = 350 unidades.tracts.
Depois disso, aprove 150 contracts para servir como dados de teste para o Usuรกrio C โ os 200 restantes contracOs dados servirรฃo como dados de teste para o usuรกrio B.
Monitores de esboรงo
Considere todos os fatores que possam afetar o desempenho de um sistema. Por exemplo, a reduรงรฃo dos recursos de hardware pode impactar o desempenho do sistema sob carga (SUL).
Liste todos os fatores e configure monitores para poder avaliรก-los. Aqui estรฃo alguns exemplos:
- Processador (para servidor Web, servidor de aplicativos, servidor de banco de dados e injetores)
- RAM (para servidor Web, servidor de aplicativos, servidor de banco de dados e injetores)
- Servidor Web/aplicativos (por exemplo IIS, JBoss, Servidor Jaguar, Tomcat etc.)
- Servidor DB (tamanho PGA e SGA em caso de Oracle e MSSQL Server, SPs etc.)
- Utilizaรงรฃo da largura de banda da rede
- NIC interna e externa em caso de cluster
- Load Balancer (e que estรก distribuindo carga uniformemente em todos os nรณs dos clusters)
- Dados flux (Calcule a quantidade de dados que trafegam entre o cliente e o servidor e, em seguida, calcule se a capacidade da placa de rede รฉ suficiente para simular um nรบmero X de usuรกrios.)
Etapa 2) Criar scripts VuGen
O prรณximo passo apรณs o planejamento รฉ criar scripts VUser, adicionando Parametrizaรงรฃo, transaรงรตes e configuraรงรตes de tempo de execuรงรฃo ร medida que o roteiro amadurece.
Etapa 3) Criaรงรฃo do Cenรกrio
O prรณximo passo รฉ criar seu Cenรกrio de Carga no Controlador, escolhendo entre um cenรกrio manual e um cenรกrio orientado a objetivos.
Etapa 4) Execuรงรฃo do Cenรกrio
A execuรงรฃo do cenรกrio รฉ onde vocรช emula a carga do usuรกrio no servidor, instruindo vรกrios VUsers a executar tarefas simultaneamente.
Vocรช pode definir o nรญvel de carga aumentando e diminuindo o nรบmero de VUsers que executam tarefas ao mesmo tempo.
Essa execuรงรฃo pode resultar na queda do servidor. estresse e apresentando comportamentos anormais. Esse รฉ justamente o propรณsito dos testes de desempenho. Os resultados obtidos sรฃo entรฃo utilizados para anรกlises detalhadas e identificaรงรฃo da causa raiz.
Etapa 5) Anรกlise de resultados (seguida de ajustes no sistema)
Durante a execuรงรฃo do cenรกrio, o LoadRunner registra o desempenho do aplicativo sob diferentes cargas. As estatรญsticas obtidas durante a execuรงรฃo dos testes sรฃo salvas e uma anรกlise detalhada รฉ realizada. A ferramenta de anรกlise (denominada 'HP Analysis' nas versรตes para as quais este guia foi escrito) gera vรกrios grรกficos que ajudam a identificar as causas principais da lentidรฃo do sistema, bem como falhas do sistema.
Alguns dos grรกficos obtidos incluem:
- Tempo para o primeiro buffer
- Tempo de resposta da transaรงรฃo
- Tempo mรฉdio de resposta da transaรงรฃo
- Acessos por segundo
- Windows Recursos
- Estatรญsticas de erros
- Resumo transaรงรฃo








