Sobes.tech
Junior

Como é que se pode obter um erro (exceção) durante o teste?

sobes.tech IA

Resposta da IA

Os erros podem ser obtidos através de:

  1. Investigação de funcionalidades:

    • Testes negativos: Inserção de dados incorretos, ultrapassar os limites permitidos, formatação incorreta.
    • Testes de limites: Uso de valores mínimos e máximos permitidos.
    • Testes de stress: Sobrecarga do sistema.
    • Testes de segurança: Tentativas de injeção, acesso não autorizado.
    • Investigação de dependências: Desativação ou funcionamento incorreto de serviços externos.
    • Testes de compatibilidade: Uso de diferentes navegadores, sistemas operativos, dispositivos.
  2. Análise de logs e monitorização:

    • Visualização de logs do servidor, logs de aplicações.
    • Uso de sistemas de monitorização para detectar falhas e erros em tempo real.
  3. Testes automatizados:

    • Testes unitários: Verificação de componentes individuais do código em busca de erros.
    • Testes de integração: Verificação da interação entre módulos.
    • Testes de ponta a ponta: Simulação de ações do utilizador para encontrar erros no fluxo completo.
    • Testes de carga: Detecção de erros sob alta carga.
    • Fuzzing: Geração de dados de entrada aleatórios ou semi-aleatórios para procurar falhas e vulnerabilidades.
    # Exemplo de teste que pode causar um erro de divisão por zero
    def divide(a, b):
        return a / b
    
    # Teste: espera-se ZeroDivisionError
    import pytest
    
    def test_divide_by_zero():
        with pytest.raises(ZeroDivisionError):
            divide(10, 0)
    
  4. Testes manuais:

    • Testes sistemáticos e exploratórios para identificar cenários não evidentes.
    • Testes de usabilidade onde cenários não evidentes podem levar a erros.
  5. Utilização de ferramentas de análise de código:

    • Análise estática do código para procurar erros potenciais e vulnerabilidades.
    • Análise dinâmica para identificar erros durante a execução.
  6. Análise de requisitos e especificações:

    • Identificação de discrepâncias entre comportamento esperado e real.
  7. Análise retrospectiva:

    • Estudo de erros passados para identificar padrões e cenários omitidos.