2. OLÁ!
Meu nome é Gleica Reinert
Sou Scrum Master na GovernançaBrasil - GOVBR.
linkedin.com/in/gleica
2
3. ● Bacharela em Ciências
Contábeis (FURB)
● MBA em Gestão
Tributária (INPG)
● Pós-Graduanda em
Administração Pública
(Unicesumar)
Entrei na área de Tecnologia em 2012
➔ Analista Suporte/Atendimento
Técnico (1,2 anos)
➔ Analista de Qualidade/Analista
de Testes (5 anos)
➔ Scrum Master (atuando)
3
5. “BDD é sobre implementar
uma aplicação através da
descrição de seu
comportamento pela
perspectiva de seus
stakeholders”.
(Dan North)
5
6. BDD é uma técnica de desenvolvimento ágil que visa
integrar regras de negócios com a linguagem de
programação, focando no comportamento do software.
O intuito é manter uma linguagem estruturada onde todos
os membros do time possam compreender a necessidade
da entrega. Para isso, é utilizado um modelo de escrita,
chamado Gherkin.
6
8. É uma linguagem que foi criada especialmente
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.
8
9. Os cenários representam exemplos concretos que
ilustram restrições de negócio e são constituídos de
uma lista de passos. Além de ser uma especificação
do negócio, o cenário é também um teste
(comportamento).
Em resumo: os cenários são uma especificação
executável do sistema.
9
10. 10
Os cenários são descritos em forma de pré-condições, eventos e
resultados esperados usando a sintaxe: Dado/Quando/Então,
respectivamente.
Título [...]
Dado que (Given) [...]
Quando (When) [...]
Então (Then) [...]
Título [...]
Dado contexto [...]
E [um pouco mais de contexto...]
Quando [eventos]
Então [resultado]
E [outro resultado ...]
11. Funcionalidade: Calculadora
Título: Validar a soma de dois números
Dado que inseri o valor 10 na calculadora e pressionei o botão
de adição (+)
Quando inserir o valor 40 e pressionar o botão igual (=)
Então o número 50 deve ser exibido em tela.
11
12. IMPORTANTE Podem haver múltiplos passos
(combinação quando/então), mas
recomenda-se que o número de ações e
resultados esperados seja mantido entre
3-5 por cenário. Caso tenham um
número acima de 5, eles perdem sua
simplicidade e o seu poder expressivo.
12
17. 17
O objetivo de ter uma ferramenta que execute
a linguagem do BDD/Gherkin é a facilidade de
automatizar os cenários criados, pois esta
tanto irá validar o software quanto fornecer
uma documentação atualizada, técnica e
funcional.
18. 18
Existem várias ferramentas e frameworks que dão
suporte ao BDD, de acordo com sua linguagem de
programação.
➢ SpecFlow
➢ Cucumber
➢ JBehave
➢ Selenium
20. 20
“Use o SpecFlow para definir, gerenciar e executar
automaticamente testes de aceitação legíveis em projetos .NET.
Escrever testes facilmente compreensíveis é uma pedra angular
do paradigma BDD e também ajuda a construir uma
documentação viva do seu sistema.
O SpecFlow é open source e usa o analisador Gherkin oficial. Ele
integra-se ao Visual Studio, mas também pode ser usado a partir
da linha de comando (por exemplo, em um servidor de
compilação).”
Fonte: https://specflow.org/
26. O propósito não é anular as
práticas de TDD, muito pelo
contrário, é adicionar a
elas uma série de outras
vantagens.
26
Documentação
dinâmica
visão do todo
comunicação efetiva
compartilhamento
de conhecimento
29. 29
× SpecFlow (https://specflow.org/)
× "Gherkin" - Comunicação através de um vocabulário pequeno e
comum, diminuindo a distância entre o negócio e a equipe de TI.
× Utilizando BDD para análise de negócio e desenvolvimento de
projetos - Allan Rett Ferreira
× Especificação de Requisitos usando BDD+SpecFlow+Selenium
× BDD - A técnica que facilita entregar software que REALMENTE
atende o negócio