finalmente sono riuscito a finire di sistemare il
materiale per una presentazione che darò la prossima settimana, che ho chiamato
"Sviluppo software guidato dal testing, metodologie e strumenti", che in
sostanza si tratta di un approfondimento degli argomenti che ho affrontato nel
mio lavoro di tesi.
la cosa fantastica è che la presentazione la devo fare nella mia (ex)
università! il docente che mi ha seguito per il lavoro di tesi mi ha infatti
messo a disposizione un'ora del suo corso per esporre ai suoi studenti le
tematiche che ruotano attorno al TDD, e di certo non mi sono tirato
indietro!
così, ho articolato il tutto in modo che ci sia una prima parte di
introduzione alle metodologie, per ciascuna indicando alcuni strumenti
Open-Source disponibili, e poi mostrando un esempio pratico di sviluppo. il
corso (di ingegneria del software, modulo B) usa come riferimento Java, quindi è
questo il linguaggio che ho usato per il progetto, ma nella presentazione metto
sempre a confronto Java e .NET, e poi in ogni caso gli argomenti sono
applicabili in un qualasiasi ambiente.
ecco una breve descrizione dei contenuti:
- riepilogo tipologie di testing : in piccolo (unità),
in grande (integrazione, accettazione), nuovo significato di testing
- Test-Driven Development : progettazione e test di
unità, red-green-refactor, xUnit (jUnit e NUnit), isolamento (fake, stub,
mock), testing basato sullo stato e basato sulle interazioni, mock objects
dinamici (EasyMock e Rhino.Mocks)
- Customer Test-Driven Development : requisiti, test di
accettazione e layer dell'applicazione, FIT e FitLibrary, principali
tipologie di fixture
- demo: "simple login", servizio di autenticazione
utenti, CTDD delle regole del dominio e dello strato di presentazione,
scrittura fixture di FIT, TDD delle singole classi, stub e mock per le
dipendenze
- strumenti usati : Fit, FitLibrary, FitNesse, jUnit, EasyMock e
Eclipse
il materiale si trova qui:
il progetto contiene test di accettazione per FitNesse,
test di unità e sistema. dopo aver copiato le pagine di FitNesse bisogna
modificare l'homepage del progetto (raggiungibile come [root]/SimpleLogin) con
il path al percorso contentente il progetto compilato.
a presto.
-papo-