ThoughtWorks JC Session - BDD

download

of 24

  • date post

    07-Dec-2014
  • Category

    Software
  • view

    322
  • download

    1

Embed Size (px)

description

Apresentao que fizemos para JCs da ThoughtWorks, falando um pouco sobre o surgimento do BDD, as vantagens em se utilizar exemplos concretos na descrio de um domnio, efeitos positivos que BDD causa na comunicao de um time gil e materiais interessantes sobre o tema.

transcript

  • 1. JC Session - BDD - Juraci Vieira Nicholas Pufal
  • 2. Vamos comear... TDD? Feature files (ou "especificao das funcionalidades em linguagem natural")? Critrios de aceitao?
  • 3. Coisas bvias so realmente bvias? Quantos pontos h nesta estrela?
  • 4. Com exemplos: Dado que quero uma estrela de 8 pontos Quando peo para o app gerar a estrela Ento temos a estrela esquerda como resultado Dado que quero uma estrela de 12 pontos Quando peo para o app gerar a estrela Ento temos a estrela esquerda como resultado
  • 5. O senso comum nos engana O simples pode ser complexo Exemplos auxiliam muito na compreenso Exemplos como forma de iniciar uma conversa
  • 6. Precisamos de exemplos concretos para compreender com clareza um domnio
  • 7. Linha do tempo 1996 Kent Beck (Primeiras ideias TDD) 2001 2003 2007 2008 Manifesto gil 2011 Kent Beck, Martin Fowler e outros Dan North JBehave (Primeiras ideias BDD) RSpec David Chelimsky, Dan North, Aslak Hellesoy e outros RBehave Dan North Cucumber, Gherkin parser/standard Aslak Hellesoy Specification by example Gojko Adzic
  • 8. 1. Desenvolvimento 2. Testes 3. Ambas opes anteriores Pergunta: TDD se enquadra em qual das opes abaixo?
  • 9. TDD uma tcnica de desenvolvimento utilizada para entregar cdigo de alta qualidade Testes de regresso de baixo nvel Design emergente (reviso e evoluo constantes do cdigo)
  • 10. TDD != Unit Testing Unit um termo vago e confuso Faz com que os desenvolvedores tenham a ideia de proporo 1:1 Unit Tests so altamente dependentes da estrutura interna
  • 11. No pense em termos de unidade e sim em facetas de comportamento
  • 12. "TDD era uma idia fabulosa embrulhada em um nome que fazia com que as pessoas pensassem a partir de uma perspectiva equivocada de testes." ~ ASTELS, DAVE
  • 13. "Eu decidi que deve ser possvel apresentar TDD de uma forma que va direto as suas coisas boas e evite todas as suas armadilhas." ~ NORTH, DAN
  • 14. BDD portanto foi uma evoluo natural do TDD trazendo consigo novas terminologias Behavior - Tests Expectations - Assertions Specification-centric - Test-centric
  • 15. E como ocorre a comunicaco nos projetos?
  • 16. Livros extremamente recomendados:
  • 17. Links interessantes A new look at Test Driven Development - Dave Astels Introducing BDD - Dan North RSpec and Behavior-Driven Development - Dave Astels & Steven Baker Stubbing Is Not Enough - Gregory Moeck BDD: Busting the myths - Gojko Adzic
  • 18. Perguntas? Feedbacks?