TDD anche su iOS

Preview:

DESCRIPTION

Test Driven Development su iOS è possibile e persino utile. Invece di leggere blog post che sottointendono che TDD su iOS sia difficile e inutile venite a vedere chi lo usa sul serio e ha il coraggio di programmare ad una conferenza davanti ad altre persone. Avvertenze: questo talk non contiene paternali sul perché si dovrebbe (o non si dovrebbe) fare TDD in questo talk non verranno usati strumenti complicati in questo talk verrà scritto ed eseguito codice dal vivo Dopo una brevissima introduzione passerò a sviluppare guidato dai test una semplice applicazione per iPhone.

Citation preview

Test Driven Development (anche) su iOS

@andreafrancia 30 novembre 2013 (Agile Day)

Agenda•10’ introduction •25’ live demo •10’ Q. & A.

Introduction

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

(other than Xcode?)

Michael Feathers. 2004. Working Effectively with Legacy Code. Prentice Hall

Michael Feathers. 2004. Working Effectively with Legacy Code. Prentice Hall

Michael Feathers. 2004. Working Effectively with Legacy Code. Prentice Hall

• fast • reliable

• slow • fragile

http://www.mountaingoatsoftware.com/blog/the-forgotten-layer-of-the-test-automation-pyramid

https://github.com/andreafrancia/CalendarKata

$ git clone git@github.com:andreafrancia/CalendarKata.git

$ cd ~/CalendarKata

$ git reset --hard

$ git clean -xdf

$ git checkout model-created-and-bound

$ open CalendarKata.xcodeproj

When refactor?

http://www.neglectedpotential.com/2012/09/a-mind-map-for-ios-testing/

TDD is not about testing

Why do I use TDD?

https://itunes.apple.com/app/natural-pomo/id687954557

@andreafrancia