SlideShare a Scribd company logo
TDD as if the baby meant it
Agenda
Me
The rulez
The problem
not the same as the first point on the agenda!
The experience
The reflection
More fun
The rulez
Pair programming
Four elements of simple design
1. Passes its tests
2. Minimizes duplication (of concepts)
3. Maximizes clarity (naming, intent)
4. Has fewer elements (as small as possible)
TDD as if you meant it
Write one failing test
Make it pass by writing implementation code in the test method
When duplication is spotted extract implementation from tests to:
a new method in the test class
an existing method in the test class
When more methods belong together extract them into a new class
Refactor as required
Taking baby steps
Setup source control repository.
Setup a timer for 2 minutes interval when you start.
Write exactly one test
If the timer rings and the test is red then revert and start over.
If the test is green before timer rings then commit.
Restart timer (no discussions in between timers)
Refactor
If the timer rings and the refactoring is not complete then revert and
start over.
If the refactoring is complete before the timer rings then commit.
Restart the timer (no discussions in between timers)
Let’s dive in
Let’s dive in again
Let’s reflect
Erik talboom - TDD as if The Baby Meant it @I T.A.K.E. Unconference 2013, Bucharest

More Related Content

Similar to Erik talboom - TDD as if The Baby Meant it @I T.A.K.E. Unconference 2013, Bucharest

Intro to TDD
Intro to TDDIntro to TDD
Intro to TDD
Jason Nocks
 
Scrum Practices
Scrum PracticesScrum Practices
Scrum Practices
Linchuan Wang
 
TDD Flow: The Mantra in Action
TDD Flow: The Mantra in ActionTDD Flow: The Mantra in Action
TDD Flow: The Mantra in Action
Dionatan default
 
Los diez mandamientos de TDD
Los diez mandamientos de TDDLos diez mandamientos de TDD
Los diez mandamientos de TDD
Hernan Wilkinson
 
How Do We Teach TDD Keith Ray
How Do We Teach TDD Keith RayHow Do We Teach TDD Keith Ray
How Do We Teach TDD Keith Ray
C. Keith Ray
 
Blackboxtesting 02 An Example Test Series
Blackboxtesting 02 An Example Test SeriesBlackboxtesting 02 An Example Test Series
Blackboxtesting 02 An Example Test Seriesnazeer pasha
 
TDD & Refactoring
TDD & RefactoringTDD & Refactoring
TDD & Refactoring
Hernan Wilkinson
 
Tdd
TddTdd
Agile Practices
Agile PracticesAgile Practices
Agile Practices
Thatchaphol Saranurak
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentDhaval Dalal
 
Lập trình hướng kiểm thử - Test Driven development
Lập trình hướng kiểm thử - Test Driven developmentLập trình hướng kiểm thử - Test Driven development
Lập trình hướng kiểm thử - Test Driven development
Anh Lê
 
TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019
Paulo Clavijo
 
Problem solving UNIT - 4 [C PROGRAMMING] (BCA I SEM)
Problem solving UNIT - 4 [C PROGRAMMING] (BCA I SEM)Problem solving UNIT - 4 [C PROGRAMMING] (BCA I SEM)
Problem solving UNIT - 4 [C PROGRAMMING] (BCA I SEM)
Mansi Tyagi
 
TDD Walkthrough - The Time in Words
TDD Walkthrough -  The Time in WordsTDD Walkthrough -  The Time in Words
TDD Walkthrough - The Time in Words
PeterKha2
 
The ten commandments of TDD
The ten commandments of TDDThe ten commandments of TDD
The ten commandments of TDDHernan Wilkinson
 
Tdd
TddTdd
Getting started with Test Driven Development
Getting started with Test Driven DevelopmentGetting started with Test Driven Development
Getting started with Test Driven Development
Ferdous Mahmud Shaon
 
Essential tdd lesson-brief-intro-tdd
Essential tdd lesson-brief-intro-tddEssential tdd lesson-brief-intro-tdd
Essential tdd lesson-brief-intro-tdd
Bala Paranj
 
