Questão de Engenharia de Software — Metodologia de desenvolvimento de software — FEPESE 2026
Engenharia de SoftwareMetodologia de desenvolvimento de software
- Código
- qg675801
- Banca
- FEPESE
- Órgão
- CIDASC
- Ano
- 2026
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação e Comunicação (Sistemas e Negócios)
TDD (Test-Driven Development) e BDD (Behavior-Driven Development) são abordagens de desenvolvimento que integram os testes no ciclo de vida do software.Assinale a alternativa que indica corretamente a principal diferença entre TDD e BDD.
- AO TDD caracteriza-se por ser uma abordagem aplicada prioritariamente ao desenvolvimento da camada de apresentação, concentrando-se na validação de componentes visuais e fluxos de interface, ao passo que o BDD é direcionado exclusivamente à camada de serviços e regras de negócio, não sendo recomendado para validações relacionadas à experiência do usuário.
- BO TDD foca em escrever testes unitários antes do código de produção para guiar o desenvolvimento da funcionalidade, enquanto o BDD foca em descrever o comportamento esperado do sistema a partir da perspectiva do usuário, utilizando uma linguagem natural e ubíqua.
- CNa abordagem TDD, os testes são definidos e executados de forma manual e posterior à implementação do código-fonte, com o objetivo de verificar a correção das funcionalidades desenvolvidas, enquanto o BDD exige a definição antecipada de testes automatizados, executados continuamente ao longo do ciclo de desenvolvimento.
- DDiferentemente do BDD, o TDD não estabelece a obrigatoriedade de criação de testes antes da implementação do código, sendo utilizado principalmente como mecanismo de validação após o desenvolvimento das funcionalidades, ao passo que o BDD impõe, de forma rígida, a escrita prévia de todos os testes antes do início da codificação.
- EO TDD tem como foco predominante a elaboração de testes de integração e de sistema, buscando validar a interação entre diferentes módulos da aplicação, enquanto o BDD se limita à criação de testes unitários, voltados à verificação de métodos e classes de forma isolada.