Pyramid – BDD em Python

   Hugo Lopes Tavares
    Gustavo Rezende
    Rodrigo Manhães
Por que ter
                        ?
especificações de software
http://upload.wikimedia.org/wikipedia/commons/0/08/Modelo_em_cascata.png
http://www.flickr.com/photos/toastforbrekkie/3488847960
http://www.flickr.com/photos/wongjunhao/2189540204
testes manuais
http://www.flickr.com/photos/vox/3966754898
http://www.flickr.com/photos/rwphoto/3476071029
http://www.flickr.com/photos/slipstreamblue/2677206060
O que é BDD
              ?
?
Como fazer BDD
  no dia-a-dia
stakeholder + dev
exemplos
http://www.agileprogrammer.com/uploads/bradwils/red_2Dgreen_2Drefactor.png
Mock Objects
YAGNI
http://www.flickr.com/photos/editor/172690560/
flexibilidade
http://www.flickr.com/photos/myelectricsheep/241058566
COLABORAÇÃO




http://www.flickr.com/photos/visionwithin/513293155
http://www.informit.com/ShowCover.aspx?isbn=0321125215
Uma ferramenta para Test Doubles



             
     
     
     
     
     
Mock




            
Mock

Mocks são objetos pré-programados com
as   expectativas   que   formam    uma
especificação das chamadas que se espera
receber.



                
Stub



Stubs são objetos que se comportam segundo uma
dada programação, assim como os mocks.

Porém, diferentemente destes, a execução ou não
dos métodos programados são usados quando a
execução dos métodos programados não é o que o
exemplo corrente.

                   
Dummy




    Objeto dublê que não é influenciado
          diretamente no teste




                
     
     
     
should-dsl



expectativas para especificações
          automatizadas



http://github.com/hugobr/should-dsl
pyhistorian
PyCukes
Obrigado!
      Email: hltbra@gmail.com
        nsigustavo@gmail.com
         rmanhaes@gmail.com
           Twitter: @hltbra
            @rodrigomanhes
             @nsigustavo
  GitHub: http://github.com/hugobr
  http://github.com/rodrigomanhaes
    http://github.com/nsigustavo

Pyramid - BDD em Python