Getting started with Test Driven Development - Ferdous Mahmud Shaon
Getting started with Test Driven Development - Ferdous Mahmud ShaonGetting started with Test Driven Development - Ferdous Mahmud Shaon
Getting started with Test Driven Development - Ferdous Mahmud Shaon
Cefalo
 

Similar to Erik talboom - TDD as if The Baby Meant it @I T.A.K.E. Unconference 2013, Bucharest (20)

Intro to TDD
Intro to TDDIntro to TDD
Intro to TDD
 
Scrum Practices
Scrum PracticesScrum Practices
Scrum Practices
 
TDD Flow: The Mantra in Action
TDD Flow: The Mantra in ActionTDD Flow: The Mantra in Action
TDD Flow: The Mantra in Action
 
Los diez mandamientos de TDD
Los diez mandamientos de TDDLos diez mandamientos de TDD
Los diez mandamientos de TDD
 
How Do We Teach TDD Keith Ray
How Do We Teach TDD Keith RayHow Do We Teach TDD Keith Ray
How Do We Teach TDD Keith Ray
 
Blackboxtesting 02 An Example Test Series
Blackboxtesting 02 An Example Test SeriesBlackboxtesting 02 An Example Test Series
Blackboxtesting 02 An Example Test Series
 
TDD & Refactoring
TDD & RefactoringTDD & Refactoring
TDD & Refactoring
 
Tdd
TddTdd
Tdd
 
Agile Practices
Agile PracticesAgile Practices
Agile Practices
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Lập trình hướng kiểm thử - Test Driven development
Lập trình hướng kiểm thử - Test Driven developmentLập trình hướng kiểm thử - Test Driven development
Lập trình hướng kiểm thử - Test Driven development
 
TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019
 
Problem solving UNIT - 4 [C PROGRAMMING] (BCA I SEM)
Problem solving UNIT - 4 [C PROGRAMMING] (BCA I SEM)Problem solving UNIT - 4 [C PROGRAMMING] (BCA I SEM)
Problem solving UNIT - 4 [C PROGRAMMING] (BCA I SEM)
 
TDD Walkthrough - The Time in Words
TDD Walkthrough -  The Time in WordsTDD Walkthrough -  The Time in Words
TDD Walkthrough - The Time in Words
 
Exploratory testing
Exploratory testing Exploratory testing
Exploratory testing
 
The ten commandments of TDD
The ten commandments of TDDThe ten commandments of TDD
The ten commandments of TDD
 
Tdd
TddTdd
Tdd
 
Getting started with Test Driven Development
Getting started with Test Driven DevelopmentGetting started with Test Driven Development
Getting started with Test Driven Development
 
Essential tdd lesson-brief-intro-tdd
Essential tdd lesson-brief-intro-tddEssential tdd lesson-brief-intro-tdd
Essential tdd lesson-brief-intro-tdd
 
Getting started with Test Driven Development - Ferdous Mahmud Shaon
Getting started with Test Driven Development - Ferdous Mahmud ShaonGetting started with Test Driven Development - Ferdous Mahmud Shaon
Getting started with Test Driven Development - Ferdous Mahmud Shaon
 

More from Mozaic Works

Agile Retrospectives
Agile RetrospectivesAgile Retrospectives
Agile Retrospectives
Mozaic Works
 
Developer Experience to Testing
Developer Experience to TestingDeveloper Experience to Testing
Developer Experience to Testing
Mozaic Works
 
Story mapping: build better products with a happier team
Story mapping: build better products with a happier teamStory mapping: build better products with a happier team
Story mapping: build better products with a happier team
Mozaic Works
 
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Mozaic Works
 
Ionuț G. Stan - Let’s write a type checker at I T.A.K.E. Unconference 2015
Ionuț G. Stan - Let’s write a type checker at I T.A.K.E. Unconference 2015Ionuț G. Stan - Let’s write a type checker at I T.A.K.E. Unconference 2015
Ionuț G. Stan - Let’s write a type checker at I T.A.K.E. Unconference 2015
Mozaic Works
 
