Monkey Tests VS Gorilla Tests

Monkey Tests e Gorilla Tests são técnicas de teste de software que se diferenciam em termos de abordagem, objetivo e execução, embora pelos seus nomes se possa achar que existe alguma semelhança ou associação.

Monkey Tests

O Monkey Testing envolve a execução de testes de uma maneira completamente aleatória, sem qualquer plano pré-estabelecido ou conhecimento específico do funcionamento interno do software.

A ideia é simular o comportamento de um "macaco" operando o sistema de forma desestruturada.

Características Principais:

  • Aleatoriedade: as entradas e interacções são completamente aleatórias.

  • Automação: muitas vezes são automatizados, principalmente em aplicações móveis e web, utilizando ferramentas específicas para gerar interacções aleatórias.

  • Objetivo: identificar problemas, quebras de funcionamento e comportamentos anómalos, que acontecem devido a entradas inesperadas ou sequências de acções não planeadas.

  • Conhecimento do tester: não requer conhecimento profundo do sistema ou do domínio de aplicação.

  • Cobertura: visa cobrir uma ampla lista de possíveis interações e entradas aleatórias.

Exemplo

Utilizar uma ferramenta como o MonkeyRunner para simular toques aleatórios numa aplicação móvel e verificar se a aplicação falha ou apresenta comportamento anómalo.

Gorilla Tests

O Gorilla Testing é uma técnica focada e intensiva, em que uma única funcionalidade ou módulo do sistema é testado repetida e exaustivamente. O objetivo é verificar a robustez e a estabilidade da funcionalidade sob condições de uso intenso e repetitivo.

Características Principais:

  • Foco: foca numa funcionalidade ou módulo específico.

  • Repetitividade: executa repetidamente a mesma acção ou conjunto de ações.

  • Objetivo: garantir a robustez e a estabilidade da funcionalidade sob condições de utilização extrema.

  • Conhecimento do tester: requer um bom entendimento da funcionalidade específica que vai ser testada.

  • Cobertura: visa cobrir todos os aspectos de uma funcionalidade específica através da utilização intensiva.

Exemplo

Testar repetidamente uma funcionalidade de processamento de pagamentos de uma aplicação de e-commerce, realizando a mesma sequência de operações de pagamento de forma sequencial e exaustiva, para verificar a robustez do sistema.

Principais Diferenças

  • Abordagem

    • Monkey Tests: aleatórios e sem estrutura.

    • Gorilla Tests: gocados e estruturados, numa funcionalidade específica.

  • Objetivo

    • Monkey Tests: Identificar falhas e comportamentos anómalos, através de interacções aleatórias.

    • Gorilla Tests: Garantir a robustez e a estabilidade de uma funcionalidade específica, sob uso intensivo.

  • Execução

    • Monkey Tests: onterações aleatórias e muitas vezes automatizadas.

    • Gorilla Tests: interações repetitivas e intensivas numa funcionalidade específica.

  • Conhecimento do Sistema

    • Monkey Tests: não requer conhecimento do sistema.

    • Gorilla Tests: requer conhecimento detalhado da funcionalidade específica que está a ser testada.

  • Cobertura

    • Monkey Tests: cobre uma vasta gama de interacções e entradas aleatórias.

    • Gorilla Tests: cobre exaustivamente uma funcionalidade específica.

Portanto, os Monkey Tests e Gorilla Tests são técnicas complementares no teste de software. Enquanto os Monkey Tests se concentram na aleatoriedade completa para identificar falhas imprevistas em todo o sistema, os Gorilla Tests focam-se em testar repetidamente uma funcionalidade específica a fim de garantir a sua robustez e estabilidade sob condições de uso extremo.

Cada técnica tem seu propósito, aplicação e utilização, e a escolha entre elas depende dos objetivos específicos do teste e das características do sistema que vai ser testado.

 
Anterior
Anterior

Ad-hoc Tests

Próximo
Próximo

Gorilla Tests