Behaviour-Driven
            Development


            Rodrigo S. Manhães
    Núcleo de Pesquisa em Sistemas de Informação...
     
     
     
tudo

    começa

    com uma

     idéia

do cliente
               
...que precisa vir parar aqui
               
     
muita
        conversa



     
e muita programação




      
simples, não?




                 
    NÃO!
       
 
    mas não precisa também...
                 
pode ser

         seguro,

        eficiente e

        divertido!

     
Behaviour-Driven
      Development



            
    http://blog.dannorth.net/introducing-bdd
                         
BDD é ágil
    http://agilemanifesto.org




                 
     
     
     
     
     
     
     
BDD é uma técnica de
        especificação



               
clientes

     falam

    negociês


                
 
    programadores falam tecniquês
                   
 
    testadores se desesperam
                 
     
     
ubiquitous

        language




     
     
O QUÊ




    e não COMO

          
     
        user stories
     
     
    http://blog.dannorth.net/whats-in-a-story
                          
encontrando




    o que importa

            
     
BDD é uma técnica de design




              
     
     
     
     
     
     
cenário




        
     
     
     
     
     
especificações de unidade




                 
unidades especificadas em
 
           isolamento
                 
dublês para os

    colaboradores



                      
http://martinfowler.com/articles/mocksArentStubs.html
                           
     
matchers

                   expectations
                
testes?




        
     
documentação?




           
     
e   SEMPRE   atualizados




              
     
     
     
     
só isso?




        
    YAGNI
       
foco




     
    passos de bebê
           
    design evolutivo
            
    v&v rápida!!
          
 
    ritmo sustentável
             
e tem ferramenta?




             
     
JBehave 2
      Easyb
     Mockito
    EasyMock
     JMock
    Hamcrest
      JUnit

 
     TestNG
         
     
Pyhistorian
    Pyccuracy
     Freshen
     PyCukes
      PyMock
     Mockito
     Ludibrio

 
    Should-DSL
          
     
Cucumber
       RSpec
     Remarkable
       Mocha
    Factory Girl
      Machinist
    Object Daddy

 
      Webrat
     ...
     
a cada um...
(2) http://www.flickr.com/photos/randysonofrobert/1133080323/

(3) http://www.flickr.com/photos/siebeneinhalb...
...a parte que lhe cabe...
(25) http://www.flickr.com/photos/matthewboyle/3093915072/

(26) http://www.flickr.com/photos/c...
...destas imagens todas
(53) http://www.flickr.com/photos/loufi/3500076/

(54) http://www.flickr.com/photos/sneddon/241398...
eu na web

Github: http://github.com/rodrigomanhaes


Slideshare: http://www.slideshare.net/rodrigomanhaes


Twitter: http...
Upcoming SlideShare
Loading in …5
×

Behaviour driven-development