Cyrille Martraire: Living Documentation Jumpstart at I T.A.K.E. Unconference ...
Cyrille Martraire: Living Documentation Jumpstart at I T.A.K.E. Unconference ...Cyrille Martraire: Living Documentation Jumpstart at I T.A.K.E. Unconference ...
Cyrille Martraire: Living Documentation Jumpstart at I T.A.K.E. Unconference ...
Mozaic Works
 
Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015
Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015
Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015
Mozaic Works
 
Andrei Petcu: Rocket vs Docker: Battle for the Linux Container at I T.A.K.E. ...
Andrei Petcu: Rocket vs Docker: Battle for the Linux Container at I T.A.K.E. ...Andrei Petcu: Rocket vs Docker: Battle for the Linux Container at I T.A.K.E. ...
Andrei Petcu: Rocket vs Docker: Battle for the Linux Container at I T.A.K.E. ...
Mozaic Works
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Mozaic Works
 
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...
Mozaic Works
 
Patroklos Papapetrou: Holding Down Your Technical Debt With SonarQube at I T....
Patroklos Papapetrou: Holding Down Your Technical Debt With SonarQube at I T....Patroklos Papapetrou: Holding Down Your Technical Debt With SonarQube at I T....
Patroklos Papapetrou: Holding Down Your Technical Debt With SonarQube at I T....
Mozaic Works
 
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Mozaic Works
 
James Lewis: Microservices - Systems That Are #neverdone at I T.A.K.E. Unconf...
James Lewis: Microservices - Systems That Are #neverdone at I T.A.K.E. Unconf...James Lewis: Microservices - Systems That Are #neverdone at I T.A.K.E. Unconf...
James Lewis: Microservices - Systems That Are #neverdone at I T.A.K.E. Unconf...
Mozaic Works
 
Flavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. Unconference
Flavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. UnconferenceFlavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. Unconference
Flavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. Unconference
Mozaic Works
 
Adi Bolboacă: Architecture For Disaster Resistant Systems at I T.A.K.E. Unco...
Adi Bolboacă: Architecture For Disaster Resistant Systems at I T.A.K.E. Unco...Adi Bolboacă: Architecture For Disaster Resistant Systems at I T.A.K.E. Unco...
Adi Bolboacă: Architecture For Disaster Resistant Systems at I T.A.K.E. Unco...
Mozaic Works
 
Alex Bolboacă: Why You Should Start Using Docker at I T.A.K.E. Unconference ...
Alex Bolboacă: Why You Should Start Using Docker at I T.A.K.E. Unconference ...Alex Bolboacă: Why You Should Start Using Docker at I T.A.K.E. Unconference ...
Alex Bolboacă: Why You Should Start Using Docker at I T.A.K.E. Unconference ...
Mozaic Works
 
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015
Mozaic Works
 
Svetlana Mukhina: Metrics That Bring Value at I T.A.K.E. Unconference 2015
Svetlana Mukhina: Metrics That Bring Value at I T.A.K.E. Unconference 2015Svetlana Mukhina: Metrics That Bring Value at I T.A.K.E. Unconference 2015
Svetlana Mukhina: Metrics That Bring Value at I T.A.K.E. Unconference 2015
Mozaic Works
 
Aki Salmi: Object Oriented Views at I T.A.K.E. Unconference 2015
Aki Salmi: Object Oriented Views at I T.A.K.E. Unconference 2015Aki Salmi: Object Oriented Views at I T.A.K.E. Unconference 2015
Aki Salmi: Object Oriented Views at I T.A.K.E. Unconference 2015
Mozaic Works
 
Stefan Kanev: Clojure, ClojureScript and Why They're Awesome at I T.A.K.E. Un...
Stefan Kanev: Clojure, ClojureScript and Why They're Awesome at I T.A.K.E. Un...Stefan Kanev: Clojure, ClojureScript and Why They're Awesome at I T.A.K.E. Un...
Stefan Kanev: Clojure, ClojureScript and Why They're Awesome at I T.A.K.E. Un...
Mozaic Works
 

More from Mozaic Works (20)

