SlideShare uma empresa Scribd logo
1 de 14
Ana Carolina Hermann
anah@dbserver.com.br
 Técnica para implementar uma aplicação através da
descrição do seu comportamento do ponto de vista dos
stakeholders
 Iniciou a partir do TDD: como saber o que testar?
 Evolução: foco na comunicação entre as pessoas
 Usos:
 Análise: levantamento de requisitos
 Desenvolvimento: guia de implementação
 Testes: automação/testes de regressão
Funcionalidade: <Título>
Eu, como um <papel>,
Quero <funcionalidade>
Para que <benefício>
Cenário: <Título do Cenário>
Dado que...  Setup do cenário
E que ....
Quando ...  Evento que estou descrevendo
Então... deve...  Resultado(s) esperado(s)
E... deve...
Funcionalidade: US001_Cobrança
Eu, como funcionário do setor Financeiro,
Quero gerar a cobrança anual
Para que possamos receber o valor devido
Critérios de aceitação:
O sistema deve gerar parcelas a partir do valor para o ano
atual
Deve ser possível realizar desconto por categoria
Contexto:
Dado que o valor anual para 2016 é 100,00
Cenário: US001_Deve gerar cobranças
Dado um cliente com categoria “Efetivo”
Quando gerar a cobrança anual
Então devem ser criadas as seguintes parcelas a pagar
| Valor | Exercício |
| 50,00| Jan/2016 |
| 50,00| Jul/2016 |
Cenário: US001_Deve gerar cobrança com desconto
Dado um cliente com categoria “Aposentado”
E a categoria “Aposentado” tem desconto de 90,00
Quando gerar a cobrança anual
Então devem ser criadas as seguintes parcelas a pagar
| Valor | Exercício |
| 10,00| Jan/2016 |
 Aproximar a área técnica da área de negócios através de
• Linguagem ubíqua
• Criação colaborativa de cenários: Três amigos, Example Mapping
• Entendimento compartilhado
 Esclarecer cenários complexos de forma sucinta através de
exemplos
 Fornecer um guia de testes para o desenvolvedor
 Documentação viva com uso de automação
▪ Testes quebram ao alterar a especificação
▪ Especificação quebra ao alterar a aplicação
 Jogo de cartas print&play disponível em
https://bddwarriors.wordpress.com/
 Objetivos:
 Ajudar na popularização do BDD
 Fixar a estrutura básica da sintaxe
 Prevenir o apocalipse zumbi
 Demonstrar a construção conjunta de cenários
 Dois a seis jogadores
 Cada um recebe cinco cartas e uma pilha de fichas
para identificação
 Quem viu filme de Ficção Científica, Fantasia ou
Terror mais recentemente começa o jogo
Abilio
Gabriel
Ana
1 pt
Então ____ deve se transformar em ______
(Jogador pode começar por qualquer cláusula)
Abilio
Gabriel
Ana
1 pt
Então ____ deve se transformar em ______
2 pts
Quando ____________
(Jogador pode continuar o cenário ou criar um novo)
Abilio
Gabriel
Ana
1 pt
Então ____ deve se transformar em ______
1 pt
Dado um vampiro ____________
2 pts
Quando ____________
(Jogador deve ler o cenário
completando os espaços)
Abilio
Gabriel
Ana
1 pt
Então ____ deve se transformar em ______
1 pt
Dado um vampiro ____________
2 pts
Quando ____________
Abilio:
1 ponto (carta) +
2 pontos (completar cenário)
Gabriel:
2 pontos (carta)
Ana:
1 ponto (carta)
3 pts
____ sorvete ____________
Cartas Coringa:
Somente pode ser jogada ao
completar um cenário!
Cenário: Comprar duas cartas
Dado que é a sua vez
Quando jogar essa carta
Então compre duas cartas e descarte qualquer
uma carta da sua mão
Cartas de Ação:
Siga as instruções na carta
 https://github.com/abiliogp/bddBancoExemplo/
 https://sukesh15.gitbooks.io/cucumber-jvm-test-framework-
