O que é BDD? Qual a origem?

O que é esse tal de BDD? Qual a origem?

Diagrama

Descrição gerada automaticamente

Figura 1: Demonstração ilustrativa do Processo do BDD. Fonte: Silva (2014).

O BDD surgiu em 2003 quando Dan North , como uma resposta a um problema que foi presenciado por ele enquanto dava uma aula e utilizava práticas ágeis como o Test Driven Development — TDD, Desenvolvimento Orientado a Testes, presenciou um mal entendido na comunicação.

Surgindo a partir daí o Desenvolvimento Orientado a Comportamento (BDD - Behavior-Driven Development) que é uma abordagem de desenvolvimento de software que visa melhorar a comunicação entre membros da equipe, como Product Owner, desenvolvedores, testadores e stakeholders (partes interessadas), para garantir que todos compartilhem uma compreensão clara dos requisitos do software.

A ideia central do BDD é criar uma linguagem comum que permita que todos os membros da equipe, independentemente de seus papéis, tenham uma compreensão clara do que está sendo desenvolvido. Em vez de focar exclusivamente nos testes, o BDD concentra-se nos comportamentos e na comunicação. O BDD se concentra em entender o comportamento do sistema a ser desenvolvido e nas funcionalidades esperadas antes de escrever o código.

O BDD utiliza uma linguagem comum e acessível para descrever o comportamento do sistema e suas funcionalidades. Essa linguagem geralmente é expressa em um formato chamado "Given-When-Then" (Dado-Quando-Então). É uma linguagem natural simplificada com palavras-chave específicas. Os cenários são escritos em formato de sentença, descrevendo o contexto (Dado), ação (Quando) e resultado esperado (Então).

Aqui está um exemplo simples de um cenário BDD:

Tela preta com letras brancas

Descrição gerada automaticamente

Figura 3. Imagem ilustrativa da Feature (Funcionalidade) realizando Cadastro de Usuário, sendo informado dados de login válidos.

O BDD incentiva a colaboração entre desenvolvedores, testadores e outros membros da equipe antes do início do desenvolvimento. Todos se reúnem para discutir e elaborar os cenários BDD, garantindo que todos tenham uma compreensão compartilhada dos requisitos e do comportamento esperado do sistema.

Esses cenários BDD, após serem criados, podem ser usados como base para criar testes automatizados que garantem que o software está se comportando conforme o esperado. Assim, o BDD também se integra ao Desenvolvimento Orientado a Testes (TDD - Test-Driven Development), onde os testes são escritos antes da implementação do código.

Os benefícios do BDD

1. Melhora a comunicação: Torna os requisitos mais claros e compreensíveis para todos os membros da equipe, incluindo stakeholders não técnicos.

2. Foco no comportamento: O BDD coloca ênfase na funcionalidade e no comportamento do software, ajudando a evitar implementações desnecessárias.

3. Redução de retrabalho: Ao ter uma compreensão compartilhada dos requisitos, os erros podem ser identificados precocemente e evitados, reduzindo o retrabalho no desenvolvimento.

4. Testes automatizados: Os cenários BDD podem ser usados para criar testes automatizados, garantindo que o software atenda aos requisitos.

5. Melhoria da qualidade: Com maior clareza nos requisitos e maior foco no comportamento, a qualidade do software tende a melhorar.

Conclusão

É importante destacar que o BDD não é uma solução milagrosa para todos os problemas de desenvolvimento de software. Seu sucesso depende da dedicação da equipe em adotar a prática da colaboração entre os membros e da correta aplicação dos conceitos e técnicas envolvidos.

Em geral, a utilização do BDD pode levar a melhores resultados no desenvolvimento de software, criando um ambiente mais colaborativo, requisitos mais claros e códigos mais confiáveis, o que, por sua vez, pode levar a um produto final mais bem-sucedido e a satisfação do cliente.

Referência Bibliográfica

ANDERLE, Angelita. Introdução de BDD (Behavior Driven Development) como

Melhoria de Processo no Desenvolvimento Ágil de Software. UNISINOS. São

Leopoldo. 2015.

ROCHA, G. Fabio. Scrum e BDD: o casamento perfeito. 2013. Disponível em:

<http://www.devmedia.com.br/scrum-e-bdd-o-casamento-perfeito/28174> Acesso

em 18 jul. 202023.

SOMMERVILLE, I. Software Engineering. [S.l.]: Addison Wesley Professional, 2007.

GIL, Antonio Carlos. Métodos e Técnicas de Pesquisa Social. 4.ed. São Paulo:

Atlas, 1994.