Agile Retrospectives
Agile RetrospectivesAgile Retrospectives
Agile Retrospectives
 
Developer Experience to Testing
Developer Experience to TestingDeveloper Experience to Testing
Developer Experience to Testing
 
Story mapping: build better products with a happier team
Story mapping: build better products with a happier teamStory mapping: build better products with a happier team
Story mapping: build better products with a happier team
 
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
 
Ionuț G. Stan - Let’s write a type checker at I T.A.K.E. Unconference 2015
Ionuț G. Stan - Let’s write a type checker at I T.A.K.E. Unconference 2015Ionuț G. Stan - Let’s write a type checker at I T.A.K.E. Unconference 2015
Ionuț G. Stan - Let’s write a type checker at I T.A.K.E. Unconference 2015
 
Cyrille Martraire: Living Documentation Jumpstart at I T.A.K.E. Unconference ...
Cyrille Martraire: Living Documentation Jumpstart at I T.A.K.E. Unconference ...Cyrille Martraire: Living Documentation Jumpstart at I T.A.K.E. Unconference ...
Cyrille Martraire: Living Documentation Jumpstart at I T.A.K.E. Unconference ...
 
Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015
Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015
Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015
 
Andrei Petcu: Rocket vs Docker: Battle for the Linux Container at I T.A.K.E. ...
Andrei Petcu: Rocket vs Docker: Battle for the Linux Container at I T.A.K.E. ...Andrei Petcu: Rocket vs Docker: Battle for the Linux Container at I T.A.K.E. ...
Andrei Petcu: Rocket vs Docker: Battle for the Linux Container at I T.A.K.E. ...
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
 
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...
 
Patroklos Papapetrou: Holding Down Your Technical Debt With SonarQube at I T....
Patroklos Papapetrou: Holding Down Your Technical Debt With SonarQube at I T....Patroklos Papapetrou: Holding Down Your Technical Debt With SonarQube at I T....
Patroklos Papapetrou: Holding Down Your Technical Debt With SonarQube at I T....
 
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
 
James Lewis: Microservices - Systems That Are #neverdone at I T.A.K.E. Unconf...
James Lewis: Microservices - Systems That Are #neverdone at I T.A.K.E. Unconf...James Lewis: Microservices - Systems That Are #neverdone at I T.A.K.E. Unconf...
James Lewis: Microservices - Systems That Are #neverdone at I T.A.K.E. Unconf...
 
Flavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. Unconference
Flavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. UnconferenceFlavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. Unconference
Flavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. Unconference
 
Adi Bolboacă: Architecture For Disaster Resistant Systems at I T.A.K.E. Unco...
Adi Bolboacă: Architecture For Disaster Resistant Systems at I T.A.K.E. Unco...Adi Bolboacă: Architecture For Disaster Resistant Systems at I T.A.K.E. Unco...
Adi Bolboacă: Architecture For Disaster Resistant Systems at I T.A.K.E. Unco...
 
Alex Bolboacă: Why You Should Start Using Docker at I T.A.K.E. Unconference ...
Alex Bolboacă: Why You Should Start Using Docker at I T.A.K.E. Unconference ...Alex Bolboacă: Why You Should Start Using Docker at I T.A.K.E. Unconference ...
Alex Bolboacă: Why You Should Start Using Docker at I T.A.K.E. Unconference ...
 
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015
 
Svetlana Mukhina: Metrics That Bring Value at I T.A.K.E. Unconference 2015
Svetlana Mukhina: Metrics That Bring Value at I T.A.K.E. Unconference 2015Svetlana Mukhina: Metrics That Bring Value at I T.A.K.E. Unconference 2015
Svetlana Mukhina: Metrics That Bring Value at I T.A.K.E. Unconference 2015
 
Aki Salmi: Object Oriented Views at I T.A.K.E. Unconference 2015
Aki Salmi: Object Oriented Views at I T.A.K.E. Unconference 2015Aki Salmi: Object Oriented Views at I T.A.K.E. Unconference 2015
Aki Salmi: Object Oriented Views at I T.A.K.E. Unconference 2015
 
