Scegli la tua lingua
Corso di Test-Driven Development (TDD) e BDD
Più di 2 milioni di studenti in tutto il mondo

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.

Dedika per aziende

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.

Clicca qui

Contenuto del corso

8 Capitoli • 40 LezioniDurata tra 4 e 360 ore (decidi tu)

Capitolo 1Vedi dettagli

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 2Vedi dettagli

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 3Vedi dettagli

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 4Vedi dettagli

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 5Vedi dettagli

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 6Vedi dettagli

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 7Vedi dettagli

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 8Vedi dettagli

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.

Certificazione

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...
Giulio Carlo
Giulio CarloStudente di Marketing Digitale
Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.
Mariana Ferres
Mariana FerresStudentessa di Fotografia
Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!
Luciana Alvarenga
Luciana AlvarengaStudentessa di Nail Design
La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.
André Felipe
André FelipeStudente di Prompt Engineering

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