Il Behaviour Driven Development(BDD) rappresenta l’evoluzione del Test Driven Development(TDD). Nel BDD i test si basano sui termini di comportamento desiderato di una determinata funzionalità e non sul mero corretto funzionamento. Per un approfondimeno puoi leggere il precedente articolo “Test-Driven Development(TDD) vs Behaviour-Driven Development(BDD)“.
Cos’è ed a cosa serve la User Story
Alla base del BDD c’è la User Story che altro non è che l’espressione della funzionalità che una determinata caratteristica di un prodotto deve fornire dal punto di vista dell’utente. Lo scopo di una User Story è quello di definire come una determinata funzionalità del prodotto può o dovrebbe fornire valore all’utente. Attraverso la User Story ti assicuri che i requisiti di business dei tuoi utenti siano portati al centro dell’attenzione durante tutte le fasi dello sviluppo.
Quando si utilizza il modello BDD occorre quindi testare le funzionalità dalla prospettiva dell’utente finale utilizzando i costrutti del linguaggio di business in modo da ridurre il rischio dell’effetto “lost-in-translation” in cui ciò che si testa non rappresenta effettivamente ciò che è necessario per garantire la qualità del prodotto.
Come creare una User Story
In poche parole, una User Story può includere:
- un titolo in cui viene sintetizzata la funzionalità;
- una descrizione in cui vengono delineati gli aspetti essenziali dal punto di vista dell’utente: “As a” ( per es. come utente con abbonamento gold al servizio che vuole accedere alle proprie statistiche ), “I want”( per es. voglio cliccare su un ben visibile link nella mia dashboard) e “so that” ( per es. affinchè possa ottenere in un’unica pagina le mie statistiche facilmente leggibili ed interpretabili).
Come puoi ben comprendere la User Story mette al centro l’utente e non il mero funzionamento. In un classico approccio Test Driven Development(TDD) avresti probabilmente avuto, prendendo spunto dal medesimo esempio, che un utente con abbonamento gold può accedere alle proprie statistiche tramite link nella propria dashboard. Questo approccio non prende in considerazione il design (ben visibile) e la semplicità d’uso (in un’unica pagina) e pertanto non consente di ottenere una User Experience(UX) efficace che è ciò che oggi gli utenti chiedono dalla tua applicazione.
Contattaci subito e senza impegno per assistenza e supporto nella creazione di User Story per il BDD.
I criteri di accettazione della User Story
I criteri di accettazione sono i criteri rispettati i quali una storia è accettata e può andare in produzione. I criteri di accettazione possono essere multipli per la stessa User Story in quanto la medesima User Story potrebbe essere valida per diversi scenari applicativi. I criteri di accettazione rappresentano la descrizione del comportamento che ci si aspetta da una funzionalità e comprendono:
- Given: cioè dato uno specifico contesto;
- When: quando una determinata azione viene effettuata;
- Then: allora un determinato risultato può essere osservato.
Il linguaggio da utilizzare per creare la User Story ed i relativi criteri di accettazione deve essere parzialmente formale, cioè deve permettere di essere definito e compreso sia da personale tecnico sia non.
Contattaci subito e senza impegno per assistenza e supporto nella creazione di User Story per il BDD
I tool per il BDD e la test automation
Automatizzare i test è chiaramente il modo migliore per implementare il BDD all’interno dei tuoi progetti di sviluppo. Mentre nel TDD non è necessario utilizzare alcun specifico format, nel BDD i criteri di accettazione devono essere definiti secondo il format Given[ ] When[ ] Then[ ].
Per ottenere la test automation in ambito BDD puoi utilizzare degli strumenti realizzati ad hoc proprio per trasformare i criteri di accettazione in un linguaggio semi-formale e quindi in codice applicativo di test. Tra questi strumenti puoi trovare:
- JBehave: un framework Java per il BDD integrabile nelle piattaforme di sviluppo Eclipse e IDEA;
- Cucumber: un framework inizialmente realizzato per le applicazioni Ruby-based che oggi supporta anche Java e Javascript
Glue Labs ed il Behaviour Driven Development(BDD)
Ti supportiamo nell’introduzion del BDD all’interno dei tuoi processi di sviluppo. Attraverso Analisti Funzionali, Designer e Sviluppatori accompagniamo il tuo personale verso il miglioramento della qualità del codice e della standardizzazione documentale. Grazie all’esperienza maturata in tantissimi settori, con numerosi Clienti e con un solido gruppo aziendale realizziamo la tua Web Application, PWA e Mobile App garantendola 12 mesi da qualsiasi bug. Contattaci subito e senza impegno per maggiori informazioni.