Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Test-Driven Design
Search
isa
January 08, 2013
Programming
2
180
Test-Driven Design
The main idea behind TDD, why it matters, and how to do it
isa
January 08, 2013
Tweet
Share
More Decks by isa
See All by isa
Introduction to Functional Programming
isa
2
360
Innovative Thinking
isa
1
91
We are ThoughtWorks
isa
0
280
Hala Bireysellik mi?
isa
1
76
Agile Estimation & Agile Metrics
isa
1
260
Microservices
isa
13
530
Configuration Management
isa
2
140
Assuring Quality in Borsa Istanbul
isa
2
77
Software Development in the Wild
isa
4
120
Other Decks in Programming
See All in Programming
connect-python: convenient protobuf RPC for Python
anuraaga
0
210
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
180
モデル駆動設計をやってみよう Modeling Forum2025ワークショップ/Let’s Try Model-Driven Design
haru860
0
180
ゼロダウンタイムでミドルウェアの バージョンアップを実現した手法と課題
wind111
0
210
TypeScript 5.9で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
380
競馬で学ぶ機械学習の基本と実践 / Machine Learning with Horse Racing
shoheimitani
14
13k
AIと協働し、イベントソーシングとアクターモデルで作る後悔しないアーキテクチャ Regret-Free Architecture with AI, Event Sourcing, and Actors
tomohisa
2
8.2k
[SF Ruby Conf 2025] Rails X
palkan
0
350
AI時代もSEOを頑張っている話
shirahama_x
0
160
Reactive Thinking with Signals and the new Resource API
manfredsteyer
PRO
0
110
開発生産性が組織文化になるまでの軌跡
tonegawa07
0
190
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
110
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
Balancing Empowerment & Direction
lara
5
760
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Optimizing for Happiness
mojombo
379
70k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Transcript
Test-Driven Design for dummies
Agenda • What is TDD? • Why TDD? • For
the first time • More beginner style (tomorrow) • What about legacy? (on Friday)
Testing in General http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-32-02-metablogapi/8054.image_5F00_thumb_5F00_35C6E986.png
What is TDD • Test-Driven what? • They don’t show
you how to write software in school, ‘coz they don’t know either • How to be professional like this?
What is TDD • It’s actually one simple rule: •
Specify what the code should do, and make it happen • Repeat it! • It’s about how you want to use your unit • Tests are side-effects
Red-Green-Refactor RED GREEN REFACTOR
It’s THE Design http://blog.myedonline.com/wp-content/uploads/2012/06/trying_to_find_X.jpg simplicity really matters
Why TDD • Use your brain before your fingers •
Because you are not that smart, remember “dummies” ;) • It’s a safety-net • It helps you remember things, and why you do them • Out-of-the-box regression
Unless http://farm7.static.flickr.com/6193/6152609977_32902aa668.jpg You wanna be like him?
Unless or him?
Time We don’t have time to NOT write TESTS http://www.typemock.com/blog/2009/03/05/the-cost-of-test-driven-development/
Cost And these guys are from Micro$oft ;) http://www.typemock.com/blog/2009/03/05/the-cost-of-test-driven-development/
What About Feedback http://www.care-marketing-advice.com/wp-content/uploads/2012/07/fast-response-feedback-questionnaire.jpg
Is It Difficult • Not really? • It’s a discipline
• And still difficult? Then do it more often..
Let’s Practice