SlideShare a Scribd company logo
IS TDD DEAD? Kemal Toprak Uçar
WHAT IS TDD?
• ADD A LITTLE TEST
• RUN ALL TESTS AND FAIL
• MAKE A CHANGE
• RUN THE TESTS AND
SUCCEED.
• REFACTOR TO REMOVE
DUPLICATION.
TDD IS DEAD! 2014-04-23
DAVID
HEINEMEIER
HANSSON
IS TDD DEAD?
• TDD DAMAGES MY ARCHITECTURE!
• RED – GREEN FLOW IS NOT ENJOYABLE!
• I WANT TO TOUCH THE CODE!
DHH
IS TDD DEAD?
KENT
BECK
CREATOR OF XP
AND JUNIT
• TDD DRIVES DEVELOPER TO
IMPLEMENT A GOOD ARCHITECTURE
• TDD MAKES DEVELOPER FEEL
CONFIDENT
• EASIER TO UNIT TEST SYSTEM, WAS
A BETTER DESIGN SYSTEM.
IS TDD DEAD?
MARTIN
FOWLER
PIONEER OF
OBJECT-
ORIENTED
ANALYSIS-
DESIGN AND
REFACTORING
• TDD HAS DEVELOPERS GIVE MORE
ATTENTION TO REFACTOR ON THE
PRODUCTION CODE
• SOME APPLICATIONS ARE FIT FOR
TDD, SOME ARE NOT
IS TDD DEAD?
• I WANT TO TEST MY CODE WITH REAL DATA - DHH
• TDD PUTS AN EVOLUTIONARY PRESSURE ON A DESIGN - KB
• TDD INCREASES THE COMPLEXITY OF STRUCTURE - DHH
• ISOLATION IS DRIVING YOU TO THIS SPOT, NOT TDD - MF
IS TDD DEAD?
• THERE IS A POSTER HUNG WHICH IS WRITTEN NOTHING AT
FACEBOOK IS SOMEBODY ELSE'S PROBLEM - KB
• TDD MAKES ME A PRESSURE TO PUSH SOURCE CODE TO THE
SECONDARY LEVEL FROM THE PRIMARY LEVEL - DHH
• I FEEL CONFIDENT WHEN I FIRST WRITE TESTS - KB
• TDD CONTROLS THE USER TO FOLLOW ONLY ITS RULES. DEVELOPERS
ARE BECOME ASTRAY WITH CARING ONLY TDD. - DHH
IS TDD DEAD?
• I NEVER GIVE UP ALTHOUGH APPLYING TDD ON PROJECT IS SOMETIMES
HARD. - KB
• THIS CONFIDENCE DOESN'T COME FROM THE DESIGN DRIVEN PART. - DHH
• TDD GIVES ME A RAPID FEEDBACK. - KB
CONCLUSION
• NO CONCLUSION FROM THE DISCUSSION WHETHER TDD
IS GOOD OR NOT
• MAKE THE PROBLEM EASY, SOLVE THE PROBLEM EASILY
• TEST SUITES GIVE A CONFIDENT TO A DEVELOPER

More Related Content

Similar to Is TDD dead?

Tdd and bdd
Tdd and bddTdd and bdd
Tdd and bdd
MohamedSubhiBouchi
 
Joe Cisar - Everything I Know About TDD - Agile Midwest 2019
Joe Cisar - Everything I Know About TDD - Agile Midwest 2019Joe Cisar - Everything I Know About TDD - Agile Midwest 2019
Joe Cisar - Everything I Know About TDD - Agile Midwest 2019
Jason Tice
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CD
Roger Turnau
 
Continuous integration using Jenkins and Sonar
Continuous integration using Jenkins and SonarContinuous integration using Jenkins and Sonar
Continuous integration using Jenkins and Sonar
Pascal Larocque
 
Intro to TDD
Intro to TDDIntro to TDD
Intro to TDD
Jason Nocks
 
Test Driven Development Methodology and Philosophy
Test Driven Development Methodology and Philosophy Test Driven Development Methodology and Philosophy
Test Driven Development Methodology and Philosophy
Vijay Kumbhar
 
Getting Comfortable with BDD
Getting Comfortable with BDDGetting Comfortable with BDD
Getting Comfortable with BDD
Alex Sharp
 
TDD & Effective Software Development
TDD & Effective Software DevelopmentTDD & Effective Software Development
TDD & Effective Software Development
samserpoosh
 
TDD Anti-patterns (2022 edition)
TDD Anti-patterns (2022 edition)TDD Anti-patterns (2022 edition)
TDD Anti-patterns (2022 edition)
Ahmed Misbah
 
