
Corso di Test-Driven Development (TDD) e BDD
Padroneggi lo sviluppo guidato dai test e dal comportamento, dai principi fondamentali alle pipeline reali. Impari a scrivere test prima del codice, ad automatizzare gli scenari BDD con Gherkin e a usare la difficoltà di test come segnale di progettazione. Sviluppi le abitudini e le conoscenze sugli strumenti su cui i team software professionali fanno affidamento per rilasciare con fiducia.
Cosa imparerai:
Applichi il ciclo Red-Green-Refactor per costruire software ben progettato e sviluppato in modo incrementale.
Scriva scenari Gherkin e definizioni dei passi che automatizzano suite complete di acceptance BDD.
Configuri pipeline CI per subordinare le distribuzioni al superamento di test unitari, di integrazione e BDD.
Selezioni il tipo corretto di test double per isolare le unità da database, API e orologi.
Identifichi i problemi di progettazione nel codice di produzione interpretando i test difficili da scrivere.
Introduca le pratiche TDD e BDD in codebase legacy e nei flussi di lavoro dei team interfunzionali.
Come studi in modo pratico Corso di Test-Driven Development (TDD) e BDD
Come metti in pratica Corso di Test-Driven Development (TDD) e BDD
Per te che sei un'azienda e vuoi formare il tuo team
Su Dedika per aziende, il corso include esercizi ed esempi personalizzati sul tuo business e secondo le esigenze della tua azienda.
Contenuto del corso
8 Capitoli • 40 LezioniDurata tra 4 e 360 ore (decidi tu)
Capitolo 1NascondiNascondi dettagliVedi dettagliFondamenti di TDD e BDD
Fondamenti di TDD e BDD
Lezione 1 • TDD vs. BDD: Somiglianze e Differenze
Mappa la sovrapposizione e la divergenza tra TDD e BDD in termini di ambito, destinatari e strumenti. Prepara gli studenti a scegliere l'approccio corretto in base al contesto.
Lezione 2 • Perché lo Sviluppo Test-First è Importante
Tratta il costo del rilevamento tardivo dei difetti e il vantaggio del ciclo di feedback immediato ottenuto scrivendo i test prima del codice. Stabilisce le basi motivazionali per l'intero corso.
Lezione 3 • Principi Fondamentali del TDD
Introduce il ciclo Red-Green-Refactor e la disciplina di scrivere codice di produzione minimo. Ancora tutti i successivi capitoli sulle tecniche TDD.
Lezione 4 • Configurazione di un Ambiente di Sviluppo
Guida gli studenti attraverso l'installazione di un test runner, l'impalcatura del progetto e l'integrazione con il controllo di versione. Garantisce che ogni studente disponga di un ambiente funzionante prima di scrivere codice.
Lezione 5 • Principi Fondamentali del BDD
Definisce il BDD come una pratica di collaborazione che utilizza un linguaggio strutturato per esprimere il comportamento. Distingue l'ambito del BDD dal focus a livello di unità del TDD.
Capitolo 2NascondiNascondi dettagliVedi dettagliScrivere i Primi Test di Unità
Scrivere i Primi Test di Unità
Lezione 1 • Esecuzione e Interpretazione dei Risultati dei Test
Insegna agli studenti a leggere l'output dei test, diagnosticare i fallimenti e utilizzare la modalità watch per un feedback rapido. Costruisce l'abitudine a considerare un test fallito come un'informazione utilizzabile.
Lezione 2 • Asserzioni e Matcher
Esamina i tipi comuni di asserzione: uguaglianza, veridicità, eccezioni e collezioni. Gli studenti imparano a selezionare il matcher più espressivo per ogni scenario.
Lezione 3 • Test Parametrizzati e Data-Driven
Mostra come eseguire la stessa logica di test su più set di input per massimizzare la copertura con una duplicazione minima. Rafforza il principio DRY all'interno delle suite di test.
Lezione 4 • Anatomia di un Buon Test di Unità
Scompone il pattern Arrange-Act-Assert e le convenzioni di denominazione che rendono i test auto-documentanti. Modella direttamente la qualità di tutti i test scritti nei capitoli successivi.
Lezione 5 • Test Fixture e Pattern di Setup
Spiega gli hook di setup e teardown, le fixture condivise e i rischi dello stato mutabile condiviso. Collega la progettazione delle fixture all'affidabilità e alla velocità dei test.
Capitolo 3NascondiNascondi dettagliVedi dettagliApplicare il Ciclo Red-Green-Refactor
Applicare il Ciclo Red-Green-Refactor
Lezione 1 • Scrivere Prima un Test Fallito
Esercita la disciplina di registrare un test fallito prima di toccare il codice di produzione. Stabilisce l'abitudine che distingue il TDD dal testing estemporaneo.
Lezione 2 • Pratica dei Kata TDD
Utilizza esercizi di codifica classici per costruire la memoria muscolare del ciclo TDD. La ripetizione su problemi diversi consolida il ritmo prima di affrontare codebase reali.
Lezione 3 • Far Passare i Test in Modo Minimo
Insegna la pratica di scrivere esattamente il codice necessario per far passare il test da rosso a verde senza sovra-ingegnerizzare. Rafforza YAGNI e previene la complessità speculativa.
Lezione 4 • Refactoring sotto una Suite Verde
Tratta le tecniche di refactoring sicuro applicate solo quando tutti i test sono verdi. Gli studenti imparano a migliorare continuamente il design senza rompere il comportamento.
Lezione 5 • Monitorare i Progressi con la Copertura dei Test
Introduce le metriche di copertura come segnale di feedback, non come obiettivo, all'interno del flusso di lavoro TDD. Gli studenti imparano a interpretare le lacune di copertura senza manipolare la metrica.
Capitolo 4NascondiNascondi dettagliVedi dettagliTest Double: Mock, Stub e Spy
Test Double: Mock, Stub e Spy
Lezione 1 • Mock e Test di Interazione
Tratta i mock come oggetti che verificano la collaborazione tra unità tramite asserzioni di chiamata. Gli studenti imparano quando il test di interazione aggiunge valore e quando invece sovra-specifica.
Lezione 2 • Perché l'Isolamento Richiede i Test Double
Spiega come le dipendenze reali—database, API, orologi—rendano i test lenti e non deterministici. Motiva la necessità di sostituti controllati nei test di unità.
Lezione 3 • Stub e Fake
Definisce gli stub come fornitori di risposte predefinite e i fake come implementazioni funzionanti leggere. Gli studenti si esercitano a sostituire le dipendenze di I/O e di tempo con gli stub.
Lezione 4 • Spy e Mock Parziali
Introduce gli spy come wrapper che registrano le chiamate su oggetti reali senza sostituirne il comportamento. Chiarisce quando il mocking parziale è appropriato e quando segnala problemi di design.
Lezione 5 • Scegliere il Doppio Giusto
Fornisce un quadro decisionale per selezionare tra stub, fake, mock e spy in base all'intento del test. Consolida il capitolo in una guida pratica che gli studenti applicano immediatamente.
Capitolo 5NascondiNascondi dettagliVedi dettagliScrivere Scenari BDD con Gherkin
Scrivere Scenari BDD con Gherkin
Lezione 1 • Scrivere Step Given-When-Then Efficaci
Insegna a scrivere step che siano dichiarativi, indipendenti dal contesto e riutilizzabili tra gli scenari. La scrittura inadeguata degli step è la modalità di fallimento più comune del BDD, qui affrontata.
Lezione 2 • Collaborare agli Scenari con gli Stakeholder
Guida il processo del workshop dei Tre Amigos per la co-creazione degli scenari prima dell'inizio dello sviluppo. Collega la scrittura Gherkin al suo scopo di scoperta collaborativa.
Lezione 3 • Scenario Outline e Tabelle degli Esempi
Mostra come parametrizzare gli scenari con le tabelle degli esempi per coprire molteplici casi di dati. Rispecchia il concetto di test data-driven dei test di unità in un contesto BDD.
Lezione 4 • Organizzare Feature e Tag
Spiega come raggruppare scenari correlati in file di feature e utilizzare i tag per un'esecuzione selettiva. Supporta suite BDD scalabili man mano che l'insieme delle feature cresce.
Lezione 5 • Sintassi e Struttura di Gherkin
Tratta le parole chiave Feature, Scenario, Given-When-Then e il ruolo di ciascuna clausola. Fornisce le basi sintattiche per tutta la scrittura di scenari BDD nel corso.
Capitolo 6NascondiNascondi dettagliVedi dettagliAutomatizzare il BDD con le Step Definition
Automatizzare il BDD con le Step Definition
Lezione 1 • Configurazione e Setup del Framework BDD
Tratta l'installazione e la configurazione di un framework BDD, il suo collegamento al test runner e il caricamento dei file di feature. Stabilisce l'infrastruttura tecnica per tutto il lavoro di automazione BDD.
Lezione 2 • Gestire lo Stato tra gli Step
Affronta la sfida del passaggio di dati tra gli step Given, When e Then senza variabili globali. Tratta gli oggetti world, l'iniezione del contesto e lo stato con ambito di scenario.
Lezione 3 • Riutilizzare e Comporre le Step Definition
Mostra come costruire una libreria di step riutilizzabili che riduca la duplicazione tra i file di feature. Rafforza il principio DRY a livello di automazione BDD.
Lezione 4 • Scrivere le Funzioni di Step Definition
Insegna come mappare il testo degli step Gherkin al codice utilizzando espressioni regolari o pattern di espressione. Gli studenti implementano i gestori Given, When e Then per una feature di esempio.
Lezione 5 • Debug e Manutenzione delle Suite BDD
Tratta le tecniche per diagnosticare step non definiti, corrispondenze ambigue e scenari lenti. Prepara gli studenti a mantenere le suite BDD in salute man mano che la codebase si evolve.
Capitolo 7NascondiNascondi dettagliVedi dettagliSinergia tra Design dei Test e Design del Codice
Sinergia tra Design dei Test e Design del Codice
Lezione 1 • Principi SOLID Attraverso la Lente del TDD
Collega ciascun principio SOLID a pratiche TDD specifiche che lo applicano naturalmente. Gli studenti vedono come il TDD li guidi verso design a singola responsabilità e aperti/chiusi.
Lezione 2 • Gestire il Debito Tecnico nelle Suite di Test
Affronta la qualità del codice di test, inclusi duplicazione, fragilità e denominazione scadente nelle suite di test. Gli studenti imparano che il codice di test merita la stessa disciplina di refactoring del codice di produzione.
Lezione 3 • Ascoltare i Propri Test
Insegna agli studenti a interpretare i test difficili da scrivere come sintomi di problemi di design nel codice di produzione. Riformula la difficoltà di test come un prezioso meccanismo di feedback architetturale.
Lezione 4 • Refactoring verso i Pattern
Dimostra come i pattern di design comuni emergano naturalmente durante le fasi di refactoring del TDD. Gli studenti applicano i pattern Strategy, Template Method e Observer guidati dalle necessità dei test.
Lezione 5 • Design Emergente e Architettura Incrementale
Spiega come il design emerga da cicli successivi di refactoring piuttosto che da una pianificazione iniziale. Gli studenti si esercitano a far crescere l'architettura a partire da test verdi.
Capitolo 8NascondiNascondi dettagliVedi dettagliTDD/BDD in Progetti Reali
TDD/BDD in Progetti Reali
Lezione 1 • BDD nei Cicli di Sprint Agili
Mappa le attività BDD—scoperta, formulazione e automazione—alle cerimonie dello sprint e al raffinamento del backlog. Gli studenti vedono come il BDD si inserisca naturalmente nella consegna iterativa.
Lezione 2 • Misurare e Comunicare il Valore di TDD/BDD
Fornisce metriche—tasso di fuga dei difetti, tempo di ciclo, copertura degli scenari—per dimostrare il ROI agli stakeholder. Fornisce agli studenti gli strumenti per sostenere queste pratiche con i dati.
Lezione 3 • Integrare il TDD nei Flussi di Lavoro del Team
Guida i team su pratiche di pairing, standard di revisione del codice e criteri di definition-of-done che impongano il TDD. Affronta le dimensioni sociali e di processo dell'adozione.
Lezione 4 • Aggiungere Test al Codice Legacy
Tratta i test di caratterizzazione, l'identificazione dei 'seam' e le strategie di refactoring sicuro per codice non testato. Affronta la barriera più comune che i professionisti incontrano nell'adottare il TDD.
Lezione 5 • Integrazione Continua e Pipeline di Test
Mostra come configurare le pipeline di CI per eseguire suite di unità, integrazione e BDD con gate appropriati. Collega l'automazione dei test alla sicurezza del deployment.
Il tuo certificato valido di completamento
Questo corso è per te:
Sviluppatori junior: pronti a non considerare più la scrittura dei test come un ripensamento.
Ingegneri di livello intermedio: frustrati da codebase fragili e ricorrenti bug in produzione.
Professionisti del QA: desiderosi di adottare un approccio shift-left e collaborare prima nel ciclo di sviluppo.
Studenti di informatica: desiderosi di colmare il divario tra i corsi universitari e gli standard del settore.
Diplomati di bootcamp: pronti a costruire abitudini professionali che i datori di lavoro cercano attivamente.
Responsabili tecnici: alla ricerca di un approccio strutturato per elevare la qualità del codice a livello di team.
Cosa dicono i nostri studenti
Le sue lezioni sono perfette. Ho acquistato il pacchetto annuale e finalmente ho l'opportunità di seguire diversi argomenti di mio interesse senza dover cambiare piattaforma... vi ringrazio per tutto quello che fate, vi ho già raccomandati ad altre persone...

Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.

Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!

La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.

Principali percorsi formativi
FAQ
Chi è Dedika?
Il certificato è valido in Italia?
I corsi sono gratuiti?
Qual è il carico di lavoro del corso?
Come sono strutturati i corsi?
Come funzionano i corsi?
Qual è la durata dei corsi?
Qual è il costo o il prezzo dei corsi?
Cos’è un corso EAD o online e come funziona?
Corso PDF




















