SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Behaviour-Driven Development
  especificando software de forma ágil



        Hugo Lopes Tavares
     Universidade Cândido Mendes - Campos
                 Novembro 2009
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
http://www.flickr.com/photos/jnicho02/2827250133
stakeholder + dev
exemplos
http://www.agileprogrammer.com/uploads/bradwils/red_2Dgreen_2Drefactor.png
Mock Objects
um caso de falha:
                                                   pyhistorian




http://z.about.com/d/chemistry/1/0/G/f/stinkbomb.jpg
http://www.flickr.com/photos/wwworks/3337409383
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
Ferramentas




http://www.flickr.com/photos/m2w2/191545978
pyhistorian
 pyccuracy
   Freshen
   pyCukes
   pyMock
   Mockito
   Ludibrio
Should-DSL
Cucumber
      Webrat
       RSpec
  Remarkable
       Mocha
  Factory Girl
    Machinist
Object Daddy
JBehave 2.0
     Easyb
   Mockito
 EasyMock
     JMock
  Hamcrest
      JUnit
    TestNG
Cuke4nuke
          Specflow
              Nspec
           Nbehave
              Mspec
          Specunit
Cucubmer + IronRuby
Obrigado!
       Email: hltbra@gmail.com
           Twitter: @hltbra
 Github: http://hugolt.wordpress.com
    Blog: http://github.com/hugobr

Contenu connexe

Tendances

Ttyfu v7-angelpadorg
Ttyfu v7-angelpadorgTtyfu v7-angelpadorg
Ttyfu v7-angelpadorg
Rick Boardman
 
Indesign tutorials
Indesign tutorialsIndesign tutorials
Indesign tutorials
Jackie Scott
 
Writing Resume Practice
Writing Resume PracticeWriting Resume Practice
Writing Resume Practice
mhernandez186
 

Tendances (20)

Managing the Content Process
Managing the Content ProcessManaging the Content Process
Managing the Content Process
 
Technology Careers v2.0 SP1 Ultimate Edition
Technology Careers v2.0 SP1 Ultimate EditionTechnology Careers v2.0 SP1 Ultimate Edition
Technology Careers v2.0 SP1 Ultimate Edition
 
Orchestrating Content—FOWD NYC
Orchestrating Content—FOWD NYCOrchestrating Content—FOWD NYC
Orchestrating Content—FOWD NYC
 
Automação de testes funcionais com Python e Mechanize
Automação de testes funcionais com Python e MechanizeAutomação de testes funcionais com Python e Mechanize
Automação de testes funcionais com Python e Mechanize
 
Changing Content, Changing Culture
Changing Content, Changing CultureChanging Content, Changing Culture
Changing Content, Changing Culture
 
Flexible Content Requires Future-Ready Organizations
Flexible Content Requires Future-Ready OrganizationsFlexible Content Requires Future-Ready Organizations
Flexible Content Requires Future-Ready Organizations
 
Ttyfu v7-angelpadorg
Ttyfu v7-angelpadorgTtyfu v7-angelpadorg
Ttyfu v7-angelpadorg
 
Indesign tutorials
Indesign tutorialsIndesign tutorials
Indesign tutorials
 
20 Unterrichtswerkzeuge die Sie noch nicht kennen
20 Unterrichtswerkzeuge die Sie noch nicht kennen20 Unterrichtswerkzeuge die Sie noch nicht kennen
20 Unterrichtswerkzeuge die Sie noch nicht kennen
 
Business Communications Week 10 Ethan Chazin
Business Communications Week 10 Ethan ChazinBusiness Communications Week 10 Ethan Chazin
Business Communications Week 10 Ethan Chazin
 
Bazata-Jaret-pcp-1511
Bazata-Jaret-pcp-1511Bazata-Jaret-pcp-1511
Bazata-Jaret-pcp-1511
 