Stefan Kanev: Clojure, ClojureScript and Why They're Awesome at I T.A.K.E. Un...
Stefan Kanev: Clojure, ClojureScript and Why They're Awesome at I T.A.K.E. Un...Stefan Kanev: Clojure, ClojureScript and Why They're Awesome at I T.A.K.E. Un...
Stefan Kanev: Clojure, ClojureScript and Why They're Awesome at I T.A.K.E. Un...
 

Recently uploaded

Maximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdf
Maximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdfMaximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdf
Maximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdf
Xtreame HDTV
 
Meet Dinah Mattingly – Larry Bird’s Partner in Life and Love
Meet Dinah Mattingly – Larry Bird’s Partner in Life and LoveMeet Dinah Mattingly – Larry Bird’s Partner in Life and Love
Meet Dinah Mattingly – Larry Bird’s Partner in Life and Love
get joys
 
240529_Teleprotection Global Market Report 2024.pdf
240529_Teleprotection Global Market Report 2024.pdf240529_Teleprotection Global Market Report 2024.pdf
240529_Teleprotection Global Market Report 2024.pdf
Madhura TBRC
 
Skeem Saam in June 2024 available on Forum
Skeem Saam in June 2024 available on ForumSkeem Saam in June 2024 available on Forum
Skeem Saam in June 2024 available on Forum
Isaac More
 
Hollywood Actress - The 250 hottest gallery
Hollywood Actress - The 250 hottest galleryHollywood Actress - The 250 hottest gallery
Hollywood Actress - The 250 hottest gallery
Zsolt Nemeth
 
Create a Seamless Viewing Experience with Your Own Custom OTT Player.pdf
Create a Seamless Viewing Experience with Your Own Custom OTT Player.pdfCreate a Seamless Viewing Experience with Your Own Custom OTT Player.pdf
Create a Seamless Viewing Experience with Your Own Custom OTT Player.pdf
Genny Knight
 
Treasure Hunt Puzzles, Treasure Hunt Puzzles online
Treasure Hunt Puzzles, Treasure Hunt Puzzles onlineTreasure Hunt Puzzles, Treasure Hunt Puzzles online
Treasure Hunt Puzzles, Treasure Hunt Puzzles online
Hidden Treasure Hunts
 
The Evolution of Animation in Film - Mark Murphy Director
The Evolution of Animation in Film - Mark Murphy DirectorThe Evolution of Animation in Film - Mark Murphy Director
The Evolution of Animation in Film - Mark Murphy Director
Mark Murphy Director
 
Scandal! Teasers June 2024 on etv Forum.co.za
Scandal! Teasers June 2024 on etv Forum.co.zaScandal! Teasers June 2024 on etv Forum.co.za
Scandal! Teasers June 2024 on etv Forum.co.za
Isaac More
 
I Know Dino Trivia: Part 3. Test your dino knowledge
I Know Dino Trivia: Part 3. Test your dino knowledgeI Know Dino Trivia: Part 3. Test your dino knowledge
I Know Dino Trivia: Part 3. Test your dino knowledge
Sabrina Ricci
 
Matt Rife Cancels Shows Due to Health Concerns, Reschedules Tour Dates.pdf
Matt Rife Cancels Shows Due to Health Concerns, Reschedules Tour Dates.pdfMatt Rife Cancels Shows Due to Health Concerns, Reschedules Tour Dates.pdf
Matt Rife Cancels Shows Due to Health Concerns, Reschedules Tour Dates.pdf
Azura Everhart
 
A TO Z INDIA Monthly Magazine - JUNE 2024
A TO Z INDIA Monthly Magazine - JUNE 2024A TO Z INDIA Monthly Magazine - JUNE 2024
A TO Z INDIA Monthly Magazine - JUNE 2024
Indira Srivatsa
 
Young Tom Selleck: A Journey Through His Early Years and Rise to Stardom
Young Tom Selleck: A Journey Through His Early Years and Rise to StardomYoung Tom Selleck: A Journey Through His Early Years and Rise to Stardom
Young Tom Selleck: A Journey Through His Early Years and Rise to Stardom
greendigital
 