/content/index.html
 Dúvidas?
 Abilio Gambim Parada - abiliop@dbserver.com.br
 Gabriel Moreira Carlos - gabrielc@dbserver.com.br

Mais conteúdo relacionado

Semelhante a BDD Banco: Exemplo de especificação de requisitos com Gherkin

TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alem
TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alemTDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alem
TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alemtdc-globalcode
 
QArentena 21: BDD - com Fábio Araújo
QArentena 21: BDD - com Fábio AraújoQArentena 21: BDD - com Fábio Araújo
QArentena 21: BDD - com Fábio AraújoJosé Correia
 
EDTED Aprenda, ensine e melhores os resultados com seus clientes. Requisito d...
EDTED Aprenda, ensine e melhores os resultados com seus clientes. Requisito d...EDTED Aprenda, ensine e melhores os resultados com seus clientes. Requisito d...
EDTED Aprenda, ensine e melhores os resultados com seus clientes. Requisito d...Fabiano Milani
 
Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...
  Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...  Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...
Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...Diana Corrêa, CSPO / CSM
 
Chat GPT para Pessoas de Produto.pptx
Chat GPT para Pessoas de Produto.pptxChat GPT para Pessoas de Produto.pptx
Chat GPT para Pessoas de Produto.pptxAnderson Diniz Hummel
 
Behaviour driven development, com jbehave
Behaviour driven development, com jbehaveBehaviour driven development, com jbehave
Behaviour driven development, com jbehaveMarcelo Zeferino
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
TheDevConf 2016 - Análise efetiva de microservices em 3 passos
TheDevConf 2016 - Análise efetiva de microservices em 3 passosTheDevConf 2016 - Análise efetiva de microservices em 3 passos
TheDevConf 2016 - Análise efetiva de microservices em 3 passosTaise Dias da Silva
 
Atividades - Palestra de Vendas
Atividades - Palestra de VendasAtividades - Palestra de Vendas
Atividades - Palestra de VendasLuis Sciena
 
7 Estratégias Matadoras de Vendas para o Século XXI
7 Estratégias Matadoras de Vendas para o Século XXI7 Estratégias Matadoras de Vendas para o Século XXI
7 Estratégias Matadoras de Vendas para o Século XXIConrado Webliv
 
Slides-NPS-Net-Promoter-Score-Toolkit.pptx
Slides-NPS-Net-Promoter-Score-Toolkit.pptxSlides-NPS-Net-Promoter-Score-Toolkit.pptx
Slides-NPS-Net-Promoter-Score-Toolkit.pptxWendson Santos Fonseca
 
TDC2016SP - Trilha UX Design
TDC2016SP - Trilha UX DesignTDC2016SP - Trilha UX Design
TDC2016SP - Trilha UX Designtdc-globalcode
 
Projeto final v2 - Módulo Gerencial - Sistema de Recomendação
Projeto final v2 - Módulo Gerencial - Sistema de RecomendaçãoProjeto final v2 - Módulo Gerencial - Sistema de Recomendação
Projeto final v2 - Módulo Gerencial - Sistema de RecomendaçãoEdileusa Estéfani Prado
 
O Raio-X de um Projeto Ágil: Erros e Acertos no Desenvolvimento de uma Plataf...
O Raio-X de um Projeto Ágil: Erros e Acertos no Desenvolvimento de uma Plataf...O Raio-X de um Projeto Ágil: Erros e Acertos no Desenvolvimento de uma Plataf...
O Raio-X de um Projeto Ágil: Erros e Acertos no Desenvolvimento de uma Plataf...Rodrigo Veiga
 

Semelhante a BDD Banco: Exemplo de especificação de requisitos com Gherkin (20)

TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alem
TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alemTDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alem
TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alem
 
