O que é BDD? Conheça essa técnica de desenvolvimento ágil

Eteg > Blog > Automatização de processos > O que é BDD? Conheça essa técnica de desenvolvimento ágil

O que é BDD? Conheça essa técnica de desenvolvimento ágil

Reagir

BDD (Behavior Driven Development) é uma técnica utilizada para integrar regras de negócios e linguagem de programação, caracterizando-se por um vocabulário bem específico e pequeno, que minimiza as dificuldades de comunicação e possibilita todos os membros do time utilizarem uma mesma linguagem para realizar o trabalho.

O BDD vem sendo cada vez mais utilizado por permitir:

  1. Que negócio e tecnologia se refiram a funcionalidades do software de uma só forma;
  2. A visualização do valor de cada funcionalidade do software para o negócio;
  3. Analisar, projetar e planejar tudo de cima a baixo sem retorno decrescente;
  4. Compartilhamento de conhecimento entre analistas, desenvolvedores e testers;
  5. Promover uma documentação dinâmica do software sem qualquer esforço a mais.

 Com a utilização dos BDD’s, é possível unir diversas práticas ágeis para um desenvolvimento qualitativo, sugerindo que analistas/testadores escrevam os cenários antes mesmo que a implementação aconteça, possibilitando assim, que os desenvolvedores tenham uma visão geral do projeto antes de codificá-lo. 

O BDD durante o Teste do Software

Na metodologia do  BDD o analista de testes consegue planejar e criar os seus testes antes mesmo do desenvolvimento ser iniciado, assim, quebramos o paradigma de que o BDD seria aplicado como uma camada durante o desenvolvimento e passamos a vê-lo como um processo completo durante todo o projeto.

Escrevendo seu teste funcional utilizando BDD

O planejamento e a escrita dos seus testes funcionais com a semântica do BDD é uma atividade importante, pois é a partir dessa etapa que você irá criar uma documentação viva que será utilizada por todos os membros do seu time.

Qual é a semântica do BDD?

Para criar cenários de teste utilizando BDD usaremos as palavras chaves:

  • Dado (Given);
  • Quando (When);
  • Então (Then).

Veja como estas palavras chaves devem ser utilizadas:

  • Dado: Define as pré-condições verdadeiras para executar o seu teste
  • Quando: Define a ação que será executada
  • Então: Seguindo a ação descrita no QUANDO define o resultado esperado para o seu teste
  • E: adiciona uma sentença positiva no Dado, no Quando ou no Então. 

 

Ferramentas e as extensões usadas para a escrita do BDD

BDD (Behaviour Driven Development) se tornou uma disciplina fundamental para incrementar a testabilidade de software.  As boas práticas de TDD (Test Driven Development) ensinam que um método como este deveria ser implementado e evoluído ao longo do teste e o DDD (Domain Driven Development) a um novo patamar, permitindo especificar a inteligência de negócio no código. Vai em linha com a ideia de testar antes da aplicação ficar pronta. 

JBehave é um framework de testes para BDD. A filosofia que levou a sua criação é a mesma que originou o desenvolvimento orientado por comportamento, ou seja, facilitar a comunicação dos requisitos de negócio entre as partes interessadas e a equipe de desenvolvimento, e permitir que estes comportamentos sejam verificados de forma automática através de integração contínua. 

O Cucumber é a ferramenta que torna possível especificar o comportamento esperado do software durante a codificação e posteriormente usar esses cenários de testes para averiguar o comportamento obtido. Entregar um aplicativo com inteligência de testes embutida no código aporta valor principalmente em testes regressivos e de aceite.

Ter estas ferramentas à disposição já é um bom norte para os stakeholders que pretendem adotar a automação de testes em seus projetos digitais.

Algumas empresas não utilizam essa metodologia, de documentar o sistema, pois a manutenção destes artefatos é custosa. Mas a Eteg com uma visão criteriosa, analisando em detalhes o melhor cenário, pretende começar a utilizar os frameworks de BDD, pois estes artefatos são gerados dinamicamente sem nenhum esforço adicional. Alguns, inclusive, geram relatórios em formato HTML, o que irá facilitar uma consulta posterior.

Se você tiver alguma dúvida a respeito dessa metodologia, deixa nos comentários que tentaremos esclarecer.

E caso queira, saber mais sobre testes de softwares, veja este conteúdo que aborda outros tipos de testes: https://www.eteg.com.br/tipos-de-testes-de-software/

Escrito por Ludmila Gonzaga

Usamos cookies para tornar melhor a sua navegação. Os cookies ajudam a fornecer uma experiência mais personalizada através do armazenamento dos seus dados temporariamente e análises da web para nós. Ao usar nossos serviços você concorda com este monitoramento.    Mais informação
Privacidad