• Forum
  • Programmazione Android
  • Corsi in aula

Logo

Navigation
  • Home
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica
    • iPad
    • News
    • Video Tutorial
  • Applicazioni iPhone
    • Le applicazioni dei nostri autori
    • Le applicazioni dei nostri utenti
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

Test-Driven iOS Development: breve recensione del primo libro specifico sul TDD in iOS

By Ignazioc | on 25 luglio 2012 | 4 commenti
Libri e manuali

test-driven-ios-development-cover Oggi vorrei spendere due righe per raccontarvi un libro, nello specifico il primo testo sul TDD e iOS: Test-Driven iOS Development di Graham Lee. Come avrete intuito, TDD è l’acronimo di Test Driven Development ed è un processo di sviluppo software molto in voga negli ultimi anni. Ne abbiamo già parlato su questo sito, quindi se non conoscete l’argomento vi invito a leggere questo articolo. Passando al libro, credo non sia facile dare un giudizio oggettivo al testo, senza che questo sia influenzato dalla mia idea riguardo il TDD in generale, ma partiamo dall’inizio.

Il libro è molto chiaro nella sua esposizione e tratta un caso d’uso specifico: in particolare saremo guidati nella realizzazione di un’applicazione master/detail che, sfruttando le API di stackoverflow, mostri l’elenco delle domande e relative risposte per un tag selezionato.

Il tutto avviene però con un approccio completamente nuovo rispetto alla “vecchia” maniera di scrivere software, segue infatti l’approccio TDD.

Cosa significa seguire l’approccio Test-Driven Development?

Che si scrivono prima i test e solo successivamente si scrive il codice appena sufficiente per superarli.

Si, avete letto bene.. ho scritto proprio “appena sufficiente”! Già perché è proprio questo che sta alla base del TDD: il codice che supera il test deve *solo* superare il test e non deve far altro, perché altrimenti l’ *altro* non sarebbe coperto da test! Semplice, no?

Non mancano nel libro un’introduzione ai framework principali per usare al meglio TDD e due capitoli finali in cui si va oltre il TDD stesso.

Il mio personale giudizio è che se siete interessati all’argomento è un libro molto utile da leggere, in alcuni casi ritengo personalmente che calchi troppo la mano, ricorrendo addirittura al MethodSwizzling (http://cocoadev.com/wiki/MethodSwizzling) per rendere testabile una classe o creandone delle subclass con metodi specifici per l’introspezione, devo ammettere però che alla fine si ritrova con un codice sul quale si può intervenire tranquillamente a fare refactoring o aggiungere funzionalità senza aver paura di “rompere” qualcosa che era già stato fatto.

Potete acquistare il testo direttamente su Amazon.it in una delle due versioni disponibili:

  • versione cartacea, al costo di 20,03 € con spedizione gratuita (Link diretto)
  • versione elettronica kindle edition, al costo di 14,38 € (Link diretto)

Buona lettura!

Share this story:
  • tweet

Tags: manuali programmazionetddtest-driven developmenttest-driven ios development

Recent Posts

  • Sviluppare applicazioni per Windows Phone 8

    14 maggio 2013 - 0 Comment
  • Reeder si aggiorna e supporta Feedbin

    28 aprile 2013 - 0 Comment
  • Parse acquisita da Facebook

    26 aprile 2013 - 6 Comments

Related Posts

  • 97 cose che ogni buon programmatore (e non solo) dovrebbe conoscere

    22 dicembre 2011 - 2 Comments

Author Description

4 Responses to “Test-Driven iOS Development: breve recensione del primo libro specifico sul TDD in iOS”

  1. 25 luglio 2012

    Giuseppe Frattura

    Ciao ottimo consiglio, il TDD è un tipo di sviluppo molto utile soprattutto se fatto anche con l’extreme programming.
    Conoscete per caso un testo analogo per android?

  2. 25 luglio 2012

    Luca

    Non ho ancora avuto il piacere di leggere il libro che, però, è già nella mia libreria.

    Per quanto riguarda il method swizzling comprendo le perplessità. Anche io non sono un grandissimo fan di questa “pratica” e sono convinto che crei più problemi di quanti ne risolva e che è potenzialmente una soluzione poco future proof, ma nel caso di unti test a volte si rivela pratica. Mi spiego con un esempio pratico: supponiamo di testare un metodo di una classe che, sempre per esempio, utilizzi il metodo + [NSDate date] per effettuare una qualsivoglia computazione temporale. Per testare questo metodo in qualche modo abbiamo bisogno di mockare NSDate, un metodo molto pratico è quello con una combinazione di method swizzling e associative references far ritornare la data che ci fa più comoda.

    Per quanto riguarda le surclassi per l’introspezione anche in questa cosa sembra una soluzione dolora ma necessaria. Se ci pensiamo lo scopo dell’ OOP e proprio l’information hiding, che fondamentalmente rema contro la testabilità dove vorremmo poter verificare completamente lo stato della class under test.

  3. 25 luglio 2012

    Ignazioc

    hai centrato in pieno! ottimo commento!

  4. 23 novembre 2012

    Test-Driven iOS Development: breve recensione del primo libro specifico sul TDD in iOS | TCNews24.it

    [...] il resto dell’articolo cliccando qui Libri e manuali, manuali programmazione, tdd, test-driven development, test-driven ios development [...]

Leave a Reply Cancel Reply

Your email address will not be published. Required fields are marked *

*
*


CREIAMO UN’APPLICAZIONE COMPLETA

Costruiamo insieme il nostro Client per Flickr
Logo Flickr Ecco come creare un semplice cient per Flickr, il noto Social Network per la gestione e la condivisione di foto, che ci permetterà di scaricare e visulizzare sui nostri iPhone le foto marcate come "interessanti". Questo elenco viene aggiornato quotidianamente, quindi ogni giorno l'applicazione fornirà foto diverse!

Creare un client Flickr - PARTE 1
Creare un client Flickr - PARTE 2
Creare un client Flickr - PARTE 3
Creare un client Flickr - PARTE 4

Scarica il progetto completo (FREE)

Download (836 KB)

TIENITI AGGIORNATO

Non perderti le nostre ultime pubblicazioni: iscriviti al nostro feed e ricevi gli articoli direttamente nella tua casella di posta.

RSSSubscribe
  • Forum
  • Programmazione Android
  • Corsi in aula
©2009-2013 devAPP - All Rights Reserved | P.IVA 10478190019