Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Test-Driven Development for iOS
Search
Maksym Koshtenko
April 16, 2015
Programming
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Test-Driven Development for iOS
9th iOS Practice Leaders Community Meet-up
Maksym Koshtenko
April 16, 2015
More Decks by Maksym Koshtenko
See All by Maksym Koshtenko
iOS Unit Testing - UAMobile
maksym
1
190
iOS Unit Testing - View Controller challenge
maksym
0
230
iOS Unit Testing - Special Cases
maksym
0
85
iOS Unit Testing - Intro
maksym
0
120
Other Decks in Programming
See All in Programming
Jetpack Compose Mechanisms
skydoves
3
820
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
340
golang-bob.pdf
iwatsukayura
0
130
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
ジョジョの世界をXRで再現する
mofurune
0
160
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
210
Event is what happens
moro
2
780
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
190
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
270
Kotlinの15年とServer-Side Kotlin
n_takehata
1
150
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
990
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
950
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
450
Between Models and Reality
mayunak
4
500
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Agile that works and the tools we love
rasmusluckow
331
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Site-Speed That Sticks
csswizardry
13
1.6k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
Transcript
Test-Driven ! Development
Debugging sucks! Testing rocks!
Traditional flow Design Implement Test
Test-driven flow Design Implement Test
Test-driven flow Design Implement Test Test
Test-driven flow Design Implement Test Test
Test-driven flow Design Implement Test Test Figure out what you
want to do
Test-driven flow Design Implement Test Test Write a test to
express the design It should FAIL
Test-driven flow Design Implement Test Test Write the code
Test-driven flow Design Implement Test Test Test again It
should PASS
Add a test Each new feature begins with writing a
test Focus on the requirements before writing the code
Run all tests Check that changes are required and test
passes only in intended cases
Write a code Write simplest and inelegant code to make
test pass Use hardcodes where possible
Run tests Adjust code until it meets the test requirements
Refactor code Cleanup your code! Don’t worry, test covers you
What is TDD? Red Refactor Green 1. Write tests! 2.
Implement changes! 3. Cleanup code
Bug fixing 1. Find bad code ! 2. Turn it
into a test ! 3. Test should fail ! 4. Fix bug ! 5. Test should now pass
Advantages of TDD
Advantages of TDD No more repeat bugs
Advantages of TDD No more repeat bugs Better design
Advantages of TDD No more repeat bugs Better design
Quick feedback
Advantages of TDD No more repeat bugs Better design
Quick feedback Easy refactoring
Advantages of TDD No more repeat bugs Better design
Quick feedback Easy refactoring Great code coverage
YOU! know ! TDD
Sources http:/ /www.amazon.com/Art-Unit-Testing-Examples-Net/dp/1933988274! http:/ /www.amazon.com/Test-Driven-iOS-Development-Developers-Library/dp/0321774183 ! http:/ /www.objc.io/issue-1/testing-view-controllers.html! http:/ /qualitycoding.org/benefit-of-tdd/#more-2618!
None
Live Coding
https:/ /github.com/maksumko/TDD-iOS-Demo