TDD anche su iOS
-
Upload
andrea-francia -
Category
Technology
-
view
2.456 -
download
3
description
Transcript of TDD anche su iOS
![Page 1: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/1.jpg)
Test Driven Development (anche) su iOS
@andreafrancia 30 novembre 2013 (Agile Day)
![Page 2: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/2.jpg)
Agenda•10’ introduction •25’ live demo •10’ Q. & A.
![Page 3: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/3.jpg)
Introduction
![Page 4: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/4.jpg)
![Page 5: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/5.jpg)
![Page 6: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/6.jpg)
![Page 7: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/7.jpg)
Test-driven development (TDD) is a software development process
that relies on the repetition of a very short development cycle:
https://en.wikipedia.org/wiki/Test-driven_development
![Page 8: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/8.jpg)
![Page 9: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/9.jpg)
![Page 10: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/10.jpg)
(other than Xcode?)
![Page 11: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/11.jpg)
![Page 12: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/12.jpg)
![Page 13: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/13.jpg)
![Page 14: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/14.jpg)
![Page 15: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/15.jpg)
![Page 16: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/16.jpg)
![Page 17: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/17.jpg)
![Page 18: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/18.jpg)
Michael Feathers. 2004. Working Effectively with Legacy Code. Prentice Hall
![Page 19: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/19.jpg)
Michael Feathers. 2004. Working Effectively with Legacy Code. Prentice Hall
![Page 20: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/20.jpg)
Michael Feathers. 2004. Working Effectively with Legacy Code. Prentice Hall
![Page 21: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/21.jpg)
![Page 22: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/22.jpg)
• fast • reliable
• slow • fragile
![Page 23: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/23.jpg)
http://www.mountaingoatsoftware.com/blog/the-forgotten-layer-of-the-test-automation-pyramid
![Page 24: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/24.jpg)
![Page 25: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/25.jpg)
![Page 26: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/26.jpg)
![Page 27: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/27.jpg)
https://github.com/andreafrancia/CalendarKata
![Page 28: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/28.jpg)
![Page 29: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/29.jpg)
![Page 30: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/30.jpg)
![Page 31: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/31.jpg)
$ git clone [email protected]:andreafrancia/CalendarKata.git
$ cd ~/CalendarKata
$ git reset --hard
$ git clean -xdf
$ git checkout model-created-and-bound
$ open CalendarKata.xcodeproj
![Page 32: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/32.jpg)
![Page 33: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/33.jpg)
![Page 34: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/34.jpg)
![Page 35: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/35.jpg)
When refactor?
![Page 36: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/36.jpg)
![Page 37: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/37.jpg)
![Page 38: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/38.jpg)
http://www.neglectedpotential.com/2012/09/a-mind-map-for-ios-testing/
TDD is not about testing
![Page 39: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/39.jpg)
Why do I use TDD?
![Page 40: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/40.jpg)
![Page 41: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/41.jpg)
https://itunes.apple.com/app/natural-pomo/id687954557
![Page 42: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/42.jpg)
![Page 43: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/43.jpg)
@andreafrancia
![Page 44: TDD anche su iOS](https://reader034.fdocuments.us/reader034/viewer/2022051610/5481ce4fb4af9fa50d8b4607/html5/thumbnails/44.jpg)