TDD Introduction with Kata FizzBuzz
TDD Introduction with Kata FizzBuzzTDD Introduction with Kata FizzBuzz
TDD Introduction with Kata FizzBuzz
Rick Liu
 
The Design Fortress: Boosting Design Productivity and Creativity in an Agile ...
The Design Fortress: Boosting Design Productivity and Creativity in an Agile ...The Design Fortress: Boosting Design Productivity and Creativity in an Agile ...
The Design Fortress: Boosting Design Productivity and Creativity in an Agile ...
David Randall
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing code
Zivtech, LLC
 
Take the Red Pill: How Criteo revamped its software development process
Take the Red Pill: How Criteo revamped its software development processTake the Red Pill: How Criteo revamped its software development process
Take the Red Pill: How Criteo revamped its software development process
Agilar
 
Take the Red Pill: How Criteo revamped its software development process
Take the Red Pill: How Criteo revamped its software development processTake the Red Pill: How Criteo revamped its software development process
Take the Red Pill: How Criteo revamped its software development process
Adrian Perreau de Pinninck
 
DevOps Year One
DevOps Year OneDevOps Year One
DevOps Year One
Magnus Hedemark
 
Creating change from within - Agile Practitioners 2012
Creating change from within - Agile Practitioners 2012Creating change from within - Agile Practitioners 2012
Creating change from within - Agile Practitioners 2012
Dror Helper
 
My feedback on ddd europe
My feedback on ddd europeMy feedback on ddd europe
My feedback on ddd europe
Guillaume Saint Etienne
 
Better Software Through User Research
Better Software Through User ResearchBetter Software Through User Research
Better Software Through User Research
Alexandra Leisse
 
UX STRAT USA 2021: Jane Davis, Zoom
UX STRAT USA 2021: Jane Davis, ZoomUX STRAT USA 2021: Jane Davis, Zoom
UX STRAT USA 2021: Jane Davis, Zoom
UX STRAT
 
Ross Chapman Etch Design Sprints Agile Outside IT presentation 9 January 2019
Ross Chapman Etch Design Sprints Agile Outside IT presentation 9 January 2019Ross Chapman Etch Design Sprints Agile Outside IT presentation 9 January 2019
Ross Chapman Etch Design Sprints Agile Outside IT presentation 9 January 2019
agileoutsideIT
 

Similar to Is TDD dead? (20)

Tdd and bdd
Tdd and bddTdd and bdd
Tdd and bdd
 
Joe Cisar - Everything I Know About TDD - Agile Midwest 2019
Joe Cisar - Everything I Know About TDD - Agile Midwest 2019Joe Cisar - Everything I Know About TDD - Agile Midwest 2019
Joe Cisar - Everything I Know About TDD - Agile Midwest 2019
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CD
 
Continuous integration using Jenkins and Sonar
Continuous integration using Jenkins and SonarContinuous integration using Jenkins and Sonar
Continuous integration using Jenkins and Sonar
 
Intro to TDD
Intro to TDDIntro to TDD
Intro to TDD
 
Test Driven Development Methodology and Philosophy
Test Driven Development Methodology and Philosophy Test Driven Development Methodology and Philosophy
Test Driven Development Methodology and Philosophy
 
Getting Comfortable with BDD
Getting Comfortable with BDDGetting Comfortable with BDD
Getting Comfortable with BDD
 
TDD & Effective Software Development
TDD & Effective Software DevelopmentTDD & Effective Software Development
TDD & Effective Software Development
 
TDD Anti-patterns (2022 edition)
TDD Anti-patterns (2022 edition)TDD Anti-patterns (2022 edition)
TDD Anti-patterns (2022 edition)
 
TDD Introduction with Kata FizzBuzz
TDD Introduction with Kata FizzBuzzTDD Introduction with Kata FizzBuzz
TDD Introduction with Kata FizzBuzz
 
The Design Fortress: Boosting Design Productivity and Creativity in an Agile ...
The Design Fortress: Boosting Design Productivity and Creativity in an Agile ...The Design Fortress: Boosting Design Productivity and Creativity in an Agile ...
The Design Fortress: Boosting Design Productivity and Creativity in an Agile ...
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing code
 
Take the Red Pill: How Criteo revamped its software development process
Take the Red Pill: How Criteo revamped its software development processTake the Red Pill: How Criteo revamped its software development process
Take the Red Pill: How Criteo revamped its software development process
 
Take the Red Pill: How Criteo revamped its software development process
Take the Red Pill: How Criteo revamped its software development processTake the Red Pill: How Criteo revamped its software development process
Take the Red Pill: How Criteo revamped its software development process
 
DevOps Year One
DevOps Year OneDevOps Year One
DevOps Year One
 
