Desenvolvimento

Ξ 1 comentário

Teste de desempenho de software

publicado por Vanessa Gomes

Figura - Teste de desempenho de softwareO teste de desempenho de software tem como objetivo abordar a aplicabilidade e finalidade do teste de carga de desempenho, analisando o fluxo de execução, tempos de resposta, confiabilidade e limites operacionais. O teste de carga de desempenho baseia-se na identificação e na eliminação de gargalos de desempenho relacionados à arquitetura.  Além de apresentar ferramentas para analisar e verificar se os aplicativos ou sistemas conseguem suportar condições de alta carga e como um grande número de transações, sejam clientes ou volumes de dados.  A fim de avaliar a sua robustez quando submetido a uma carga acima do previsto, assim como determinar o seu limite de capacidade com um tempo de resposta considerado aceitável para o sistema e infra- estrutura.

Diante desse cenário, este estudo pretende responder à seguinte pergunta: Como aplicar e porque aplicar o teste de desempenho e quais ferramentas de teste de desempenho utilizar? A partir dessa questão, será apresentado o que o Teste de Desempenho nos oferece de concreto em relação à performance do software.

Para que se chegue ao objetivo geral, que é apresentar os benefícios oferecidos pela técnica e ferramentas de teste de desempenho utilizado no dia a dia de uma forma estratégica a fim de driblar o tempo e garantir a qualidade e confiabilidade do produto, foram definidos três objetivos específicos. No primeiro, pretende-se definir com base em literatura cientifica o que é Teste de e Desempenho. O segundo objetivo é mostrar o alinhamento estratégico da utilização de ferramentas de Teste de desempenho. Já o terceiro objetivo é esclarecer a importância do teste de desempenho para manter a confiabilidade da aplicação ou sistema. 

Sabendo que os objetivos de desempenho precisam expressar as medidas capazes para determinar o quão rápido o sistema deve ser executado, qual o limite aceitável para seu desempenho, qual o consumo de processador e memória aceitável e que número de usuários concorrentes deve ser suportado. Os objetivos e foco de teste de desempenho devem estar claramente estabelecidos nas metas do projeto do sistema, pois somente assim poderão nortear os esforços do desenvolvimento para se saber quando eles foram atingidos. (MEIER et al. 2007)

Nos sistemas de computadores o desempenho pode ser definido de maneiras diferentes. Podemos considerar como o sistema de melhor desempenho aquele que executa em menor tempo um determinado programa, ou ainda, aquele sistema que executa o maior número de programas num determinado intervalo de tempo. (CASTRO, 2005).

Dessa forma, estamos considerando dois aspectos diferentes para avaliar o desempenho. O primeiro é o tempo de resposta ou tempo de execução da aplicação. O segundo é denominado throughput ou vazão, e considera a quantidade de trabalho executado na unidade de tempo. Estes aspectos refletem a visão do usuário e a visão do gerente do sistema. 

Segundo Castro (2005, p.20), o teste de desempenho é um tipo de testes destinados a determinar a capacidade de resposta, throughput, confiabilidade e / ou a escalabilidade de um sistema sob uma determinada carga de trabalho.

O teste de desempenho é comumente utilizado para realizar o seguinte:

  • Avaliar a disponibilidade do aplicativo ou sistema;
  • Avaliar os critérios de desempenho;
  • Comparar as características de desempenho de vários sistemas ou configurações de sistema;
  • Procurar a fonte de problemas de desempenho;
  • Encontrar os níveis de rendimento;

O teste de desempenho é uma classe de testes implementada e executada para caracterizar e avaliar o desempenho relacionado a características do objetivo do teste, como perfis de andamento, fluxo de execução, tempos de resposta, confiabilidade e limites operacionais.

Os testes de desempenho baseiam-se na identificação e na eliminação de gargalos de desempenho relacionados à arquitetura. (IBM, 2004)

De acordo com Dias (2007, p.54-59), o teste de performance deve ser parte de todo o processo de desenvolvimento, pois os benefícios são significantes. Esses testes podem ser executados com o objetivo de analisar e otimizar o desempenho de um dado sistema. A finalidade é encontrar possíveis gargalos nos diversos níveis do software (aplicação, banco de dados, sistema operacional, rede, etc). Para realizá-los, devem ser utilizadas ferramentas adequadas para as medições dos resultados obtidos.  Dessa forma, através da monitoração desses resultados, é possível otimizar a infra-estrutura que suportará o sistema, tanto do lado do servidor como do lado do cliente.

[Crédito da Imagem: Desempenho de Software – 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

1 Comment

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