Desenvolvimento orientado ao comportamento (BDD)

Ana Meneses
ViaHubtecnologia
Published in
3 min readJul 22, 2020

Você desenvolve um sistema, um projeto e quando chega nas mãos do cliente, são encontrados erros que jamais passaram pela cabeça do time. Você já passou por isso?

Pois bem, temos uma solução ágil conhecida como Behavior Driven Development (BDD) que pode te ajudar a solucionar esse problema. Um desenvolvimento orientado por comportamento que auxilia na criação de planos e cenários de testes.

Gostaria de compartilhar um pouco da minha experiência em projetos da i9XP com vocês.

Mulher com códigos de programação projetados em seu rosto

Mas, o que é BDD?

É uma metodologia orientada ao comportamento de um sistema. O BDD serve para ter uma visão mais ampla de cenários que podem ocorrer em um projeto e para aproximar todas as partes envolvidas no processo de criação. Isso ocorre devido a sua linguagem fácil de ser entendida. Além disso, é uma técnica que visa integrar regras de negócios com a linguagem de programação, sendo assim podemos criar processos automatizados a partir da estrutura do BDD.

Como é o processo de criação do BDD

Em empresas que seguem metodologias ágeis como o Scrum, normalmente o BDD é feito antes de uma cerimônia chamada Planning, na qual ocorre a apresentação do que foi priorizado para entrar na Sprint (período em que ocorre a criação de algum produto/ projeto). Ele é realizado antes da Planning para que os desenvolvedores iniciem o desenvolvimento do projeto já olhando para o plano de testes que foi elaborado, observando todos os cenários que foram levantados. O objetivo é evitar ao máximo que ocorram erros.

Os cenários são elaborados a partir dos requisitos especificados pelo cliente e pelo P.O. (Product Owner: profissional que tem a visão do que será desenvolvido), sendo assim, é de extrema importância que fique claro o que está sendo pedido para que não haja falha no plano de testes ou deixe passar cenários que podem causar circunstâncias erradas.

Após o BDD ser elaborado, o P.O. confere os cenários levantados para garantir que estão de acordo com o que foi pedido, normalmente são feitas pequenas alterações, mas porque o documento do BDD tem uma linguagem fácil de manusear e entender, acaba se tornando algo simples de alterar.

Quando o BDD é aprovado e o profissional desenvolve o sistema em cima dos cenários levantados e, assim que ele finaliza suas tarefas, o QA (analista de qualidade) e P.O. validam cenário por cenário escrito no BDD de acordo com os requisitos. Isso não impede de serem testados alguns cenários exploratórios, afinal, o QA valida o fluxo, não somente o que foi desenvolvido. O BDD pode ser visto também como uma forma de documentar o comportamento do sistema e não somente auxiliar em evitar erros ou automatizar.

Resumindo, esses são alguns benefícios e boas práticas ao utilizar essa metodologia:

  1. Maior entendimento do requisito;
  2. Menos tempo investido em escrita e/ ou outras técnicas;
  3. Os BDDs são utilizados para automação;
  4. É de fácil “manutenção”;
  5. Melhora o processo de qualidade;
  6. Os cenários devem descrever um comportamento e não um passo a passo;
  7. Qualquer pessoa que ler deve entender o objetivo do que está escrito;
  8. Criação de cenários independentes;
  9. Refinamento dos cenários;
  10. Os cenários são validados pelo P.O.;
  11. Criação de, no mínimo, um cenário válido, um inválido e um nulo, de cada caso.

Estrutura do BDD:

Dado (pré-condição)
Quando (ação executada)
E (adicionar sentenças), pode ser usado após “quando” e/ ou “então”.
Então (resultado esperado)

Alguns exemplos:

Cenário válido: gerar relatório
Dado que tenho acesso a tela do relatório
Quando clico em gerar relatório
Então deve ser exportado um arquivo

Cenário inválido: extensão do arquivo errada (observação: o requisito pede que o arquivo seja gerado em extensão CSV)
Dado que tenho acesso a tela do relatório
Quando clico em gerar relatório
Então é exportado um arquivo XLSX

Cenário nulo: arquivo zerado
Dado que tenho acesso a tela do relatório
Quando clico em gerar relatório
Então é exportado um arquivo sem informações

É possível realizar BDDs de layouts, funcionalidades, APIs, tudo depende da sua criatividade para analisar os requisitos e elaborar os cenários. Sendo assim, conseguimos evitar e solucionar pequenos ou grandes problemas que ocorrem hoje por falta de atenção ou falta de informação na especificação dos requisitos. Por isso, o BDD é envolvido em todas as etapas do processo, garantindo a qualidade do projeto como um todo.

A i9XP utiliza a técnica do BDD em seus projetos para garantir a qualidade das entregas satisfazendo assim as necessidades dos seus clientes.

--

--