Sviluppare software a colpi di test – Introduzione al Behavior Driven Development

Realizzare un software in maniera efficace non è un cosa semplice, il Behavior Driven Development (anche BDD) si propone come una possibile soluzione ai problemi di:

  • comunicazione tra il team tecnico e il Cliente;
  • definizione superficiale dei requisti e/o delle specifiche del software;
  • scarsa attenzione ai test, fondamentali per verificare la qualità del prodotto.

Behavior Driven Development

La pratica BDD affronta questi problemi alla radice, creando un linguaggio comune comprensibile a tutti gli attori coinvolti, definendo nel dettaglio le specifiche dei requisiti, con tutti gli scenari connessi e i casi d’uso; inoltre, definiti gli scenari e i casi d’uso i test di accettazione/collaudo sono automaticamente implementati.

Inoltre gli scenari definiti di volta in volta consentono di capire, in ogni istante, a che punto dell’implementazione si è arrivati. Quindi il behavior driven development fornisce anche uno strumento intuitivo per monitorare l’avanzamento del progetto.

Le slide

Le slide del primo intervento sono state pubblicate su SlideShare. Per i prossimi eventi vi consiglio di iscrivervi alla mailing list di  Open Campus Tiscali.

 

Codice sorgente

Potete trovare un codice di esempio ospitato su github, scritto in php e behat. Behat è il framework di riferimento per il behavior driven development in php, ma si presta per il test funzionale di qualsiasi RESTful api (conoscendo la sintassi e le caratteristiche di composer, il dependency manager di php è possibile configurarlo ed estenderlo).