Corso Test Driven Development

Spesso nell’evoluzione di un sistema software si affrontano problemi legati all’integrazione dei componenti, al tentativo di ridurre al minimo il numero di bug che sono scoperti dopo il rilascio, alla necessità di evolvere e migliorare le implementazione evitando l’introduzione di bug di regressione.

Test Driven Development, una metodologia agile diffusa e applicata in numerosi progetti di successo, permette di ottenere questi risultati, se applicata in maniera consapevole e corretta.

Lo Studio DaniDemi organizza ed eroga direttamente presso la Vostra sede corsi e seminari su Test Driven Development al termine dei quali i partecipanti acquisiscono gli strumenti di base metodologici e tecnologici per iniziare ad applicare TDD nello sviluppo di soluzioni basate su un tipico stack tecnologico Java.

I programmi

Di seguito il programma delle due tipiche soluzioni formative erogate. Il seminario, dalla durata limitata, è adatto per quelle aziende che desiderano aggiornare i propri collaboratori ed esporli alle idee fondamentali di TDD in modo che ne possano valutare con una maggiore consapevolezza l’eventuale introduzione nel ciclo produttivo. Per il suo taglio questo seminario è adatto a tutte le figure professionali coinvolte nel ciclo di sviluppo: dagli sviluppatori, ai team leader ai PM.

Seminario
durata 8 ore
obiettivo Il seminario mira a fornire ai partecipanti tutti gli strumenti
che permetteranno di valutare l’applicazione di TDD in piena autonomia.
Tramite esempi pratici e interattivi i partecipanti assisteranno
all’applicazione di TDD su casi di studio verosimili
programma Introduzione Test Driven Development

  • Test Unitari
  • Test Driven Development
  • Refactoring
  • Studio di casi di applicazione del TDD

Risultati ottenibili dall’applicazione di TDD

  • Presentazione delle valutazioni pubblicate in letteratura sull’efficacia di TDD
  • Risultati attendibili
  • TDD in situazioni reali

Isolamento dalle dipendenze

  • Isolamento dalle dipendenze
  • Mock Objects

TDD e relativo ecosistema

  • Come TDD influenza la produzione di software: la testabilità
  • Criticità nell’adozione di TDD

Il corso, tipicamente erogato in più lezioni per un periodo di tempo maggiore, è adatto per quelle aziende che vogliono formare i collaboratori nell’utilizzo di TDD. Al termine del corso i partecipanti sapranno utilizzare in completa autonomia tutte le tecnologie di base e accessorie coinvolte in TDD.

Il taglio del corso è prettamente tecnico e benchè tutte le figure professionali coinvolte nel ciclo di sviluppo possano trarre vantaggio specialmente dalle lezioni introduttive, il corpo del corso è dedicato agli sviluppatori.

Corso
durata 24 ore
obiettivo Il corso insegna ai partecipanti i fondamenti di TDD, fornisce
le conoscenze di base metodologiche per valutare quando e come applicare TDD.
Le numerose sessioni pratiche daranno ai partecipanti l’autonomia
per utilizzare indipendentemente tutte le tecnologie collegate
in qualsiasi progetto.
programma Introduzione Test Driven Development

  • Test Unitari
  • Test Driven Development
  • Refactoring

Risultati ottenibili dall’applicazione di TDD

  • Presentazione delle valutazioni pubblicate in letteratura sull’efficacia di TDD
  • Risultati attendibili
  • TDD in situazioni reali

Utilizzo delle principali funzionalità di JUnit

  • Metodi assertX()
  • Idiomi JUnit usati con Exception
  • Teorie
  • Test parametrici

Isolamento dalle dipendenze

  • Isolamento dalle dipendenze
  • Mock Objects

Utilizzo delle principali funzionalità di Mockito

  • mock(), when() e verify()
  • inOrder()
  • mocking di funzionalità complesse
  • cattura degli argomenti per successive elaborazioni

TDD e relativo ecosistema

  • Come TDD influenza la produzione di software: la testabilità
  • Criticità nell’adozione di TDD

Misurare l’efficacia dei test unitari

  • Analisi di un tool di copertura
  • Differenze tra varie metriche di copertura

Test di integrazione automatizzati

  • test di integrazione
  • Utilizzo dei tool di testin automation per test di integrazione
  • Test di integrazione con Database

Tecnologie di riferimento

Gli esempi ed i riferimenti tecnologici del corso sono basati su un tipico stack tecnologico Java. In particolare sono usati i seguenti tool: JDK Oracle, JUnit, Eclipse IDE, Mockito, DbUnit.

Edizioni già organizzate o erogate

Presso Azienda operante nel settore Web Hosting

Presso Azienda operante nel settore trasporti

Presso Azienda operante nel settore telco

Presso Fondazione dell’Ordine degli Ingegneri di Milano