Chi dovrebbe partecipare
- Sviluppatori software
- Architetti software
- Team leader tecnici
- QA engineer interessati al design orientato al test
- Professionisti che desiderano migliorare la qualità strutturale del proprio codice
Prerequisiti
- Conoscenza di base del testing automatico
- Familiarità con i principi SOLID e la programmazione orientata agli oggetti
- Esperienza con almeno un linguaggio di programmazione
Contenuti del Corso
Il corso approfondisce il Test Driven Design, un approccio di progettazione software in cui i test non sono solo uno strumento di verifica, ma diventano il motore che guida la definizione dell’architettura, delle responsabilità e delle interazioni tra componenti. L’obiettivo è fornire ai partecipanti una metodologia strutturata per ottenere sistemi più robusti, modulari e facilmente estendibili.
Contenuti:
Introduzione al Test Driven Design
- Differenze tra Test Driven Development e Test Driven Design
- Il test come strumento di progettazione
- Benefici e limiti dell’approccio
Progettazione emergente
- Come i test influenzano la struttura del codice
- Individuazione delle responsabilità
- Definizione dei confini dei componenti
Collaborazioni e dipendenze
- Modellazione delle interazioni tramite test
- Uso di mock, stub e altri test doubles
- Analisi delle dipendenze e riduzione dell’accoppiamento
Pattern e principi di design guidati dai test
- SOLID e TDDnD
- Architetture orientate ai test
- Refactoring strutturale
Strumenti e workflow
- Framework di testing
- Integrazione con pipeline CI/CD
- Strategie di manutenzione dei test