Speaker

Luca Giuberti

Luca Giuberti

Lead Developer Consultant @ Thoughtworks

Parma, Italy

Actions

Tech Lead and technology enthusiast with a lifelong passion for coding - As a professional programmer, I believe that passion and methodology, combined with teamwork, are the most effective tools for delivering value to customers.

My focus areas are software design with particular attention on TDD and testing in general.

Area of Expertise

  • Information & Communications Technology

Topics

  • Coding
  • TDD (Test Driven Development)
  • JavaScript & TypeScript

Esplorare il Test-Driven Development (TDD) nel FrontEnd: sfide e soluzioni

Il tema del TDD è stato ampiamente discusso nel corso degli anni, nonostante questo, nella mia esperienza ho notato che esso è raramente trattato in congiunzione con lo sviluppo FrontEnd.
In questa sessione vorrei mettere in luce le differenze che esistono tra l’applicazione del TDD fra mondo BE e FE.

Successivamente analizzeremo quali sono le difficolta che si incontrano nell’applicare il TDD in questo ambito ed infine analizzeremo alcuni approcci che posso semplificarne l’utilizzo.

Nella sessione verranno presentati concetti generali che si possono applicare a tutti i contesti (indipendentemente del framework utilizzato), insieme ad esempi pratici tratti dalla mia esperienze usando React.

Come rendere il codice più resiliente…generando bug!

Chi non vorrebbe codice bug-free? È il sogno di ogni sviluppatore, ma garantire che il nostro codice sia solido e privo di errori può essere molto complicato.

In questa sessione, esploreremo un metodo tanto semplice quanto potente per aumentare l'efficacia dei nostri test. Scopriremo come identificare e prevenire i bug con facilità, aiutandoci a costruire maggiore sicurezza nelle nostre codebase – tutto grazie alla potenza del mutation testing!

Durante la sessione, verranno forniti esempi pratici sull'utilizzo dei mutation testing attraverso Javascript e Stricker come tool di mutation.
Esploreremo inoltre gli svantaggi a cui dobbiamo prestare attenzione e le best practices di questa tecnica.

I’ve done TDD wrong all the time

Uncle Bob nel suo libro “The clean coder” descrive il TDD (Test Driven Development) come: "una disciplina che esalta la certezza, il coraggio, la riduzione dei difetti, la documentazione e il design” e considera poco professionale non usarla.
Incuriosito da queste parole, ho approfondito il TDD sempre di più, prima studiandone la teoria e poi applicandolo nella vita lavorativa quotidiana.

L’elemento che mi attraeva maggiormente era la promessa che tramite questa tecnica fosse possibile rimuovere la paura del refactoring.
Niente più timore nel modificare codice esistente, niente più bug inaspettati, libertà nel cambiare e modellare il codice a proprio piacimento!
Non è forse questo il sogno di ogni sviluppatore?
Tutto ciò grazie ai test che avremmo scritto prima del codice di produzione. Essi sarebbero rimasti al nostro fianco a proteggerci e a farci da spalla come fedeli alleati.

Purtroppo però tale sogno per me non si realizzava.

Molte volte mi vedevo costretto a modificare decine di Unit Test e Mock a causa dell’introduzione di una nuova classe o di un design pattern.
I test risultavano essere fragili; essi erano più un ostacolo al cambiamento che un sostegno allo sviluppo.

Se come me avete provato o provate queste stesse frustrazioni nell’utilizzo del TDD questo talk è per voi!

In questa sessione vorrei condividere la mia esperienza e gli errori che ho commesso in questi anni, cosa ho imparato da essi e come li ho corretti.
Mostrerò degli esempi concreti, cercando di fare chiarezza su qual è effettivamente l'essenza del TDD e su come si possano ottenere dei test efficaci che ci supportino nello sviluppo.

Working Software 2024 Sessionize Event

June 2024 Brescia, Italy

DevOpsHeroes 2022 Sessionize Event

October 2022 Parma, Italy

Italian Agile Days 2022 Sessionize Event

October 2022 Brescia, Italy

Luca Giuberti

Lead Developer Consultant @ Thoughtworks

Parma, Italy

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top