Semana da Mulher na Tecnologia_Introducao ao Bdd

769 visualizações

Publicada em

Apresentação sobre BDD, na DBServer, com dinâmica do jogo BDD Warriors.

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
769
No SlideShare
0
A partir de incorporações
0
Número de incorporações
598
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Semana da Mulher na Tecnologia_Introducao ao Bdd

  1. 1. Introdução ao BDD Ana Carolina Hermann anah@dbserver.com.br
  2. 2. Behaviour-Driven Development: Origens • Dan North (“Introducing BDD”, 2003-2006) • A partir de dúvidas que se repetiam sobre TDD... • O que testar • O quanto testar • Como saber o que falhou ... se chegou em uma técnica para implementar uma aplicação através da descrição do seu comportamento do ponto de vista dos stakeholders
  3. 3. Vantagens • Aproximar a área técnica da área de negócios através de • Linguagem ubíqua • Criação colaborativa de cenários • Esclarecer cenários complexos de forma sucinta através de exemplos • Fornecer um guia de testes para o desenvolvedor • Eliminar documentação desnecessária
  4. 4. Vantagens • Automação de cenários com Cucumber/SpecFlow/Jbehave • Testes de regressão • Rastreabilidade • Documentação viva • Testes quebram ao alterar a documentação • Reutilização na criação de cenários
  5. 5. Lições Aprendidas • Colaboração! • Treinar a equipe • Alinhamento para entender Automação • O quanto testar • Ordem de eventos, etc. • Depois que você sai do básico, não existe padrão • Melhoria contínua!
  6. 6. BDD – Estrutura Básica 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 Quando ...  Evento que estou testando Então... deve...  Resultado esperado
  7. 7. Exemplo Funcionalidade: Controle de acesso Eu, como uma general rebelde, Quero ocultar os planos da rebelião Para que eles não caiam em mãos erradas Cenário: Planos devem estar protegidos por senha Dado que R2D2 tem os planos da rebelião Quando alguém tentar acessá-los Então R2D2 deve pedir a senha de acesso
  8. 8. BDD – Contexto e Parâmetros Contexto: Dado que R2D2 tem os planos da rebelião E que um usuário está tentando acessá-los Cenário: Usuários autorizados devem acessar os planos Dado que R2D2 solicitou a senha de acesso Quando a senha correta for informada Então R2D2 deve responder "Beep! Beep!" E deve apresentar o holograma com os planos Cenário: Usuários não autorizados devem ser punidos Dado que R2D2 solicitou a senha de acesso Quando a senha incorreta for informada Então R2D2 deve responder "Beep beep! Beeeeeep! Beep!" E deve acertar o usuário com um choque de "0.001" amp E não deve apresentar o holograma com os planos
  9. 9. BDD – Múltiplos testes com um cenário Contexto: Dado que R2D2 tem os planos da rebelião Esquema de Cenário: Usuários não autorizados devem ser punidos Dado que um usuário do <TIPO> quer acessar os planos E que a senha de acesso foi solicitada Quando a senha incorreta for informada Então R2D2 deve responder <MENSAGEM> E deve acertar o usuário com um choque de <QTD> amp Exemplos: | TIPO | QTD | MENSAGEM | | Contrabandista | 0.01 | Beep | | Stormtrooper | 0.1 | Beep Beeeep | | Lorde dos Sith | 0.2 | BEEEP BEEEP BEEP BEEEEP |
  10. 10. BDD Warriors - Cartas de cláusulas Jogadora 1 Jogadora 2 1 pt Então ____________ Jogadora 3
  11. 11. BDD Warriors - Cartas de cláusulas 1 pt Dado um ____________ Jogadora 1 Jogadora 2 1 pt Então ____________ Jogadora 3
  12. 12. BDD Warriors - Cartas de cláusulas 1 pt Dado um ____________ Jogadora 1 1 pt Quando ____________ Jogadora 2 1 pt Então ____________ Jogadora 3 Placar: 1 pt (carta) 1 pt (carta) + 2 pts (cenário) 1 pt (carta)
  13. 13. BDD Warriors – Cartas especiais 3 pt ____ tubarão ____________ Cartas Coringas: Somente pode ser jogada para fechar um cenário! Trocar uma carta com alguém Cartas de ação Leia as instruções na carta

×