Creating change from within - Agile Practitioners 2012
Creating change from within - Agile Practitioners 2012Creating change from within - Agile Practitioners 2012
Creating change from within - Agile Practitioners 2012
 
My feedback on ddd europe
My feedback on ddd europeMy feedback on ddd europe
My feedback on ddd europe
 
Better Software Through User Research
Better Software Through User ResearchBetter Software Through User Research
Better Software Through User Research
 
UX STRAT USA 2021: Jane Davis, Zoom
UX STRAT USA 2021: Jane Davis, ZoomUX STRAT USA 2021: Jane Davis, Zoom
UX STRAT USA 2021: Jane Davis, Zoom
 
Ross Chapman Etch Design Sprints Agile Outside IT presentation 9 January 2019
Ross Chapman Etch Design Sprints Agile Outside IT presentation 9 January 2019Ross Chapman Etch Design Sprints Agile Outside IT presentation 9 January 2019
Ross Chapman Etch Design Sprints Agile Outside IT presentation 9 January 2019
 

Recently uploaded

哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
artificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptxartificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptx
GauravCar
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
sachin chaurasia
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
ydzowc
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
RamonNovais6
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
SakkaravarthiShanmug
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
Las Vegas Warehouse
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
Madan Karki
 
john krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptxjohn krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptx
Madan Karki
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
Divyanshu
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
Hematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood CountHematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood Count
shahdabdulbaset
 

Recently uploaded (20)

哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
artificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptxartificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptx
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
 
john krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptxjohn krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptx
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
Hematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood CountHematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood Count
 

Is TDD dead?

  • 1. IS TDD DEAD? Kemal Toprak Uçar
  • 2. WHAT IS TDD? • ADD A LITTLE TEST • RUN ALL TESTS AND FAIL • MAKE A CHANGE • RUN THE TESTS AND SUCCEED. • REFACTOR TO REMOVE DUPLICATION.
  • 3. TDD IS DEAD! 2014-04-23 DAVID HEINEMEIER HANSSON
  • 4. IS TDD DEAD? • TDD DAMAGES MY ARCHITECTURE! • RED – GREEN FLOW IS NOT ENJOYABLE! • I WANT TO TOUCH THE CODE! DHH
  • 5. IS TDD DEAD? KENT BECK CREATOR OF XP AND JUNIT • TDD DRIVES DEVELOPER TO IMPLEMENT A GOOD ARCHITECTURE • TDD MAKES DEVELOPER FEEL CONFIDENT • EASIER TO UNIT TEST SYSTEM, WAS A BETTER DESIGN SYSTEM.
  • 6. IS TDD DEAD? MARTIN FOWLER PIONEER OF OBJECT- ORIENTED ANALYSIS- DESIGN AND REFACTORING • TDD HAS DEVELOPERS GIVE MORE ATTENTION TO REFACTOR ON THE PRODUCTION CODE • SOME APPLICATIONS ARE FIT FOR TDD, SOME ARE NOT
  • 7. IS TDD DEAD? • I WANT TO TEST MY CODE WITH REAL DATA - DHH • TDD PUTS AN EVOLUTIONARY PRESSURE ON A DESIGN - KB • TDD INCREASES THE COMPLEXITY OF STRUCTURE - DHH • ISOLATION IS DRIVING YOU TO THIS SPOT, NOT TDD - MF
  • 8. IS TDD DEAD? • THERE IS A POSTER HUNG WHICH IS WRITTEN NOTHING AT FACEBOOK IS SOMEBODY ELSE'S PROBLEM - KB • TDD MAKES ME A PRESSURE TO PUSH SOURCE CODE TO THE SECONDARY LEVEL FROM THE PRIMARY LEVEL - DHH • I FEEL CONFIDENT WHEN I FIRST WRITE TESTS - KB • TDD CONTROLS THE USER TO FOLLOW ONLY ITS RULES. DEVELOPERS ARE BECOME ASTRAY WITH CARING ONLY TDD. - DHH
  • 9. IS TDD DEAD? • I NEVER GIVE UP ALTHOUGH APPLYING TDD ON PROJECT IS SOMETIMES HARD. - KB • THIS CONFIDENCE DOESN'T COME FROM THE DESIGN DRIVEN PART. - DHH • TDD GIVES ME A RAPID FEEDBACK. - KB
  • 10. CONCLUSION • NO CONCLUSION FROM THE DISCUSSION WHETHER TDD IS GOOD OR NOT • MAKE THE PROBLEM EASY, SOLVE THE PROBLEM EASILY • TEST SUITES GIVE A CONFIDENT TO A DEVELOPER