No contexto da Engenharia de Software, os testes de software desempenham um papel consideravelmente importante no âmbito do processo de desenvolvimento. Nesse contexto, os testes de unidade caracterizam-se por
- A)dependerem do sucesso do teste de integração descendente (top-down).
Errada, porque teste de unidade nao depende do sucesso do teste de integracao top-down; sao niveis diferentes e independentes de verificacao.
- B)representarem validações em componentes que representam programas independentes.
Errada, porque validar componentes como programas independentes descreve mais a ideia de um componente isolado, mas a formulacao nao define com precisao o teste de unidade como a menor unidade testavel.
- C)serem responsáveis pela verificação na menor unidade do componente ou módulo de software.
Certa, porque teste de unidade verifica a menor unidade do codigo, como funcao, metodo ou modulo, de forma isolada.
- D)substituírem paulatinamente a abordagem de teste por fumaça na verificação do software.
Errada, porque teste de fumaça e uma verificação superficial inicial do sistema, nao algo que seja substituido por testes de unidade.
- E)utilizarem como metodologia de base a abordagem de testes de regressão.
Errada, porque teste de regressao serve para checar se alteracoes nao quebraram funcionalidades existentes, e nao e a metodologia base dos testes de unidade.
Gabarito: C
Os testes de unidade sao o primeiro pente-fino do software. A ideia e verificar se cada menor parte testavel do sistema, como uma funcao, metodo ou modulo isolado, funciona sozinha, sem depender do restante da aplicacao. Por isso, eles ajudam a encontrar erros cedo, quando corrigir ainda e mais barato e menos traumático para o projeto. Na pratica, voce quer testar a menor unidade com isolamento, muitas vezes usando mocks ou stubs para simular dependencias. Assim, o foco fica no comportamento daquele pedacinho de codigo, e nao na comunicacao entre componentes, que e papel de outros niveis de teste. E aqui esta o ponto da questao: teste de unidade verifica a menor unidade do componente ou modulo de software. Essa e exatamente a descricao da alternativa C. As outras alternativas misturam o conceito com teste de integracao, teste de fumaça ou regressao, que sao fases e objetivos diferentes. Em concursos, a banca costuma cobrar essa separacao classica: unidade testa parte pequena e isolada; integracao testa a conversa entre partes; sistema valida o conjunto; regressao confere se mudancas nao estragaram o que ja funcionava. Decorou essa trilha, voce ja ganha boa parte dessas questoes sem sofrimento.