Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Test-Driven Development su Codice Esistente

Test-Driven Development su Codice Esistente

Andrea Francia

December 06, 2016
Tweet

More Decks by Andrea Francia

Other Decks in Technology

Transcript

  1. Refactor • Fare refactor(def): Ristrutturare il software per renderlo più

    facile da capire o modificare senza cambiarne il comportamento osservabile.
  2. Design semplice Un pezzo di codice è semplice quando:
 1.

    Fa passare tutti i test 2. Non contiene duplicazione 3. È chiaro ed esprime l’intento per cui è scritto 4. Non contiene parti superflue
  3. Design Incrementale • Prima di implementare una feature si fa

    refactor per renderne più semplice l’inserimento. • Dopo aver inserito la feature si fa refactor per rimuovere ogni duplicazione.
  4. The conservative approach No automatic tests leads to Manual testing

    that leads to High risk of introduce bugs that leads to Fear of change so You prefer add more mess instead cleaning up the existing code and the code get worse, the cost/time of adding features increases If it ain't broke don't fix it
  5. TDD su codice esistente 0. Metti la classe sotto test

    1. scrivi un test che fallisce (red) 3. fallo passare (green) 4. rimuovi la duplicazione (refactor) 5. ripeti Test Driven Development: By Example by Beck, Kent
  6. Trip Service Kata • Sandro Mancuso (@sandromancuso) • https://github.com/sandromancuso/trip-service- kata

    • http://www.slideshare.net/MozaicWorks/sandro- mancuso-testing-and-refactoring-legacy-code
  7. Social Network per Viaggiatori • Requisiti: • Devi essere locato

    per vedere i contenuti del sito. • Puoi vedere i viaggi degli altri utenti che sono tuoi “amici”