O Desenvolvimento Orientado por Comportamento (BDD) – no contexto de desenvolvimento de software, trata-se de:
- A)Abordagem que se concentra, exclusivamente, na programação orientada a objetos e na criação de classes.
Errada, porque BDD não se concentra exclusivamente em programação orientada a objetos nem na criação de classes.
- B)Abordagem que se concentra, exclusivamente, na escrita de código sem considerar os requisitos do usuário.
Errada, porque BDD não ignora requisitos do usuário; ao contrário, parte justamente deles.
- C)Processo de desenvolvimento que ignora completamente os comportamentos do usuário e se concentra apenas na lógica interna do software.
Errada, porque BDD valoriza o comportamento do usuário e não apenas a lógica interna do software.
- D)Prática que se concentra na definição de comportamentos específicos do software do ponto de vista do usuário, na forma de cenários, e na escrita de testes automatizados baseados nesses cenários.
Certa, pois BDD define comportamentos do software em cenários e usa esses cenários como base para testes automatizados.
Gabarito: D
BDD, ou Desenvolvimento Orientado por Comportamento, é uma forma de desenvolver software que começa pelo que o sistema deve fazer na prática, do ponto de vista de quem vai usar. Em vez de pensar primeiro em classes, tabelas ou detalhes internos, você descreve comportamentos esperados em cenários claros, quase como uma conversa: dado um contexto, quando algo acontece, então o resultado esperado deve ser tal. A grande sacada do BDD é aproximar negócio, testes e desenvolvimento. Os cenários costumam ser escritos em linguagem mais próxima do usuário e depois viram testes automatizados. Isso ajuda a reduzir mal-entendidos e faz o time validar se o software realmente entrega valor, e não só se o código “compila bonitinho”. Por isso o gabarito está na letra D: ela descreve exatamente a prática de definir comportamentos específicos do software do ponto de vista do usuário, em forma de cenários, e criar testes automatizados a partir deles. Essa é a essência do BDD, muito associado à ideia de especificação por exemplos, difundida na doutrina de engenharia de software ágil. Em resumo, BDD não é foco exclusivo em código, nem em orientação a objetos, nem em lógica interna isolada. Ele olha para o comportamento esperado do sistema e transforma isso em algo testável e comunicável para o time todo.