Change, Adaptation, and Revolutions in Libraries
Change, Adaptation, and Revolutions in LibrariesChange, Adaptation, and Revolutions in Libraries
Change, Adaptation, and Revolutions in Libraries
 
Writing Resume Practice
Writing Resume PracticeWriting Resume Practice
Writing Resume Practice
 
I tried to dockerize my app but I had to PaaS
I tried to dockerize my app but I had to PaaSI tried to dockerize my app but I had to PaaS
I tried to dockerize my app but I had to PaaS
 
Automating all the wrong things - You Gotta Love Frontend Keynote
Automating all the wrong things - You Gotta Love Frontend KeynoteAutomating all the wrong things - You Gotta Love Frontend Keynote
Automating all the wrong things - You Gotta Love Frontend Keynote
 
Orchestrating Content
Orchestrating ContentOrchestrating Content
Orchestrating Content
 
Fix price fix scope fix date-pecha_kuchas-journeeagile2014
Fix price fix scope fix date-pecha_kuchas-journeeagile2014Fix price fix scope fix date-pecha_kuchas-journeeagile2014
Fix price fix scope fix date-pecha_kuchas-journeeagile2014
 
Games, Develop & Html5 for BlackBerry PlayBook
Games, Develop & Html5 for BlackBerry PlayBookGames, Develop & Html5 for BlackBerry PlayBook
Games, Develop & Html5 for BlackBerry PlayBook
 
NROC Meeting 2011 - Embracing OER
NROC Meeting 2011 - Embracing OERNROC Meeting 2011 - Embracing OER
NROC Meeting 2011 - Embracing OER
 
Tech For Chairs Slides
Tech For Chairs SlidesTech For Chairs Slides
Tech For Chairs Slides
 

En vedette

The English Alphabet
The English AlphabetThe English Alphabet
The English Alphabet
aliciamv700
 
L O N D O N S I G H T
L O N D O N  S I G H TL O N D O N  S I G H T
L O N D O N S I G H T
aliciamv700
 
Pinturas de robert duncan
Pinturas de robert duncanPinturas de robert duncan
Pinturas de robert duncan
Anjovison .
 

En vedette (9)

Python Packaging: Passado, Presente e Futuro
Python Packaging: Passado, Presente e FuturoPython Packaging: Passado, Presente e Futuro
Python Packaging: Passado, Presente e Futuro
 
Collaborative Coding: Git + Github (NSI Tech Talks)
Collaborative Coding: Git + Github (NSI Tech Talks)Collaborative Coding: Git + Github (NSI Tech Talks)
Collaborative Coding: Git + Github (NSI Tech Talks)
 
The English Alphabet
The English AlphabetThe English Alphabet
The English Alphabet
 
L O N D O N S I G H T
L O N D O N  S I G H TL O N D O N  S I G H T
L O N D O N S I G H T
 
Pinturas de robert duncan
Pinturas de robert duncanPinturas de robert duncan
Pinturas de robert duncan
 
Quero ser programador! #comofas?
Quero ser programador! #comofas?Quero ser programador! #comofas?
Quero ser programador! #comofas?
 
Collaborative Coding: Git + Github
Collaborative Coding: Git + GithubCollaborative Coding: Git + Github
Collaborative Coding: Git + Github
 
Pyramid - BDD em Python
Pyramid - BDD em PythonPyramid - BDD em Python
Pyramid - BDD em Python
 
Behaviour-Driven Development (BDD) em Python
Behaviour-Driven Development (BDD) em PythonBehaviour-Driven Development (BDD) em Python
Behaviour-Driven Development (BDD) em Python
 

Similaire à Behaviour-Driven Development: escrevendo especificações ágeis

A Path for Presentations
A Path for Presentations A Path for Presentations
A Path for Presentations
Emory Maiden
 
Don't a Digital Dinosaur - Web 2.0 2011
Don't a Digital Dinosaur - Web 2.0 2011Don't a Digital Dinosaur - Web 2.0 2011
Don't a Digital Dinosaur - Web 2.0 2011
Samantha Starmer
 
