When TDD goes awry

Comments

Comments are closed.

Non uso Java (per fortuna! :)) ma mi è molto piaciuto! L'approccio ai test descritto mi ha aiutato a migliorare il mio fiuto per i code smells... :) Mi sono perso il "ravioli code", di che si tratta?

Alcune cose un pò "scontate" sul tdd ma che è sempre un gran bene ritrovarsi davanti per aggiungere nuove meditazioni ed acquisire sempre più padronanza di questo approccio. Riguarderò anche la registrazione. Grazie Umberto ;)

Uberto ha scelto di mettere sotto i riflettori quello che può succedere utilizzando male strumenti come mock e stub; ho apprezzato molto questo approccio perchè è un'ottima fonte per discussioni e riflessioni successive.

Ho apprezzato molto il talk, soprattutto il consiglio di usare il minimo indispensabile i framework di mock e di prediligere le cose fatte "a mano".

Talk interessante soprattutto perché mostra problemi e soluzioni direttamente attraverso il codice.

Ottimo talk, uno sguardo alle buone pratiche che mette in evidenza come non possano prescindere dalla conoscenza della teoria (a meno che non si voglia diventare adepti del culto del cargo). Non uso Java da un po' ma gli esempi sono stati abbastanza chiari. Un bel +1 per la seconda slide in cui hai ricordato l'importanza di "rimanere beginner".

Indubbiamente interessante, ho raccolto diversi spunti.
A tratti un po' difficoltoso da seguire (probabilmente un po' di cose "date per scontate"), in particolare l'esempio di refactor visto poteva forse essere presentato con un po' più di "calma" e chiarezza.

Speaker preparato, talk non banale. Avrei speso qualche parola in più sul SistemUnderTest per chiarire meglio i problemi riscontrati e le soluzioni proposte ma nel complesso ottimi suggerimenti per il lavoro quotidiano.

Ho avuto l'impressione che si sia demonizzato un pò l'utilizzo dei mock objects, ed è mancato, IMHO, il messaggio che anche nei casi proposti i mock objects ci hanno un feedback sul design del codice di produzione e che la soluzione è si cambiare i test, ma per guidare un design del codice di produzione migliore.

Argomentazioni tecniche ineccepibili quelle di Uberto. Credo abbia messo sull'avviso da un uso _sbagliato_ dei mock object, che a volte possono fungere da classico martello che ti fa vedere solo chiodi in giro nel tuo codice, quando un buon cacciavite farebbe meglio. :)

Nonostante la profonda conoscenza tecnica che attribuisco a Uberto, mi é sembrato un po' impacciato e spaesato davanti alle slide, credo per via della vastitá del palco in primis e perché la sua mente continuava a produrre frasi in inglese che lui si sforzava di tradurre in italiano. Del tutto comprensibile, se hai dato la presentazione 3 volte in inglese nelle ultime settimane ;)

Credo che talk come questi in cui il messaggio é "Non stai usando benissimo XXX" non possano che far bene :)


A mio parere è stato il talk più interessante che ho seguito (assieme al Keynote).
Ottimi spunti di riflessione corredati da pezzi di codice che ci hanno aiutato a rimanere focalizzati su problemi concreti senza perdersi in "massimi sistemi".
Mi sono sicuramente "portato a casa" la riflessione sui Mock Objects che non ho ancora ben digerito ma su cui avrò modo di ragionare nelle prossime settimane.

Grazie a tutti per il feedback. E' stato sicuramente emozionante parlare allo IAD2013.

Alcune note:
@Giorgio: si ora sono al punto che metto dentro parole italiane quando parlo in inglese e parole inglesi quando parlo in italiano, confusione totale! :)
@Antonio: nessuna demonizzazione, uso moltissimo i mock anche io, ma il loro abuso e' senz'altro uno dei principali ostacoli alla leggibilita' dei tests, almeno nella comunita' Java.

per tutti gli altri: mettero' presto fuori le slides con alcune correzioni e in tutti i casi il codice completo degli esempi e' su github, purtroppo non c'e' mai tempo per discutere a fondo di tutto.

ps. mi do 4 stelle perche' potevo dare di piu'! :)

Ho trovato il talk davvero chiaro e specifico nell'affrontare e risolvere le problematiche sollevate. Ottima presentazione, precisa e puntuale!

Spunti di design e operativi interessanti

Anonymous at 18:22 on 3 Dec 2013


un buon talk.
Unica nota: concordo con Antonio (Carpentieri) sul fatto che in alcuni punti il messaggio non sembrava essere "stai usando il mock nel posto sbagliato", ma piuttosto "è sbagliato usare i mock (in generale)".
Un orecchio giovane di TDD *potrebbe* aver avuto questa impressione.

E' per questo che ti ho interrotto (più volte, sorry :D ) per ribadire che i mock e gli stub servono in due scenari molto diversi.

un buon talk.
Unica nota: concordo con Antonio (Carpentieri) sul fatto che in alcuni punti il messaggio non sembrava essere "stai usando il mock nel posto sbagliato", ma piuttosto "è sbagliato usare i mock (in generale)".
Un orecchio giovane di TDD *potrebbe* aver avuto questa impressione.

E' per questo che ti ho interrotto (più volte, sorry :D ) per ribadire che i mock e gli stub servono in due scenari molto diversi.

Mi è piaciuto il talk, avrei forse usato un po' più di "freccione" per mettere in evidenza cosa fosse effettivamente sbagliato nel test (soprattutto in ottica di una pubblicazione su slideshare senza il supporto dello speaker).

Ho apprezzato soprattutto l'approccio relativistico/pragmatico: non c'è una sola strategia e non c'è un dogma da seguire per fare bene le cose ma tante cose cui fare attenzione, e magari anche un po' di istinto da seguire. Inoltre - ed il palco e le luci rendevano la cosa oltremodo difficile - Uberto è riuscito a mantenere corta la distanza tra speaker e pubblico, rendendo la sessione costruttivamente interattiva.

Grazie a tutti per i feedback, vedro' di migliorare la prossima volta (oppure mi porto sempre dietro Paolo che aiuta).
Ho messo su le slides.