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:
-
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.
-
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.
-
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) -
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.
-
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.
-
Análise de requisitos e especificações:
- Identificação de discrepâncias entre comportamento esperado e real.
-
Análise retrospectiva:
- Estudo de erros passados para identificar padrões e cenários omitidos.