Desenvolvimento

Ξ Deixe um comentário

Tipos de teste de desempenho

publicado por Vanessa Gomes

Figura - Tipos de teste de desempenhoO teste de desempenho é uma atividade ampla e complexa, que pode assumir muitas formas, abordar muitos riscos, e fornecer uma ampla gama de valor para uma organização. É importante compreender os tipos diferentes de teste de desempenho, a fim de reduzir os riscos, minimizar o custo, e saber quando aplicar o teste apropriado ao longo de um dado projeto os testes de desempenho.

Para aplicar diferentes tipos de teste ao longo de um teste de desempenho, é necessário avaliar os seguintes pontos principais:

  • Os objetivos do teste de desempenho.
  • O contexto do teste de desempenho, por exemplo, os recursos envolvidos, o custo e o potencial de retorno sobre o esforço de teste.

Segundo Denaro et al. (2004, p.2), testes de desempenho consistem em testar um sistema quanto aos seus requisitos de desempenho. Alguns exemplos desses requisitos são:

  • Latência: que é o tempo entre uma requisição e a completude e resposta da operação requisitada;
  • Vazão (throughput): o número de operações que o sistema é capaz de completar em um dado período de tempo;
  • Escalabilidade: a quantidade de usuários simultâneos que o sistema pode lidar;
  • Uso de recursos de máquina: como memória e processamento;

Apesar de um teste de desempenho completo e ideal depender da existência de um sistema totalmente integrado e funcional, no contexto sobre o qual o mesmo irá funcionar, testes de desempenho são frequentemente aplicados em todos os passos do processo de teste. (PRESSMAN, 2006).

Tipos de Teste de Desempenho

  • Teste de avaliação de desempenho ou benchmark
    É o processo de submeter sistemas computacionais a testes de carga, que são executados através de programas, exercitando um conjunto adequado de instruções que geram cargas no sistema, usados como um método de comparação de desempenho entre vários subsistemas. (SPEC, 2009). Compara o desempenho de um objetivo do teste (novo ou desconhecido) a um sistema e a uma carga de trabalho de referência conhecidos. (BASTOS et al., 2007). Os benchmarks são considerados medidas de avaliação, que realizam um conjunto definido de operações de cargas de trabalho (Worklod), que visa produzir um resultado, de acordo com as métricas definidas pelo algoritmo ou software de benchmark (HENESSY, J.L et al., 2007).
  • Teste de contenção
    Segundo Bastos et al. (2007, p.76), o teste de contenção verifica se a aplicação pode lidar de maneira aceitável com as demandas de vários atores no mesmo recurso como registros de dados, memória etc. O teste de contenção tem o objetivo de avaliar se o software lida de forma aceitável quando recursos compartilhados recebem demandas de diferentes atores. (RUP, 2001).
  • Teste de carga 
    Conforme Bastos et al. (2007, p.76), o teste de carga é usado para validar e avaliar a aceitabilidade dos limites operacionais de um sistema de acordo com cargas de trabalho variáveis, ao passo que o sistema em teste permanece constante. Em geral, as medições são tomadas com base na taxa de transferência de dados da carga de trabalho e no tempo de resposta da transição alinhado. Este tipo de teste visa avaliar os limites operacionais de um sistema mediante cargas de trabalho variáveis. Há casos em que o teste de carga mantém a carga de trabalho, mas varia a configuração do sistema. As medições baseiam-se normalmente na taxa de transferência de dados da carga de trabalho e no tempo de resposta da transação. A carga de trabalho é alterada de modo a simular variações entre as cargas média e máxima ocorridas em condições operacionais normais. (RUP, 2001).
  • Perfil de desempenho
    Segundo Bastos et al. (2007, p.76), o teste de perfil de desempenho testa o perfil de andamento é monitorado (inclusive fluxo de execução, acesso a dados e chamadas de função e de sistema) a fim de identificar e tratar gargalos de desempenho e processos ineficientes. O perfil de desempenho é um tipo de teste que visa identificar gargalos de desempenho, a partir do monitoramento do software, incluindo fluxo de execução, acesso a dados e chamadas de funções. (RUP, 2001).
  • Teste de estresse
    De acordo com Bastos et al. (2007, p.76), é um tipo de teste de confiabilidade destinado a avaliar como o sistema responde em condições anormais. O estresse no sistema pode abranger cargas de trabalho extremas, memória insuficiente, hardware e serviços indisponíveis ou recursos compartilhados limitados. O teste deve colocar a aplicação sob estresse para verificar se o software consegue funcionar normalmente sob grande carga de processamento. Muitas vezes, os requisitos definem a carga de processamento esperada – por exemplo, mil acessos por hora ou cem transações por minuto. Esses números devem ser usados como parâmetros no momento da execução do teste de estresse.
  • Teste de Volume
    Teste de funcionalidade utilizado para avaliar se a aplicação é capaz de processar as requisições conforme os limites operacionais descritos nos requisitos (enfoque no volume de dados e transações). Os testes de volume testam a quantidade de dados que o sistema pode gerenciar, o objetivo deste teste é determinar a capacidade do sistema em lidar com o volume de dados especificado nos seus requisitos. Em geral, este tipo de teste usa grandes quantidades de dados, o que permite determinar os limites em que o sistema falha. Além disso, costumam ser utilizados na identificação da carga máxima ou volume de dados que o sistema pode gerenciar em um dado período de tempo. (PRESSMAN, 1995).
  • Teste Spike/Bounce
    O teste do tipo spike visa analisar o comportamento de um sistema Web sob uma condição atípica de elevada carga por um determinado período de tempo. Enquanto um sistema pode responder adequadamente a um crescimento gradual de carga, problemas sérios podem surgir durante um aumento repentino de carga. Por exemplo: um determinado sistema pode suportar corretamente um crescimento de carga de um a cinco usuário por minuto, em um intervalo de 10 minutos, totalizando entre 10 a 50 usuários; mas pode não suportar um acréscimo abrupto de 10 a 20 usuários por minuto, no mesmo intervalo de 10 minutos, totalizando entre 100 a 200 usuários por minuto. Nesse caso poderia haver problemas de conexão com o servidor Web, ou com o banco de dados, problemas de alocação de memória, entre outros. Os sistemas Web podem experimentar esses picos repentinos de carga durante um evento especial, como anúncio de uma campanha de marketing, oferta de uma promoção, etc.

[Crédito da Imagem: Teste de Desempenho – ShutterStock]

Autor

Atua profissionalmente como Analista de Desenvolvimento e Analista de Teste em Qualidade. - Certificação em ITIL V3 Foundation - CTFL - Certified Tester Foundation Level - SFPC - Scrum Foundation Professional Certificate - DEPC - Devops Essencial Professional Certificate - Linguagens: PHP, SQL, HTML, Java,.NET, Groovy; - Automação de Testes com JUnit, Selenium e Cucumber - Big Data Foundation - Scrum Master (fundamentos),

Vanessa Gomes

Comentários

You must be logged in to post a comment.

Busca

Patrocínio

Publicidade



Siga-nos!

Newsletter: Inscreva-se

Para se inscrever em nossa newsletter preencha o formulário.

Artigos Recentes