Gorilla vs Performance Tests

Os Gorilla Tests e os Performance Tests têm objetivos e métodos distintos, embora ambos contribuam para avaliar a qualidade e a resiliência de um sistema.

1. Objetivo Principal

  • Gorilla Tests

    O objetivo é testar repetidamente uma parte específica do sistema, aplicação ou módulo, para verificar a sua robustez e estabilidade. É um teste muito concentrado numa única funcionalidade ou módulo e visa encontrar falhas que podem não ser detectadas com uma abordagem mais ampla. Por exemplo, os gorilla tests podem ser usados para submeter repetidamente uma funcionalidade a inputs exaustivos ou situações inesperadas.

  • Performance Tests

    O objetivo é medir como o sistema se comporta sob várias condições de carga. Concentram-se em verificar a velocidade, escalabilidade, capacidade de resposta e estabilidade do sistema ao longo do tempo, principalmente sob diferentes níveis de utilização. O foco está em aspectos como o tempo de resposta, throughput (taxa de processamento) e o uso de recursos como CPU e memória.

2. Escopo de Testes

  • Gorilla Tests

    O escopo é limitado e intensivo numa pequena parte do sistema. Focam-se numa única funcionalidade ou componente e submetem essa área específica a uma carga repetitiva e intensa, simulando cenários que poderiam causar falhas.

  • Performance Tests

    O escopo é amplo, cobrindo o sistema como um todo ou grandes partes dele. Avaliam o desempenho geral sob diferentes condições de carga, desde a utilização leve até situações de sobrecarga (ou além da capacidade normal). Os testes de performance podem incluir testes de carga, stress, volume e escalabilidade.

3. Tipo de Entrada e Cenário

  • Gorilla Tests

    Os inputs são frequentemente repetitivos e muitas vezes extremos, focados em stressar uma funcionalidade até encontrar um ponto de falha. O cenário é intensivo e focado em um único ponto específico do código ou funcionalidade.

  • Performance Tests

    Utilizam cenários variados de cargas e inputs representativos de uma utilização real. Podem simular muitos utilizadores ou transações simultâneas para medir como o sistema se comporta sob diferentes condições de utilização, desde condições normais até sobrecarga.

4. Resultados Esperados

  • Gorilla Tests

    O resultado esperado é verificar se a funcionalidade ou módulo específico consegue suportar o uso repetitivo ou inputs extremos sem falhar. Procura assim encontrar vulnerabilidades ou pontos fracos nessa funcionalidade específica.

  • Performance Tests

    Os resultados esperados incluem métricas detalhadas de tempo de resposta, taxa de transferência, utilização de recursos e comportamento sob carga. Visa identificar bottlenecks, degradação de desempenho ou limites de capacidade.

5. Exemplo Prático

  • Gorilla Test

    Supõe que uma aplicação tem uma funcionalidade de upload de arquivos. Um gorilla test pode consistir em testar essa funcionalidade milhares de vezes com arquivos grandes ou em formatos inesperados, de modo a verificar se o sistema continua a funcionar sem interrupções ou falhas.

  • Performance Test

    No mesmo sistema, podemos medir como é que o upload de arquivos impacta o desempenho do sistema como um todo. Isso incluiria testar o tempo de upload quando muitos utilizadores estão a tentar carregar arquivos ao mesmo tempo e ver se o sistema consegue gerir a carga sem degradação significativa no tempo de resposta.

Portanto, estes dois tipos de teste têm abordagens complementares. Enquanto o gorilla test se foca em encontrar falhas em áreas específicas, os performance tests garantem que o sistema, em termos gerais, se mantém eficiente sob diferentes condições.

 
Anterior
Anterior

Token, para que te quero?

Próximo
Próximo

Ad-hoc Tests