QArentena 21: BDD - com Fábio Araújo
QArentena 21: BDD - com Fábio AraújoQArentena 21: BDD - com Fábio Araújo
QArentena 21: BDD - com Fábio Araújo
 
Back Log User Stories
Back Log User StoriesBack Log User Stories
Back Log User Stories
 
20090528 Bpg Ii
20090528 Bpg Ii20090528 Bpg Ii
20090528 Bpg Ii
 
EDTED Aprenda, ensine e melhores os resultados com seus clientes. Requisito d...
EDTED Aprenda, ensine e melhores os resultados com seus clientes. Requisito d...EDTED Aprenda, ensine e melhores os resultados com seus clientes. Requisito d...
EDTED Aprenda, ensine e melhores os resultados com seus clientes. Requisito d...
 
Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...
  Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...  Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...
Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...
 
Chat GPT para Pessoas de Produto.pptx
Chat GPT para Pessoas de Produto.pptxChat GPT para Pessoas de Produto.pptx
Chat GPT para Pessoas de Produto.pptx
 
Behaviour driven development, com jbehave
Behaviour driven development, com jbehaveBehaviour driven development, com jbehave
Behaviour driven development, com jbehave
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TheDevConf 2016 - Análise efetiva de microservices em 3 passos
TheDevConf 2016 - Análise efetiva de microservices em 3 passosTheDevConf 2016 - Análise efetiva de microservices em 3 passos
TheDevConf 2016 - Análise efetiva de microservices em 3 passos
 
Atividades - Palestra de Vendas
Atividades - Palestra de VendasAtividades - Palestra de Vendas
Atividades - Palestra de Vendas
 
7 Estratégias Matadoras de Vendas para o Século XXI
7 Estratégias Matadoras de Vendas para o Século XXI7 Estratégias Matadoras de Vendas para o Século XXI
7 Estratégias Matadoras de Vendas para o Século XXI
 
User Stories -
User Stories - User Stories -
User Stories -
 
Slides-NPS-Net-Promoter-Score-Toolkit.pptx
Slides-NPS-Net-Promoter-Score-Toolkit.pptxSlides-NPS-Net-Promoter-Score-Toolkit.pptx
Slides-NPS-Net-Promoter-Score-Toolkit.pptx
 
TDC2016SP - Trilha UX Design
TDC2016SP - Trilha UX DesignTDC2016SP - Trilha UX Design
TDC2016SP - Trilha UX Design
 
Chip livre
Chip livreChip livre
Chip livre
 
Arvore de decisao na gestao de projetos quando como e porque utilizar
Arvore de decisao na gestao de projetos   quando como e porque utilizarArvore de decisao na gestao de projetos   quando como e porque utilizar
Arvore de decisao na gestao de projetos quando como e porque utilizar
 
Carreira de TIi
Carreira de TIiCarreira de TIi
Carreira de TIi
 
Projeto final v2 - Módulo Gerencial - Sistema de Recomendação
Projeto final v2 - Módulo Gerencial - Sistema de RecomendaçãoProjeto final v2 - Módulo Gerencial - Sistema de Recomendação
Projeto final v2 - Módulo Gerencial - Sistema de Recomendação
 
O Raio-X de um Projeto Ágil: Erros e Acertos no Desenvolvimento de uma Plataf...
O Raio-X de um Projeto Ágil: Erros e Acertos no Desenvolvimento de uma Plataf...O Raio-X de um Projeto Ágil: Erros e Acertos no Desenvolvimento de uma Plataf...
O Raio-X de um Projeto Ágil: Erros e Acertos no Desenvolvimento de uma Plataf...
 

