Por que eu devo ler este artigo:Neste artigo vamos falar sobre a importância dos testes de performance em sistemas no ciclo de desenvolvimento de software. Iremos discutir como validar melhorias em aplicações com esse tipo de teste utilizando as ferramentas de Trace e TKPROF disponíveis no banco de dados Oracle.

Veremos como salvar o Trace e o TKPROF de processos e fazer sua análise, percebendo ou não melhoria de desempenho, além de interpretar outras informações importantes. Este artigo será útil em situações nas quais temos que validar a melhoria de performance em alguma funcionalidade, parte ou processo de um sistema.

A área de testes contribui para a melhoria da qualidade e valor de produtos, sejam eles de quaisquer tipos de sistemas como bancários, financeiros, de comércio exterior, administrativos, entre outros.

Quando nos deparamos com um sistema em que determinado processo, fluxo ou funcionalidade demora ou é lento quando executado, temos a impressão de que o software não é bom, ou não supre as nossas necessidades, nem nossas expectativas. Logo, sobre o ponto de vista do usuário, o software não funciona. Lentidão ou demora está diretamente relacionada à percepção do usuário, sempre levando em conta a experiência prévia dele com outros sistemas, infraestrutura, servidores ou computadores.

Exemplificando essa situação, podemos pensar em um sistema em que são realizadas diversas operações todos os dias, em que os usuários executam diversos fluxos e funcionalidades, realizando uma manipulação constante de dados.

A empresa utilizava o sistema A, que na percepção dos usuários, era rápido, e que era fornecido pela empresa Y.

Mas, com a ideia de que a mudança de fornecedor proporcionaria uma economia de valor em mensalidade ou manutenção do sistema, a empresa mudou seu fornecedor, passando a utilizar o sistema B, da empresa Z, o que gerou uma série de problemas.

Não porque o novo sistema era ruim, mas porque para executar os mesmos fluxos, os usuários levavam muito mais tempo.

Então, ao invés de economizar e melhorar a produtividade dos funcionários, o custo aumentou. Com a insatisfação dos usuários, foi necessário gastar com abertura de chamados para a realização de ajustes de forma a melhorar a performance sem prejudicar a funcionalidade.

Em um mundo onde a velocidade de geração das informações é cada vez maior, o tempo de acesso a elas também precisa ser. Precisamos que o processamento e execução sejam rápidos. Mas muitas vezes o que vemos é que não se é dá muita importância ao fato de determinado sistema ou funcionalidade ser ou não performático, direcionando todos os recursos para a funcionalidade ou alteração.

Ao longo desse artigo, vamos discutir sobre a importância dos testes de performance na validação e entrega de um produto e o quanto isso contribui com a qualidade, ganho de mercado e no tempo de entrega dos produtos. No estudo de caso, utilizando banco de dados Oracle, vamos salvar o Trace e o TKPROF de um processo e verificar como é realizada a análise desses arquivos para que tenhamos certeza no momento dos testes de que houve melhoria ou não da performance, e o quanto de ganho conseguimos obter.

Testes de Performance

Performance está relacionada com o tempo e a velocidade de processamento de informações. Esse processamento pode ser a execução de uma funcionalidade, uma sequência de passos no sistema, a abertura ou login no sistema, impressão de relatórios, entre outros.

Logo, o teste de performance é realizado para verificar o tempo de resposta de uma aplicação, ou seja, a obtenção de um resultado de execução em um determinado tempo possível, quanto maior o tempo, pior a performance, e quanto menor o tempo, melhor a performance.

O resultado do teste determina a velocidade de processamento levando-se em consideração uma determinada carga de dados.

Fazendo parte da estratégia e técnica de teste estrutural, também conhecido por teste de caixa branca, o teste de performance visa garantir que o software desenvolvido esteja bem estruturado internamente e, consequentemente, funcionando corretamente de acordo com especificações e requisitos.

É o tipo de teste utilizado para determinar o tempo de resposta, a confiabilidade, escalabilidade ou a estabilidade de determinados sistemas sob uma carga de dados qualquer.

Seu principal objetivo é identificar e eliminar possíveis gargalos não cobertos pelo desenvolvimento, seja em alguma funcionalidade, integração com outros sistemas ou em sistemas legados, além de estabelecer parâmetros de validação, servindo também como critério de aceite.

Podemos dividir o teste de performance em três tipos básicos:

· Carga: quando medimos se um sistema suporta determinada carga desejada;

· Estresse: quando queremos determinar qual a capacidade máxima que um sistema aguenta com determinada carga de dados;

· Estabilidade: quando queremos saber qual a degradação ou desgaste de um sistema em um determinado período de tempo.

O teste de desempenho de um sistema pode ocorrer por módulos, funcionalidades, ou ainda de forma completa. Os testes envolvem uma série de passos como criar carga, ou massa de dados, executar diversos fluxos dentro de um sistema e medir o tempo gasto nessa execução, verificando se ele é aceitável ou não, e se está dentro dos padrões definidos pelo escopo do projeto.

É importante saber o quanto queremos que o sistema seja rápido, o quanto de dados vamos carregar, o que vamos fazer para simular lentidão e qual o ambiente que temos disponível para realizar os testes.

A avaliação do desempenho deveria ocorrer implicitamente ao longo de todo o processo de teste, podendo somente ser finalizada efetivamente quando todos os componentes da aplicação estiverem integrados. Entretanto, devido a prazos cada vez mais curtos e à necessidade individual de cada projeto, esse tipo de teste pode ou não ser priorizado e ...

Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo