Specification By Example - BluDotNet

1,539 views

Published on

Palestra que ministrei no BluDotNet em 06/04/2013 sobre specification by example

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,539
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Specification By Example - BluDotNet

  1. 1. Acceptance Test-Driven Development (ATDD) Behavior-Driven Development (BDD) Specification by Example (SBE) @rmueller
  2. 2. Software sem bugs não é suficiente,é preciso escrever o software certo. Construir sem defeitos Fracasso Sucesso Comercial Produto Certo Lixo Pesadelo
  3. 3. ATDD “The first rule of any technology used in a business is that automation applied to anefficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency.” Bill Gates
  4. 4. ATDD• Transformar user stories em testes• TDD em um nível mais alto
  5. 5. BDD“a second-generation, outside-in, pull-based, multiple-stakeholder, multiple-scale, high-automation, agile methodology” Dan North, 2009
  6. 6. BDD• Maior foco no cliente• Preocupação maior com entrega de valor• Descoberta de novas informações
  7. 7. SBE• Foca nos exemplos• Busca a colaboração• Busca a descoberta• Não tem a carga de má interpretações• Fornece uma documentação viva• Amigável para não técnicos
  8. 8. Derivar escopo dos objetivos
  9. 9. Especifique em colaboração
  10. 10. Ilustre utilizando exemplos
  11. 11. Refine a especificação
  12. 12. Refine a especificação• Precisa e testável• Especificação não é script• Auto explicativa• Escrita na linguagem do domínio
  13. 13. Automatize
  14. 14. Automatize• Trate código de teste com muito cuidado• Automatize em diferentes níveis• Investimento inicial alto• Feedback imediato, documentação viva e testes de regressão• Automatize sem alterar as especificações
  15. 15. Automatize
  16. 16. Valide com frequência
  17. 17. Construa uma documentação
  18. 18. SpecFlow• Framework open source BDD/ATDD• Utilizar Gherkin como DSL para as especificações• Utiliza ferramentas padrões do .net, como o VisualStudio e nUnit, msTest ou xUnit• Iniciou desenvolvimento em 2009• Já foi utilizado em vários projetos
  19. 19. Gherkin• Uma DSL para escrita de especificações no estilo de estórias. Dado / Ao / Então• Nasceu na comunidade ruby• Permite automatização e execução da especificação• Utiliza vocabulário próprio • Dado, E, Então, Cenário, Mas...
  20. 20. Pickles
  21. 21. DEMOSpecFlowIntegração Negócio
  22. 22. “SBE”• Usar SpecFlow para automatização de teste• Cliente?! Que cliente??• Usar como ferramenta de testes de integração• Ligar o turbo!• Especificar tudo http://www.jamesshore.com/Blog/Five-Ways-to-Misuse-Fit.html
  23. 23. SBE!• Colaboração• Exemplos bem escritos• Automatização• Documentação
  24. 24. Obrigado! @rmuellerrafael@inventti.com.br

×