Bruno Batista
Aug 22, 2017 · 3 min read

Da Série: 1 — Aprenda Cucumber com Batista.

Neste post irei falar de um do frameworks mais conhecidos quando o assunto e BDD(Behaviour-Driven-Development ou Desenvolvimento Guiado por Comportamento). Que vem sendo muito utilizado atualmente, principalmente pela galerinha que faz testes automatizados.

Batista o que é BDD?

Introdução ao BDD.

O BDD foi concebido por Dan North, a partir de uma insatisfação com a falta de informações dos testes de TDD (“Test driven development”). Dan queria saber mais sobre o que deveria ser testado e como esse teste deveria ser realizado. A ideia principal do BDD é possibilitar que as funcionalidades do sistema sejam escritas em linguagem natural.

O BDD é uma abordagem que serve para integrar os testes com as regras de negócios e também com a linguagem de programação focando no comportamento do software usando uma linguagem ubíqua (Ubiquitous Language). Assim melhorando a comunicação com as equipes.

Linguagem Ubíqua: é uma linguagem estruturada em torno do modelo de domínio e usada por todos os membros da equipe para conectar todas as suas atividades com o software. Numa equipe de desenvolvedores são: os jargões técnicos, terminologias das discussões do dia-a-dia ou uma linguagem incomum para pessoas de outros departamentos.

O BDD usa várias linguagens mas nesse post iremos da foco em uma linguagem chamada Gherkin é uma linguagem que foi criada para descrições de comportamento, ela tem a capacidade de remover detalhes da lógica de programação e focar no comportamento que uma funcionalidade deve ter. Ela suporta várias linguagens. Veja abaixo um exemplo de uma funcionalidade na linguagem gherkin.

Exemplo:

#Language: pt-br <é usado par que a linguagem gherkin identifique o idioma português >

Funcionalidade <é onde faz a descrição da funcionalidade>

Como um <usuário/ator>

Eu quero <meta a ser alcançada>

De modo que <a razão para alcançar a meta>

Cenário: <onde e feita a descrição do teste>

Dado <um estado conhecido>

Quando<um determinado evento ocorre>

Então <isso deve ocorrer>

A linguagem Gherkin é independente da linguagem pode fazer em java ,ruby , python etc. Basta colocar um .feature no nome do arquivo.

Ex: fazerLogin.feature

Vantagens

  1. Maior entendimento do requisito proposto.
  2. Menos tempo investido em escrita de casos de testes.
  3. Mais tempo investido em análise de cobertura de testes.
  4. Estes testes podem ser utilizados por desenvolvedores na automatização.
  5. Fácil manutenção de templates.

Até o próximo post ,irei falar mais detalhes sobre cucumber.

Referências:

https://github.com/cucumber/cucumber

)

Bruno Batista

Written by

QA Automation Engineer na AppProva

automação com batista

Posts relacionados a automação

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade