Quiz 12
1. O que caracteriza um Teste Unitário?
Testar a menor parte testável de um software (função/método) de forma isolada.
Testar se o sistema abre no celular.
Testar a conexão com a internet.
Testar o sistema inteiro de uma vez.
2. Na Pirâmide de Testes, qual nível deve ter a maior quantidade de testes?
UI / End-to-End.
Integração.
Unitários.
Testes Manuais.
3. No padrão AAA, o termo "Arrange" significa:
Executar a função.
Preparar o cenário e os dados necessários para o teste.
Verificar se o resultado deu certo.
Organizar os arquivos no Windows.
4. O "Assert" no padrão AAA serve para:
Iniciar o cronômetro.
Chamar a API externa.
Validar se o resultado real é igual ao resultado esperado.
Deletar os logs de erro.
5. Qual a principal função de um "Mock"?
Fazer piada com o código alheio.
Simular o comportamento de dependências externas (ex: banco de dados) para isolar o teste.
Aumentar a velocidade do processador.
Substituir o testador humano.
6. Um Teste de Integração foca em:
Testar se o CSS está bonito.
Validar a comunicação e o fluxo de dados entre dois ou mais módulos do sistema.
Contar quantas linhas de código foram escritas.
Testar apenas a lógica matemática de uma função.
7. Por que os Testes de UI (Topo da pirâmide) são feitos em menor quantidade?
Porque ninguém gosta de testar telas.
Porque são lentos, caros e muito sensíveis a mudanças visuais (frágeis).
Porque eles são ilegais em alguns países.
Porque não encontram bugs reais.
8. O que é um "Falso Positivo" em testes automatizados?
Quando o teste passa, mas existe um bug.
Quando o teste falha, mas o sistema está funcionando corretamente.
Quando o teste demora muito para rodar.
Quando o desenvolvedor diz que testou, mas não testou.
9. Testes de Integração devem usar Mocks?
Sim, sempre.
Não, nunca.
Depende; preferencialmente utilizam dependências reais ou emuladas para validar a integração real.
Somente se o banco de dados for de graça.
10. Qual a vantagem de rodar testes unitários em cada commit?
Ocupar o tempo do servidor de CI.
Feedback imediato ao desenvolvedor sobre regressões ou erros de lógica.
Ganhar medalhas no GitHub.
Evitar que o computador desligue.