BDD Banco: Exemplo de especificação de requisitos com Gherkin

  • 2.  Técnica para implementar uma aplicação através da descrição do seu comportamento do ponto de vista dos stakeholders  Iniciou a partir do TDD: como saber o que testar?  Evolução: foco na comunicação entre as pessoas  Usos:  Análise: levantamento de requisitos  Desenvolvimento: guia de implementação  Testes: automação/testes de regressão
  • 3. Funcionalidade: <Título> Eu, como um <papel>, Quero <funcionalidade> Para que <benefício> Cenário: <Título do Cenário> Dado que...  Setup do cenário E que .... Quando ...  Evento que estou descrevendo Então... deve...  Resultado(s) esperado(s) E... deve...
  • 4. Funcionalidade: US001_Cobrança Eu, como funcionário do setor Financeiro, Quero gerar a cobrança anual Para que possamos receber o valor devido Critérios de aceitação: O sistema deve gerar parcelas a partir do valor para o ano atual Deve ser possível realizar desconto por categoria
  • 5. Contexto: Dado que o valor anual para 2016 é 100,00 Cenário: US001_Deve gerar cobranças Dado um cliente com categoria “Efetivo” Quando gerar a cobrança anual Então devem ser criadas as seguintes parcelas a pagar | Valor | Exercício | | 50,00| Jan/2016 | | 50,00| Jul/2016 | Cenário: US001_Deve gerar cobrança com desconto Dado um cliente com categoria “Aposentado” E a categoria “Aposentado” tem desconto de 90,00 Quando gerar a cobrança anual Então devem ser criadas as seguintes parcelas a pagar | Valor | Exercício | | 10,00| Jan/2016 |
  • 6.  Aproximar a área técnica da área de negócios através de • Linguagem ubíqua • Criação colaborativa de cenários: Três amigos, Example Mapping • Entendimento compartilhado  Esclarecer cenários complexos de forma sucinta através de exemplos  Fornecer um guia de testes para o desenvolvedor  Documentação viva com uso de automação ▪ Testes quebram ao alterar a especificação ▪ Especificação quebra ao alterar a aplicação
  • 7.  Jogo de cartas print&play disponível em https://bddwarriors.wordpress.com/  Objetivos:  Ajudar na popularização do BDD  Fixar a estrutura básica da sintaxe  Prevenir o apocalipse zumbi  Demonstrar a construção conjunta de cenários
  • 8.  Dois a seis jogadores  Cada um recebe cinco cartas e uma pilha de fichas para identificação  Quem viu filme de Ficção Científica, Fantasia ou Terror mais recentemente começa o jogo
  • 9. Abilio Gabriel Ana 1 pt Então ____ deve se transformar em ______ (Jogador pode começar por qualquer cláusula)
  • 10. Abilio Gabriel Ana 1 pt Então ____ deve se transformar em ______ 2 pts Quando ____________ (Jogador pode continuar o cenário ou criar um novo)
  • 11. Abilio Gabriel Ana 1 pt Então ____ deve se transformar em ______ 1 pt Dado um vampiro ____________ 2 pts Quando ____________ (Jogador deve ler o cenário completando os espaços)
  • 12. Abilio Gabriel Ana 1 pt Então ____ deve se transformar em ______ 1 pt Dado um vampiro ____________ 2 pts Quando ____________ Abilio: 1 ponto (carta) + 2 pontos (completar cenário) Gabriel: 2 pontos (carta) Ana: 1 ponto (carta)
  • 13. 3 pts ____ sorvete ____________ Cartas Coringa: Somente pode ser jogada ao completar um cenário! Cenário: Comprar duas cartas Dado que é a sua vez Quando jogar essa carta Então compre duas cartas e descarte qualquer uma carta da sua mão Cartas de Ação: Siga as instruções na carta
  • 14.  https://github.com/abiliogp/bddBancoExemplo/  https://sukesh15.gitbooks.io/cucumber-jvm-test-framework- /content/index.html  Dúvidas?  Abilio Gambim Parada - abiliop@dbserver.com.br  Gabriel Moreira Carlos - gabrielc@dbserver.com.br