Play withmultimedia mac
Play withmultimedia macPlay withmultimedia mac
Play withmultimedia mac
Maso Lin
 

Similaire à Behaviour-Driven Development: escrevendo especificações ágeis (20)

A DevOps Discussion
A DevOps DiscussionA DevOps Discussion
A DevOps Discussion
 
Arduino Project
Arduino ProjectArduino Project
Arduino Project
 
Don't be a Digital Dinosaur - Design for the Space Between
Don't be a Digital Dinosaur - Design for the Space BetweenDon't be a Digital Dinosaur - Design for the Space Between
Don't be a Digital Dinosaur - Design for the Space Between
 
Arduino Project - Ciclo de palestras CEET Vasco Coutinho
Arduino Project - Ciclo de palestras CEET Vasco CoutinhoArduino Project - Ciclo de palestras CEET Vasco Coutinho
Arduino Project - Ciclo de palestras CEET Vasco Coutinho
 
Developing for Mobile
Developing for MobileDeveloping for Mobile
Developing for Mobile
 
A Path for Presentations
A Path for Presentations A Path for Presentations
A Path for Presentations
 
Create Successful Cross Channel Experiences - IA Summit 2011
Create Successful Cross Channel Experiences - IA Summit 2011Create Successful Cross Channel Experiences - IA Summit 2011
Create Successful Cross Channel Experiences - IA Summit 2011
 
Just Too Late
Just Too LateJust Too Late
Just Too Late
 
Projeto Arduino - Hardware para fazer coisas legais - FOCAI
Projeto Arduino - Hardware para fazer coisas legais - FOCAIProjeto Arduino - Hardware para fazer coisas legais - FOCAI
Projeto Arduino - Hardware para fazer coisas legais - FOCAI
 
Don't a Digital Dinosaur - Web 2.0 2011
Don't a Digital Dinosaur - Web 2.0 2011Don't a Digital Dinosaur - Web 2.0 2011
Don't a Digital Dinosaur - Web 2.0 2011
 
The Future of Design is Not Just the Web - Web Visions Workshop 2011
The Future of Design is Not Just the Web - Web Visions Workshop 2011The Future of Design is Not Just the Web - Web Visions Workshop 2011
The Future of Design is Not Just the Web - Web Visions Workshop 2011
 
Mobile Web Speed Bumps
Mobile Web Speed BumpsMobile Web Speed Bumps
Mobile Web Speed Bumps
 
Christian Heilmann's 'State of the Browser in 2011'
Christian Heilmann's 'State of the Browser in 2011'Christian Heilmann's 'State of the Browser in 2011'
Christian Heilmann's 'State of the Browser in 2011'
 
The Importance of Storytelling in Web Design, WordCamp Miami 2013
The Importance of Storytelling in Web Design, WordCamp Miami 2013The Importance of Storytelling in Web Design, WordCamp Miami 2013
The Importance of Storytelling in Web Design, WordCamp Miami 2013
 
Creating User Friendly Joomla! Websites and Forms [English]
Creating User Friendly Joomla! Websites and Forms [English]Creating User Friendly Joomla! Websites and Forms [English]
Creating User Friendly Joomla! Websites and Forms [English]
 
LeapMotion for Web with React and Flux
LeapMotion for Web with React and FluxLeapMotion for Web with React and Flux
LeapMotion for Web with React and Flux
 
O que tu queres?
O que tu queres? O que tu queres?
O que tu queres?
 
Introduction to HTML5 & CSS3
Introduction to HTML5 & CSS3Introduction to HTML5 & CSS3
Introduction to HTML5 & CSS3
 
Play withmultimedia mac
Play withmultimedia macPlay withmultimedia mac
Play withmultimedia mac
 
10 Tips
10 Tips10 Tips
10 Tips
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Dernier (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 

Behaviour-Driven Development: escrevendo especificações ágeis