Behaviour-Driven Development
Rodrigo S. ManhãesNúcleo de Pesquisa em Sistemas de Informação/IFF
Laboratório de Ciências Matemáticas/UENFGerência de Recursos Computacionais/UENF
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 é ágilhttp://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
expectations
matchers
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 2EasybMockitoEasyMockJMock
HamcrestJUnitTestNG
PyhistorianPyccuracyFreshenPyCukesPyMockMockitoLudibrio
Should-DSL
CucumberRSpec
RemarkableMocha
Factory GirlMachinist
Object DaddyWebrat
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/
...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
...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/
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: [email protected]