哪里买(osu毕业证书)美国俄勒冈州立大学毕业证双学位证书原版一模一样
哪里买(osu毕业证书)美国俄勒冈州立大学毕业证双学位证书原版一模一样哪里买(osu毕业证书)美国俄勒冈州立大学毕业证双学位证书原版一模一样
哪里买(osu毕业证书)美国俄勒冈州立大学毕业证双学位证书原版一模一样
9u08k0x
 
Meet Crazyjamjam - A TikTok Sensation | Blog Eternal
Meet Crazyjamjam - A TikTok Sensation | Blog EternalMeet Crazyjamjam - A TikTok Sensation | Blog Eternal
Meet Crazyjamjam - A TikTok Sensation | Blog Eternal
Blog Eternal
 
高仿(nyu毕业证书)美国纽约大学毕业证文凭毕业证原版一模一样
高仿(nyu毕业证书)美国纽约大学毕业证文凭毕业证原版一模一样高仿(nyu毕业证书)美国纽约大学毕业证文凭毕业证原版一模一样
高仿(nyu毕业证书)美国纽约大学毕业证文凭毕业证原版一模一样
9u08k0x
 
Snoopy boards the big bow wow musical __
Snoopy boards the big bow wow musical __Snoopy boards the big bow wow musical __
Snoopy boards the big bow wow musical __
catcabrera
 
Reimagining Classics - What Makes a Remake a Success
Reimagining Classics - What Makes a Remake a SuccessReimagining Classics - What Makes a Remake a Success
Reimagining Classics - What Makes a Remake a Success
Mark Murphy Director
 
From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...
From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...
From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...
Rodney Thomas Jr
 
This Is The First All Category Quiz That I Made
This Is The First All Category Quiz That I MadeThis Is The First All Category Quiz That I Made
This Is The First All Category Quiz That I Made
Aarush Ghate
 

Recently uploaded (20)

Maximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdf
Maximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdfMaximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdf
Maximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdf
 
Meet Dinah Mattingly – Larry Bird’s Partner in Life and Love
Meet Dinah Mattingly – Larry Bird’s Partner in Life and LoveMeet Dinah Mattingly – Larry Bird’s Partner in Life and Love
Meet Dinah Mattingly – Larry Bird’s Partner in Life and Love
 
240529_Teleprotection Global Market Report 2024.pdf
240529_Teleprotection Global Market Report 2024.pdf240529_Teleprotection Global Market Report 2024.pdf
240529_Teleprotection Global Market Report 2024.pdf
 
Skeem Saam in June 2024 available on Forum
Skeem Saam in June 2024 available on ForumSkeem Saam in June 2024 available on Forum
Skeem Saam in June 2024 available on Forum
 
Hollywood Actress - The 250 hottest gallery
Hollywood Actress - The 250 hottest galleryHollywood Actress - The 250 hottest gallery
Hollywood Actress - The 250 hottest gallery
 
Create a Seamless Viewing Experience with Your Own Custom OTT Player.pdf
Create a Seamless Viewing Experience with Your Own Custom OTT Player.pdfCreate a Seamless Viewing Experience with Your Own Custom OTT Player.pdf
Create a Seamless Viewing Experience with Your Own Custom OTT Player.pdf
 
Treasure Hunt Puzzles, Treasure Hunt Puzzles online
Treasure Hunt Puzzles, Treasure Hunt Puzzles onlineTreasure Hunt Puzzles, Treasure Hunt Puzzles online
Treasure Hunt Puzzles, Treasure Hunt Puzzles online
 
The Evolution of Animation in Film - Mark Murphy Director
The Evolution of Animation in Film - Mark Murphy DirectorThe Evolution of Animation in Film - Mark Murphy Director
The Evolution of Animation in Film - Mark Murphy Director
 
Scandal! Teasers June 2024 on etv Forum.co.za
Scandal! Teasers June 2024 on etv Forum.co.zaScandal! Teasers June 2024 on etv Forum.co.za
Scandal! Teasers June 2024 on etv Forum.co.za
 