5,162 views
5,092 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,162
On SlideShare
0
From Embeds
0
Number of Embeds
3,433
Actions
Shares
0
Downloads
38
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Behaviour driven-development

  1. 1. Behaviour-Driven Development Rodrigo S. Manhães Núcleo de Pesquisa em Sistemas de Informação/IFF Laboratório de Ciências Matemáticas/UENF Gerência de Recursos Computacionais/UENF    
  2. 2.    
  3. 3.    
  4. 4.    
  5. 5. tudo começa com uma idéia do cliente    
  6. 6. ...que precisa vir parar aqui    
  7. 7.    
  8. 8. muita conversa    
  9. 9. e muita programação    
  10. 10. simples, não?    
  11. 11.   NÃO!  
  12. 12.   mas não precisa também...  
  13. 13. pode ser seguro, eficiente e divertido!    
  14. 14. Behaviour-Driven Development    
  15. 15.   http://blog.dannorth.net/introducing-bdd  
  16. 16. BDD é ágil http://agilemanifesto.org    
  17. 17.    
  18. 18.    
  19. 19.    
  20. 20.    
  21. 21.    
  22. 22.    
  23. 23.    
  24. 24. BDD é uma técnica de especificação    
  25. 25. clientes falam negociês    
  26. 26.   programadores falam tecniquês  
  27. 27.   testadores se desesperam  
  28. 28.    
  29. 29.    
  30. 30. ubiquitous language    
  31. 31.    
  32. 32. O QUÊ e não COMO    
  33. 33.     user stories
  34. 34.    
  35. 35.    
  36. 36.   http://blog.dannorth.net/whats-in-a-story  
  37. 37. encontrando o que importa    
  38. 38.    
  39. 39. BDD é uma técnica de design    
  40. 40.    
  41. 41.    
  42. 42.    
  43. 43.    
  44. 44.    
  45. 45.    
  46. 46. cenário    
  47. 47.    
  48. 48.    
  49. 49.    
  50. 50.    
  51. 51.    
  52. 52. especificações de unidade    
  53. 53. unidades especificadas em   isolamento  
  54. 54. dublês para os colaboradores    
  55. 55. http://martinfowler.com/articles/mocksArentStubs.html    
  56. 56.    
  57. 57. matchers expectations    
  58. 58. testes?    
  59. 59.    
  60. 60. documentação?    
  61. 61.    
  62. 62. e SEMPRE atualizados    
  63. 63.    
  64. 64.    
  65. 65.    
  66. 66.    
  67. 67. só isso?    
  68. 68.   YAGNI  
  69. 69. foco    
  70. 70.   passos de bebê  
  71. 71.   design evolutivo  
  72. 72.   v&v rápida!!  
  73. 73.   ritmo sustentável  
  74. 74. e tem ferramenta?    
  75. 75.    
  76. 76. JBehave 2 Easyb Mockito EasyMock JMock Hamcrest JUnit   TestNG  
  77. 77.    
  78. 78. Pyhistorian Pyccuracy Freshen PyCukes PyMock Mockito Ludibrio   Should-DSL  
  79. 79.    
  80. 80. Cucumber RSpec Remarkable Mocha Factory Girl Machinist Object Daddy   Webrat  
  81. 81.    
  82. 82. a cada um... (2) http://www.flickr.com/photos/randysonofrobert/1133080323/ (3) http://www.flickr.com/photos/siebeneinhalb-de/510621489/ (4) http://www.flickr.com/photos/swanksalot/684391801/ (5) http://www.flickr.com/photos/smcdevitt/3897151340/ (6) http://www.flickr.com/photos/angelaypablo/3778910786/ (7) http://www.flickr.com/photos/atomicjeep/347852094/ (8) http://www.flickr.com/photos/ramson/2438437130/ (10) http://www.flickr.com/photos/8525214@N06/2864322003/ (11) http://www.flickr.com/photos/monaxle/3739688599/ (12) http://www.flickr.com/photos/lisanewton/2713130525/ (13) http://www.flickr.com/photos/linkq/3413681899/ (17 a 23) recortes do original em http://www.flickr.com/photos/oliver1/3070609090/    
  83. 83. ...a parte que lhe cabe... (25) http://www.flickr.com/photos/matthewboyle/3093915072/ (26) http://www.flickr.com/photos/chimothy27/3487954077/ (27) http://www.flickr.com/photos/wooandy/3410789985/ (28) http://www.flickr.com/photos/bexross/2636921208/ (29) http://www.flickr.com/photos/macgyver101/364163282/ (30) http://www.flickr.com/photos/pqs/209969730/ (33) http://www.flickr.com/photos/psd/3731275681/ (38) http://www.flickr.com/photos/jeffbelmonte/ (40) http://eggsonbread.com/2009/07/22/behavior-driven-development-in-a- nutshell/ (49) http://www.flickr.com/photos/xpontius/3060048291/ (50) http://www.flickr.com/photos/wwworks/3337409383/     (51) http://www.flickr.com/photos/brendaannerl/2352248802
  84. 84. ...destas imagens todas (53) http://www.flickr.com/photos/loufi/3500076/ (54) http://www.flickr.com/photos/sneddon/2413980712/ (57) http://www.flickr.com/photos/london/161982972/ (59 e 61) http://www.flickr.com/photos/lexnger/535072472/ (68) http://www.flickr.com/photos/editor/172690560 (69) http://www.flickr.com/photos/temponotempo/258186989/ (70) http://www.flickr.com/photos/t0msk/3983980813/ (71) http://www.passeiweb.com/saiba_mais/voce_sabia/2_darwin_teoria_evolucao (72) http://www.flickr.com/photos/jonhurd/112658815 (73) http://www.flickr.com/photos/llohman/4117901094 (75) http://www.flickr.com/photos/33224129@N00/3268522594/ (77) http://www.flickr.com/photos/42311564@N00/2355590508/ (79) http://www.flickr.com/photos/jaja_1985/177995018/     (81) http://www.flickr.com/photos/33370236@N06/3845669785/
  85. 85. eu na web Github: http://github.com/rodrigomanhaes Slideshare: http://www.slideshare.net/rodrigomanhaes Twitter: http://www.twitter.com/rodrigomanhaes Blog: http://programacaoradical.blogspot.com Blog não técnico: http://fanatismoindeciso.blogspot.com E-mail: rmanhaes@gmail.com    

×