complete performance testing guide with examples
O que é teste de desempenho?
O Teste de Desempenho também conhecido como 'Teste de Desempenho', é um tipo de teste realizado para verificar como o aplicativo ou software funciona sob carga de trabalho em termos de capacidade de resposta e estabilidade. O objetivo do Teste de Desempenho é identificar e remover gargalos de desempenho de um aplicativo.
Esse teste é executado principalmente para verificar se o software atende aos requisitos esperados de velocidade, escalabilidade e estabilidade do aplicativo.
como testar o aplicativo cliente-servidor
Nesta série de tutoriais, cobriremos detalhes completos, como - Tipos de teste de Perf, processo e documento de estratégia de teste de desempenho de escrita do zero.
Esta é uma série de tutoriais detalhada que você pode querer marcar!
Vamos explorar!
Lista de TODOS os tutoriais de teste de desempenho desta série:
Tutorial # 1: Guia completo de teste de desempenho (Este tutorial)
Tutorial # 2: Diferença entre teste de desempenho, carga e estresse
Tutorial nº 3: Teste Funcional Vs Teste de Desempenho
Tutorial nº 4: Plano de Teste de Desempenho e Estratégia de Teste
Tutorial # 5: Maneiras de turbinar seus testes de desempenho
Tutorial # 6: Guia de teste de desempenho de nuvem
Tutorial nº 7: Guia de teste de desempenho de aplicativos móveis
Tutorial # 8: Como realizar testes de desempenho manuais
Tutorial # 9: Tutorial de teste de desempenho de site
Tutorial # 10: Empresas de teste de desempenho
Tutorial # 11: Teste de desempenho com LoadRunner (Series)
Ferramentas:
Tutorial # 12: Principais ferramentas de teste de desempenho
Tutorial # 13: Tutorial de teste de desempenho Neoload
Tutorial # 14: Tutorial de teste de desempenho do BlazeMeter Mobile
Tutorial # 15: Tutorial de teste de carga, estresse e desempenho WAPT
Tutorial # 16: Tutorial de teste de desempenho do site SmartMeter.io
O que você aprenderá:
- Tipos de teste de desempenho
- Processo de Teste de Desempenho
- Como escrever um documento de estratégia de teste de desempenho?
- Modelo de estratégia de teste de desempenho de amostra
- #1. Introdução
- #2. Âmbito
- # 3) Abordagem
- # 4) Dados de teste
- # 5) Critérios de entrada e saída
- # 6) Gerenciamento de defeitos
- # 7) Ferramentas e técnicas de teste
- # 8) Critérios de suspensão e retomada
- # 9) Entregáveis de teste
- # 10) Funções e responsabilidades
- # 11) Riscos potenciais e plano de mitigação
- # 12) Suposições
- # 13) Dependências
- # 14) Abreviações
- Melhores práticas para testes de desempenho realista
Tipos de teste de desempenho
Teste de carga
Teste de carga é um tipo de teste de desempenho em que o desempenho do aplicativo é testado em uso normal e de pico. O desempenho de um aplicativo é verificado em relação à sua resposta à solicitação do usuário e sua capacidade de responder de forma consistente dentro de uma tolerância aceita em diferentes cargas do usuário.
As principais considerações são:
- Qual é a carga máxima que o aplicativo é capaz de manter antes de começar a se comportar de forma inesperada?
- Quantos dados o banco de dados é capaz de manipular antes que o sistema fique lento ou o travamento seja observado?
- Há algum problema relacionado à rede a ser tratado?
Teste de Estresse
O teste de estresse é usado para encontrar maneiras de quebrar o sistema. O teste também fornece a faixa de carga máxima que o sistema pode suportar.
Geralmente, o teste de estresse tem uma abordagem incremental em que a carga é aumentada gradualmente. O teste é iniciado com uma carga para a qual o aplicativo já foi testado. Então, mais carga é adicionada lentamente para sobrecarregar o sistema. O ponto em que começamos a ver os servidores não respondendo às solicitações é considerado o ponto de interrupção.
As seguintes questões devem ser respondidas:
- Qual é a carga máxima que um sistema pode suportar antes de quebrar?
- Como o sistema está quebrado?
- O sistema pode se recuperar depois de travar?
- De quantas maneiras um sistema pode quebrar e quais são os nós fracos ao lidar com a carga inesperada?
Teste de Volume
O Teste de Volume serve para verificar se o desempenho do aplicativo não é afetado pelo volume de dados que está sendo manipulado pelo aplicativo. Para executar um Teste de Volume, um grande volume de dados é inserido no banco de dados. Este teste pode ser um teste incremental ou constante. No teste incremental, o volume de dados é aumentado gradualmente.
Geralmente, com o uso do aplicativo, o tamanho do banco de dados aumenta e é necessário testar o aplicativo em um banco de dados pesado. Um bom exemplo disso poderia ser um site de uma nova escola ou faculdade com pequenas quantidades de dados para armazenar inicialmente, mas depois de 5 a 10 anos, os armazenamentos de dados no banco de dados do site são muito maiores.
Teste de capacidade
=> O aplicativo é capaz de atender ao volume de negócios em condições normais e de pico de carga?
O teste de capacidade geralmente é feito para clientes em potencial. O teste de capacidade aborda o seguinte:
- O aplicativo será capaz de suportar o carregamento futuro?
- O ambiente é capaz de suportar o aumento de carga que se aproxima?
- Quais são os recursos adicionais necessários para tornar o ambiente capaz o suficiente?
O teste de capacidade é usado para determinar quantos usuários e / ou transações um determinado aplicativo da web suportará e ainda terá o desempenho. Durante esse teste, recursos como capacidade do processador, largura de banda da rede, uso de memória, capacidade do disco, etc. são considerados e alterados para atingir o objetivo.
O banco online é um exemplo perfeito de onde o teste de capacidade pode desempenhar um papel importante.
Confiabilidade / Recuperação Testando
Teste de confiabilidade ou teste de recuperação - é para verificar se o aplicativo é capaz de retornar ao seu estado normal após uma falha ou comportamento anormal e quanto tempo leva para isso (em outras palavras, estimativa de tempo).
Se um site de negociação online apresentar uma falha em que os usuários não conseguem comprar / vender ações em um determinado ponto do dia (horários de pico), mas conseguem fazê-lo depois de uma ou duas horas, podemos dizer que o aplicativo é confiável ou recuperado do comportamento anormal.
Processo de Teste de Desempenho
Aqui estão todas as atividades realizadas neste teste:
# 1) Análise / coleta de requisitos
A equipe de atuação interage com o cliente para identificação e levantamento de requisitos - técnicos e comerciais. Isso inclui obter informações sobre a arquitetura do aplicativo, tecnologias e banco de dados usados, usuários pretendidos, funcionalidade, uso do aplicativo, requisito de teste , requisitos de hardware e software, etc.
# 2) Seleção de POC / ferramenta
Uma vez que a funcionalidade chave é identificada, o POC (Proof Of Concept - que é uma espécie de demonstração da atividade em tempo real, mas em um sentido limitado) é feito com as ferramentas disponíveis.
A lista de ferramentas disponíveis depende do custo da ferramenta, protocolo que o aplicativo está usando, as tecnologias usadas para construir o aplicativo, o número de usuários que estamos simulando para o teste, etc. Durante o POC, scripts são criados para a chave identificada funcionalidade e executado com 10-15 usuários virtuais.
# 3) Plano e design de teste de desempenho
Dependendo das informações coletadas nos estágios anteriores, o planejamento e o projeto do teste são realizados.
qa perguntas e respostas da entrevista de emprego
O planejamento de teste envolve informações sobre como o teste de desempenho vai ocorrer - ambiente de teste, carga de trabalho, hardware, etc.
Mais no documento Estratégia de Teste abaixo.
# 4) Desenvolvimento de teste de desempenho
- Os casos de uso são criados para a funcionalidade identificada no plano de teste como o escopo do PT.
- Esses casos de uso são compartilhados com o cliente para sua aprovação. Isso é para garantir que o script seja gravado com as etapas corretas.
- Depois de aprovado, o desenvolvimento do script começa com uma gravação das etapas nos casos de uso com a ferramenta de teste de desempenho selecionada durante o POC (Prova de Conceitos) e aprimorada pela execução de Correlação (para lidar com valor dinâmico), Parametrização (substituição de valor) e funções personalizadas como de acordo com a situação ou necessidade. Mais sobre essas técnicas em nossos tutoriais em vídeo.
- Os scripts são então validados em relação a diferentes usuários.
- Paralelamente à criação do script, a equipe de desempenho também segue trabalhando na configuração do ambiente de teste (Software e hardware).
- A equipe de atuação também cuidará dos Metadados (back-end) por meio de scripts, caso essa atividade não seja realizada pelo cliente.
# 5) Modelagem de Teste de Desempenho
O modelo de carga de desempenho é criado para a execução do teste. O objetivo principal desta etapa é validar se as métricas de desempenho fornecidas (fornecidas pelos clientes) são alcançadas durante o teste ou não. Existem diferentes abordagens para criar um modelo de carga. “ Lei de Little ”É usado na maioria dos casos.
# 6) Execução de Teste
O cenário é projetado de acordo com o Load Model no Controller ou Performance Center, mas os testes iniciais não são executados com o número máximo de usuários que estão no Load model.
A execução do teste é feita de forma incremental. Por exemplo, Se o número máximo de usuários for 100, os cenários serão executados primeiro com 10, 25, 50 usuários e assim por diante, eventualmente passando para 100 usuários.
# 7) Análise dos resultados do teste
Os resultados do teste são o produto mais importante para o testador de desempenho. É aqui que podemos provar o ROI (Return on Investment) e a produtividade que um esforço de teste de desempenho pode fornecer.
Algumas das melhores práticas que auxiliam o processo de Análise de Resultado:
- Um nome único e significativo para cada resultado de teste - isso ajuda a entender o propósito do teste.
- Inclua as seguintes informações no resumo do resultado do teste:
- Motivo da / s falha / s
- Mudança no desempenho do aplicativo em comparação com o teste anterior
- Alterações feitas no teste do ponto de compilação do aplicativo ou ambiente de teste.
- É uma boa prática fazer um resumo dos resultados após cada execução de teste para que os resultados da análise não sejam compilados sempre que os resultados do teste forem referidos.
- O PT geralmente requer muitos testes para chegar à conclusão correta.
- É bom ter os seguintes pontos no resumo do resultado:
- Objetivo do teste
- Número de usuários virtuais
- Resumo do cenário
- Duração do teste
- Taxa de transferência
- Gráficos
- Comparação de gráficos
- Tempo de resposta
- Ocorreu um erro
- Recomendações
# 8) Relatório
Os resultados dos testes devem ser simplificados para que a conclusão seja mais clara e não necessite de nenhuma derivação. A Equipe de Desenvolvimento precisa de mais informações sobre análise, comparação de resultados e detalhes de como os resultados foram obtidos.
O relatório de teste é considerado bom se for breve, descritivo e direto ao ponto.
Como escrever um documento de estratégia de teste de desempenho?
Este tutorial explicará como escrever uma estratégia de teste de desempenho de amostra para um aplicativo de mensagens.
Lembre-se que este é apenas um exemplo e os requisitos serão diferentes de um cliente para outro, também conheceremos as melhores práticas para Teste de Desempenho neste tutorial.
Modelo de estratégia de teste de desempenho de amostra
Sobre o aplicativo de chat ABC - Vamos supor que este seja um workbench de chat que é usado em uma empresa por seu agente de suporte ao cliente, este aplicativo de chat usa o protocolo XMPP, ou seja, Extensible Messaging and Presence Protocol e Open Fire Server para enviar e receber mensagens instantâneas.
Algumas melhorias foram feitas neste cliente de bate-papo existente, como controle remoto do PC, diagnóstico do PC, ferramentas de reparo, bate-papo online, etc., portanto, esta estratégia de teste de desempenho é uma amostra de tais aplicativos.
Para esta aplicação, vamos supor que a equipe do projeto decidiu usar JMeter para testes de desempenho e JIRA para rastreamento de defeitos.
A primeira página do documento Estratégia de Teste de Desempenho deve conter o Título do Documento e os Direitos Autorais da Empresa.
A segunda página deve conter o controle de documentos, que inclui o histórico de versões do documento, a lista de revisores e aprovadores e a lista de contribuidores.
A terceira página deve conter o Índice, seguido dos tópicos abaixo.
#1. Introdução
O objetivo deste documento é definir / explicar como o Teste de Desempenho será executado no aplicativo de chat ABC para o estado atual e futuro.
O aplicativo de chat ABC é um workbench de agente de suporte remoto interno. Este workbench será usado para atender às solicitações do cliente. Este Workbench tem recursos como chat online, identificação do cliente, controle remoto do PC, diagnóstico do PC e ferramentas de reparo.
Objetivo
Os principais objetivos do Teste de Desempenho são os seguintes:
- Para ganhar a confiança de que as alterações no aplicativo de chat existente estão de acordo com o Acordo de Nível de Serviço definido.
- Para garantir que o desempenho do aplicativo, a disponibilidade do serviço e a estabilidade do aplicativo não sejam afetados como resultado dos novos aprimoramentos.
- Os tempos de resposta da transação permanecem dentro da tolerância aceitável no perfil de carga crescente.
- JVMs mostram uso de memória estável em relação aos perfis de carregamento crescentes.
A imagem abaixo explica claramente o processo de Teste e Otimização de Desempenho:
Arquitetura
Você precisa incorporar o diagrama de arquitetura de seu projeto nesta sessão.
#2. Âmbito
Na mira
Abaixo está o escopo do Teste de Desempenho para a bancada de chat ABC:
- Aquisição de conhecimento das principais transações comerciais e distribuição de carga de construção após um estudo detalhado do sistema.
- Identifique os cenários críticos para o teste de desempenho com a ajuda de diferentes trilhas do projeto.
- Use os resultados da versão anterior como linha de base para versões futuras.
- Verifique e valide o ambiente de teste de desempenho e a infraestrutura da ferramenta de teste de desempenho / carga para qualquer máquina agente adicional.
- Preparação de scripts de teste de desempenho usando JMeter para os cenários identificados que imitam a carga de pico identificada.
- Configure o monitoramento de desempenho nos servidores para monitorar o teste a fim de identificar os gargalos durante a fase de execução do teste.
- Publique os resultados do teste de desempenho.
- Coordenar com várias partes interessadas para resolver os problemas de desempenho identificados.
- Defina o nível de desempenho para versões futuras.
Fora do escopo
- Teste funcional , UAT, Teste de Sistema e Teste de Segurança.
- Teste / monitoramento de desempenho de qualquer interface de terceiros.
- Ajuste de desempenho. (Na maioria das vezes o ajuste é feito por uma equipe diferente, se no caso de você ter engenheiros de desempenho para ajustar o sistema, você pode adicionar isso no Inscope).
- Perfil de código / dimensionamento de hardware / planejamento de capacidade.
- Teste de segurança / vulnerabilidade / UAT / Teste de caixa branca .
- Geração de dados para teste de desempenho.
- Testes não funcionais ( Por exemplo, failover, recuperação de desastres, backup, usabilidade) além dos testes de desempenho.
- Teste de qualquer solução móvel.
- Teste e ajuste de desempenho de aplicativos de terceiros.
- A realização de recomendações de desempenho, alterações no código do aplicativo e produtos com suporte do fornecedor / alterações na configuração do servidor estarão fora do escopo da perspectiva da Equipe de Desempenho.
- Suporte de infraestrutura / implantação de construção / preparação do ambiente / restauração de banco de dados / suporte de rede etc.
# 3) Abordagem
O teste de desempenho para chat ABC será conduzido usando Jmeter, escrevendo plug-ins XMPP customizados que usam uma biblioteca smack para conexões XMPP. Essas bibliotecas são usadas para configurar conexões, fazer login e enviar mensagens de chat para o servidor XMPP.
Essas bibliotecas são agrupadas em um arquivo jar que é implantado no Jmeter e é projetado com base nos cenários a serem testados. O Jmeter Work Bench é instalado na máquina local que se conecta ao servidor JMeter que possui os Geradores de Carga para gerar a carga necessária no sistema do servidor de Chat para monitorar o comportamento do sistema.
O cenário de teste terá um script usando a ferramenta JMeter. Os scripts seriam personalizados conforme necessário. A programação será criada com o aumento necessário para simular os cenários do mundo real.
O Cenário de Teste seria dividido e medido nos aspectos abaixo:
a) Teste de linha de base: Executar cada cenário com 1 usuário V e várias iterações para identificar se o desempenho do aplicativo atende ao Acordo de Nível de Serviço do negócio ou não.
mesclar código de classificação em c ++ com recursão
b) Teste de carga de base: Para atender ao Business Benchmark sob teste de carga, a equipe de Teste de Desempenho realizará um teste de carga de base que ajudará a identificar quaisquer problemas de desempenho do sistema com carga crescente e cria a linha de base para o próximo nível de teste de desempenho.
c) Pico de carga / teste de escalabilidade: A equipe de teste de desempenho realizará vários testes com Vusers crescentes para atender à carga esperada e também para medir o desempenho do aplicativo para estabelecer a curva de desempenho e identificar se a implantação pode suportar os acordos de nível de serviço sob a carga de pico do usuário.
Ajuda no ajuste ou planejamento de capacidade das Java Virtual Machines (JVM) individuais, o número total de JVMs necessários e os processadores. Isso será alcançado aumentando o número de usuários V para 50%, 75%, 100% e 125% da capacidade de pico.
d) Teste de resistência: A equipe de teste de desempenho executará este teste por um período de 8 horas / 16 horas / 24 horas para identificar vazamentos de memória, problemas de desempenho ao longo do tempo e estabilidade geral do sistema. Durante os testes de resistência, a equipe de Teste de Desempenho monitora os principais indicadores de desempenho, como tempos de resposta da transação e estabilidade do uso da memória.
Os recursos do sistema como CPU, memória e IO precisam ser monitorados com a ajuda da equipe do projeto.
O ambiente de teste de desempenho é considerado uma réplica do ambiente de produção. Os testes serão executados com uma carga incremental para identificar onde o aplicativo falha.
Cenários de teste de desempenho
Inclua o Excel com o conjunto de cenários.
Por exemplo,
Cenário 1: Para validar o chat do agente e do cliente para X no. de sessões simultâneas.
Tipos de teste de desempenho
A tabela abaixo explica os vários tipos de testes de desempenho e seus objetivos.
Tipo de Teste | Objetivo |
---|---|
UAT | Testes de aceitação do usuário |
Teste de Linha de Base | Estabeleça o melhor desempenho em volumes específicos que serão usados como referência para medições subsequentes. |
Teste de carga | Meça o desempenho do sistema sob a carga de pico de produção prevista. |
Teste de resistência | Medir a estabilidade do sistema sob alto volume por um longo período. |
Teste de stress | Meça o desempenho do sistema em condições desfavoráveis. |
Performance Metrics
- Métricas do lado do cliente
S.Não | Métrica | Descrição | Formato |
---|---|---|---|
1 | Tempo de resposta da transação | Tempo de resposta das páginas durante o estado estacionário do teste de desempenho | Gráfico |
dois | Taxa de transferência | A quantidade de dados que os VUsers receberam do servidor ao longo do tempo | Gráfico |
3 | Acessos / segundo | O número de solicitações HTTP feitas por VUsers ao servidor da Web durante a execução do cenário | Gráfico |
4 | Número de transações aprovadas / reprovadas | Número total de transações aprovadas e reprovadas durante a execução do teste | Excel |
5 | Taxa de erro de transação | A porcentagem de transações que falharam durante a execução do teste | Gráfico |
- Métricas de desempenho do sistema e da rede
Atividades e produtos de teste de desempenho
# 4) Dados de teste
Presume-se que os dados do ambiente de desempenho serão uma cópia dos dados de produção e os dados de teste necessários serão fornecidos pela equipe do projeto.
# 5) Critérios de entrada e saída
- Acesso a todos os aplicativos do ambiente.
- Prontidão do ambiente completa.
- Prontidão dos dados de teste de desempenho.
# 6) Gerenciamento de defeitos
- O módulo de gerenciamento de defeitos no JIRA será usado no projeto para registro de defeitos e para rastreamento de fechamento.
- A identificação de defeitos encontrados durante a fase de execução do teste será capturada no JIRA e esses defeitos serão resolvidos pela equipe de desenvolvimento de acordo com as severidades abaixo.
- As reuniões de revisão de defeitos seriam realizadas diariamente com a participação dos testes, desenvolvimento, analistas de qualidade e equipes de negócios.
- Os critérios para corrigir os defeitos ficariam rigorosos à medida que o projeto se aproximasse da data de ativação. Diretrizes para critérios de correção de defeitos a serem publicados nas reuniões de revisão de defeitos.
Definição de gravidade de defeito
As definições dos códigos de gravidade são as seguintes:
Gravidade | Descrição para problemas de desenvolvimento e aprimoramento |
---|---|
Bloqueador | Erro de sistema, bloqueio de exibição, problemas de rede |
Crítico | Erros de sistema, nenhuma solução alternativa clara, interrupção ou funcionalidade de negócios ausente |
Principal | Foi detectado um problema sério para o qual existe uma solução alternativa que pode não estar clara para todos os usuários, no entanto, o produto não deve ser lançado sem correção |
Médio | O problema existe com solução fácil / simples, mas este tipo de defeito pode ser liberado após a aprovação do Negócio e / ou Gerente de Projeto |
Baixo | Problemas cosméticos que não interferem na funcionalidade dos negócios ou outros problemas intermitentes que não são reproduzíveis todas as vezes |
# 7) Ferramentas e técnicas de teste
Ferramentas | Propósito |
---|---|
Jmeter | Para verificar a carga e o desempenho do aplicativo ABC Chat. |
# 8) Critérios de suspensão e retomada
A seguir estão os critérios críticos de suspensão e retomada que afetarão as atividades de teste:
Suspensão | Impacto | Retomada |
---|---|---|
Ambiente não configurado | O teste não pode prosseguir | Prontidão do ambiente. |
Aplicativo considerado instável | O teste não pode prosseguir. | Problema resolvido |
Dados de teste não disponíveis | O teste não pode prosseguir. | Dados de teste prontos |
# 9) Entregáveis de teste
Os resultados do teste de desempenho incluem:
- Estratégia de teste de desempenho
- Documento de Requisitos de Desempenho
- Documento de cenário de teste de desempenho
- Scripts de teste de desempenho
- Resultados do teste de desempenho
# 10) Funções e responsabilidades
As funções e responsabilidades são explicadas claramente na tabela abaixo.
# 11) Riscos potenciais e plano de mitigação
S.Não | Risco | Probabilidade | Impacto | Plano de Mitigação | Proprietário |
---|---|---|---|---|---|
1 | Indisponibilidade de dados de teste para execuções de teste de carga de desempenho | H | H | As datas estimadas para a execução do teste de desempenho devem ser revisadas e atualizadas. Suporte funcional / equipe de desenvolvimento necessário para coleta de dados. | - |
dois | Problemas ambientais | eu | M | Priorizar novamente os produtos | - |
3 | Mudança na funcionalidade / design durante a execução do teste de desempenho | M | H | Isso requer retrabalho nos cenários de teste de desempenho | - |
4 | Desempenho extra é executado para solucionar problemas de desempenho | M | H | Os cronogramas de teste de desempenho seriam modificados e atualizados para a equipe do produto. | - |
5 | As estimativas são preparadas com base em 1 compilação de correção de bug para desempenho. Várias compilações de correção de bug atrasarão os ciclos de teste e, eventualmente, dependerá de quando a próxima compilação estará disponível para nova execução. | H | H | Priorize novamente os ciclos de execução do teste de desempenho. | - |
6 | Disponibilidade de Hardware | M | H | A data de início da programação seria movida de acordo. | - |
# 12) Suposições
- O Ambiente de Teste de Desempenho será uma réplica do cenário da arquitetura do produto. (ou seja, hardware, software, interfaces, camadas de integração corretos, etc.).
- Os scripts de desempenho serão projetados com base nos fluxos críticos para os quais o uso é alto.
- Todos os problemas de infraestrutura devem ser resolvidos antes do início dos testes de desempenho. Quaisquer alterações na configuração do sistema feitas posteriormente invalidarão os resultados do teste.
- Um aplicativo está estável e pronto para uso no ambiente de teste de desempenho.
- Recursos de hardware e software necessários (como máquinas / software geradores de carga, máquinas controladoras / agentes) são disponibilizados.
- Quaisquer mudanças no escopo passarão por um processo de controle de mudanças e a equipe de teste de desempenho avaliará o impacto dos prazos e recursos.
- Espera-se que os respectivos servidores lidem com a carga.
- Os logs de rastreamento do aplicativo devem ser ativados para os sistemas de suporte para fins de monitoramento.
# 13) Dependências
- Disponibilidade do ambiente de teste de desempenho, que é uma réplica do cenário da arquitetura do produto.
- Suporte necessário de várias equipes Funcionais, de Desenvolvimento, Banco de Dados e Infraestrutura durante as etapas de preparação e execução de testes.
- Nenhuma mudança de código é implementada durante toda a fase de teste de desempenho, pois o tempo é muito limitado.
- No caso de problemas imprevistos que levem a restrições dentro dos cronogramas, se os cronogramas não permitirem que todos os escopos de teste sejam atendidos dentro das datas dos marcos originais, o suporte está disponível dos Gerentes de Liberação, para fornecer uma decisão de escopo e priorização.
- Os usuários de negócios do aplicativo / especialistas no assunto serão disponibilizados para esclarecimentos funcionais e aprovação de transações de negócios.
- O gerente do programa de chat da ABC analisará e assinará.
# 14) Abreviações
Abreviação | Descrição |
---|---|
DB | Base de dados |
Http | Protocolo de Transferência de Hipertexto |
JDBC | Java Database Connectivity |
QA | Garantia da Qualidade |
ALFACE | Acordo de Nível de Serviço |
SME | Especialista no assunto |
Agora você deve ter entendido claramente como escrever uma estratégia de teste de desempenho eficaz para um aplicativo de mensagens.
Melhores práticas para testes de desempenho realista
Para concluir um projeto de Teste de Desempenho com sucesso, precisamos garantir que o estamos fazendo da maneira certa desde o estágio de planejamento, ou seja, planejamento, desenvolvimento, execução e análise.
Vamos dar uma olhada em cada estágio em detalhes para conduzir os testes de desempenho de forma eficaz.
# 1) Planejamento
- Tente identificar os fluxos de trabalho mais comuns, ou seja, os cenários de negócios que precisam ser testados. Se o aplicativo já existir, verifique os logs do servidor para entender os cenários acessados com mais frequência. Se o aplicativo for novo, converse com a equipe de gerenciamento de projetos para entender o fluxo de negócios principal.
- Planeje o teste de carga de forma a abranger uma ampla gama de fluxos de trabalho, como uso leve, uso médio e cargas de pico.
- Você precisa executar muitos ciclos do Teste de Carga, portanto, tente criar uma estrutura para que possa usar os mesmos scripts repetidamente. Além disso, tente fazer um backup dos scripts.
- Tente analisar quanto tempo um teste tem para ser executado, é uma hora? 8 horas? Um dia ou uma semana? Normalmente, os testes de longa duração irão revelar muitos defeitos importantes, como bugs do sistema operacional, vazamentos de memória, etc.
- Se sua organização estiver usando qualquer APM (ferramenta de monitoramento de aplicativo), você pode incluí-lo durante as execuções de teste para que possa identificar facilmente os problemas de desempenho e identificar a causa raiz com mais facilidade.
# 2) Desenvolvimento
- Ao desenvolver os scripts, ou seja, a gravação, tente dar um nome de transação mais significativo com base nos nomes do fluxo de negócios que são mencionados no plano.
- Não grave nenhum aplicativo de terceiros e, se for gravado, tente filtrá-lo enquanto aprimora os scripts.
- Nem todos os valores dinâmicos podem ser correlacionados usando o recurso de autocorrelação na ferramenta, então tente fazer uma correlação manual para evitar erros.
- Tente projetar seus testes de desempenho de forma que você acesse o back-end do aplicativo e não apenas o servidor de cache.
# 3) Execução
- Certifique-se de executar os testes em um ambiente de produção, incluindo fatores como SSL, Load Balancer e Firewalls. Isso é necessário para simular uma carga realista no sistema.
- Tente criar uma carga de trabalho que seja muito realista, você pode conseguir isso verificando os logs do servidor, se for um aplicativo existente e se for um novo aplicativo, você precisa obter essas informações da equipe de negócios. Lembre-se de que a carga de trabalho é muito importante para a realização de testes de desempenho bem-sucedidos.
- Nunca chegue a uma conclusão executando testes com metade do tamanho do ambiente de produção, é sempre aconselhável realizar testes em um ambiente igual ao de produção.
- Durante a execução de testes de longa duração, tente observar a execução em intervalos frequentes para se certificar de que o teste está sendo executado sem problemas.
# 4) Análise
- Tente analisar a aplicação adicionando alguns contadores importantes primeiro; quando um gargalo for encontrado, tente adicionar contadores adicionais em relação ao gargalo. Isso, por sua vez, ajudará a encontrar o problema com mais facilidade.
- Um aplicativo pode falhar por vários motivos, como pode falhar em responder a uma solicitação, responder com um código de erro, falhar em sua lógica de validação ou responder muito lentamente. Portanto, tente examinar tudo isso antes de chegar a uma conclusão.
Conclusão
Tenho certeza que este tutorial teria dado a você imenso conhecimento sobre testes de desempenho e como escrever um documento de estratégia de teste de desempenho com exemplos detalhados.
Em nosso próximo tutorial, aprenderemos as diferenças entre teste de desempenho, carga e estresse em detalhes.
Além disso, verifique => Série de treinamento em profundidade gratuita do LoadRunner
Leitura recomendada
- Teste de desempenho vs teste de carga vs teste de estresse (diferença)
- Teste de carga com tutoriais HP LoadRunner
- Teste de desempenho de nuvem: provedores de serviço de teste de carga baseado em nuvem
- Teste de carga, estresse e desempenho de aplicativos da Web usando WAPT
- Ferramentas e serviços de teste de desempenho de sites
- Como realizar o teste de desempenho manual?
- Teste de desempenho de aplicativos móveis usando BlazeMeter
- Teste de desempenho de serviços da Web usando script LoadRunner VuGen