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 Development
Search
Jun Lin
July 18, 2013
Programming
54
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Test Driven Development
Jun Lin
July 18, 2013
More Decks by Jun Lin
See All by Jun Lin
A brief introduction to GenStage
linjunpop
1
64
Microservices
linjunpop
0
93
Actor Model
linjunpop
0
38
Ruby for iOS developer
linjunpop
0
1k
A brief introduction to GitHub
linjunpop
1
72
Ruby 2.0
linjunpop
1
170
Other Decks in Programming
See All in Programming
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
100
MySQLとPostgreSQLって何が違うの?
akagami
PRO
0
160
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
120
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
960
Oxlintはいいぞ(続)
yug1224
1
540
AIエージェント時代のコードレビューを設計する
nogu66
5
2.4k
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.4k
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
0
380
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
660
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
810
Building an Out-of-Order CPU
latte72
0
620
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
1
490
Art, The Web, and Tiny UX
lynnandtonic
304
22k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Abbi's Birthday
coloredviolet
3
9.7k
Practical Orchestrator
shlominoach
191
12k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
520
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
390
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
KATA
mclloyd
PRO
35
15k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Technical Leadership for Architectural Decision Making
baasie
3
550
Transcript
TDD Thursday, July 18, 13
WHY TDD Thursday, July 18, 13
AVOID CHAOS Thursday, July 18, 13
TIME Thursday, July 18, 13
WHAT IS TDD Thursday, July 18, 13
TEST DRIVEN DEVELOPMENT Thursday, July 18, 13
WRITE TEST FAIL IMPLEMENT TEST PASS Thursday, July 18, 13
BENEFITS Thursday, July 18, 13
MODULARIZED FLEXIBLE EXTENSIBLE Thursday, July 18, 13
WRITTEN FOR TESTABILITY Thursday, July 18, 13
TESTS FOR EVERY FEATURE GET WRITTEN Thursday, July 18, 13
DEEPER UNDERSTANDING OF REQUIREMENTS Thursday, July 18, 13
EXAMPLES Thursday, July 18, 13
subject(:hero) { Hero.first } it "carries a sword" do hero.equipment.should
include "sword" end http://betterspecs.org/ Thursday, July 18, 13
#import "TestHelper.h" #import "UserModel.h" SpecBegin(UserModel) describe(@"UserModel", ^{ describe(@".all", ^{ it(@"load
all users", ^{ expect([UserModel all]).toNot.beEmpty(); }); }); }); SpecEnd https://github.com/linjunpop/Diamond/blob/master/DiamondTests/UserModelSpec.m Thursday, July 18, 13
PROBLEMS Thursday, July 18, 13
UI TESTS Thursday, July 18, 13
OVER-TESTING Thursday, July 18, 13
CODE ONLY FOR TESTING Thursday, July 18, 13
CONTINUOUS INTEGRATION Thursday, July 18, 13
CHECKOUT BRANCH COMMIT CI RUN PASS MERGE TO MASTER FAIL
PUSH Thursday, July 18, 13
WHY CI Thursday, July 18, 13
AUTOMATION Thursday, July 18, 13
MULTIPLE RUNTIME ENVIRONMENT Thursday, July 18, 13
script: 'ci/travis.rb' before_install: - gem install bundler rvm: - 1.9.3
- 2.0.0 env: - "GEM=railties" - "GEM=ap,am,amo,as,av" - "GEM=ar:mysql" - "GEM=ar:mysql2" - "GEM=ar:sqlite3" - "GEM=ar:postgresql" notifications: email: false irc: on_success: change on_failure: always channels: - "irc.freenode.org#rails-contrib" campfire: on_success: change on_failure: always https://github.com/rails/rails/blob/master/.travis.yml Thursday, July 18, 13
MULTIPLE DEVICE MODELS Thursday, July 18, 13
Thursday, July 18, 13
LET SERVER DO HEAVY-LIFTING Thursday, July 18, 13
iOS CI SINCE Xcode 5 Thursday, July 18, 13
OS X MAVERICKS OS X SERVER XCODE 5 Thursday, July
18, 13
DEMO TIME Thursday, July 18, 13
REFERENCES • http://37signals.com/svn/posts/3159-testing-like-the-tsa • http://en.wikipedia.org/wiki/Test-driven_development • http://stackoverflow.com/a/153565 Thursday, July 18,
13