I Know Dino Trivia: Part 3. Test your dino knowledge
I Know Dino Trivia: Part 3. Test your dino knowledgeI Know Dino Trivia: Part 3. Test your dino knowledge
I Know Dino Trivia: Part 3. Test your dino knowledge
 
Matt Rife Cancels Shows Due to Health Concerns, Reschedules Tour Dates.pdf
Matt Rife Cancels Shows Due to Health Concerns, Reschedules Tour Dates.pdfMatt Rife Cancels Shows Due to Health Concerns, Reschedules Tour Dates.pdf
Matt Rife Cancels Shows Due to Health Concerns, Reschedules Tour Dates.pdf
 
A TO Z INDIA Monthly Magazine - JUNE 2024
A TO Z INDIA Monthly Magazine - JUNE 2024A TO Z INDIA Monthly Magazine - JUNE 2024
A TO Z INDIA Monthly Magazine - JUNE 2024
 
Young Tom Selleck: A Journey Through His Early Years and Rise to Stardom
Young Tom Selleck: A Journey Through His Early Years and Rise to StardomYoung Tom Selleck: A Journey Through His Early Years and Rise to Stardom
Young Tom Selleck: A Journey Through His Early Years and Rise to Stardom
 
哪里买(osu毕业证书)美国俄勒冈州立大学毕业证双学位证书原版一模一样
哪里买(osu毕业证书)美国俄勒冈州立大学毕业证双学位证书原版一模一样哪里买(osu毕业证书)美国俄勒冈州立大学毕业证双学位证书原版一模一样
哪里买(osu毕业证书)美国俄勒冈州立大学毕业证双学位证书原版一模一样
 
Meet Crazyjamjam - A TikTok Sensation | Blog Eternal
Meet Crazyjamjam - A TikTok Sensation | Blog EternalMeet Crazyjamjam - A TikTok Sensation | Blog Eternal
Meet Crazyjamjam - A TikTok Sensation | Blog Eternal
 
高仿(nyu毕业证书)美国纽约大学毕业证文凭毕业证原版一模一样
高仿(nyu毕业证书)美国纽约大学毕业证文凭毕业证原版一模一样高仿(nyu毕业证书)美国纽约大学毕业证文凭毕业证原版一模一样
高仿(nyu毕业证书)美国纽约大学毕业证文凭毕业证原版一模一样
 
Snoopy boards the big bow wow musical __
Snoopy boards the big bow wow musical __Snoopy boards the big bow wow musical __
Snoopy boards the big bow wow musical __
 
Reimagining Classics - What Makes a Remake a Success
Reimagining Classics - What Makes a Remake a SuccessReimagining Classics - What Makes a Remake a Success
Reimagining Classics - What Makes a Remake a Success
 
From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...
From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...
From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...
 
This Is The First All Category Quiz That I Made
This Is The First All Category Quiz That I MadeThis Is The First All Category Quiz That I Made
This Is The First All Category Quiz That I Made
 

Erik talboom - TDD as if The Baby Meant it @I T.A.K.E. Unconference 2013, Bucharest

  • 1. TDD as if the baby meant it
  • 2. Agenda Me The rulez The problem not the same as the first point on the agenda! The experience The reflection More fun
  • 5. Four elements of simple design 1. Passes its tests 2. Minimizes duplication (of concepts) 3. Maximizes clarity (naming, intent) 4. Has fewer elements (as small as possible)
  • 6. TDD as if you meant it Write one failing test Make it pass by writing implementation code in the test method When duplication is spotted extract implementation from tests to: a new method in the test class an existing method in the test class When more methods belong together extract them into a new class Refactor as required
  • 7. Taking baby steps Setup source control repository. Setup a timer for 2 minutes interval when you start. Write exactly one test If the timer rings and the test is red then revert and start over. If the test is green before timer rings then commit. Restart timer (no discussions in between timers) Refactor If the timer rings and the refactoring is not complete then revert and start over. If the refactoring is complete before the timer rings then commit. Restart the timer (no discussions in between timers)
  • 9.