Testes unitários (ou, testes de unidades) são scripts que verificam o funcionamento de unidades individuais de código. Os testes unitários representam
- A)scripts manuais que testam unidades individuais de código fonte, como funções ou métodos, de forma integrada com o restante do sistema.
Errada, porque teste unitário não é manual nem integrado com o restante do sistema; isso se aproxima mais de testes de integração ou sistêmicos.
- B)uma forma de se testar a combinação das unidades em conjunto.
Errada, porque falar em combinação de unidades caracteriza teste de integração, não teste unitário.
- C)uma dificuldade adicional para encontrar problemas o quanto antes, atrasando a mudança da unidade introduzem complexidade na integração e para documentação.
Errada, pois mistura efeitos que não definem teste unitário e descreve algo confuso, com ideias de complexidade e documentação que não são o conceito central.
- D)testes de software que procuram aferir a corretude do código, em sua menor fração.
Certa, porque teste unitário verifica a corretude de uma unidade mínima do código, exatamente o objetivo desse tipo de teste.
- E)um processo de execução automatizado, porém, lentificado
Errada, porque teste unitário tende a ser automatizado e rápido, não um processo lentificado.
Gabarito: D
Testes unitários servem para verificar, de forma isolada, se uma pequena unidade do código - como uma função, método ou classe - faz o que deveria fazer. A ideia é pegar o defeito cedo, quando ele ainda está pequeno e barato de corrigir. Em outras palavras: você testa a menor parte possível do sistema, sem depender do restante para validar o comportamento. Na prática, teste unitário não é teste manual nem teste de integração. Ele costuma ser automatizado, rápido e focado em uma unidade específica, com menos interferências externas. Por isso, é muito usado em boas práticas de desenvolvimento e na pirâmide de testes, ficando na base por ser mais simples e barato de executar. O gabarito é a letra D porque ela descreve exatamente essa lógica: testes de software que buscam aferir a corretude do código na sua menor fração. Isso bate com a doutrina clássica de engenharia de software, em que teste unitário tem foco no menor componente testável, e não na interação entre várias partes do sistema. Se a banca menciona "unidades individuais", desconfie de respostas que falem em combinação de unidades, integração com o sistema inteiro ou lentidão. Teste unitário quer enxergar de perto, quase com lupa, e não de longe com telescópio.