Lavoriamo con BDD da un po 'di tempo e un problema che continua a crescere è legato all'ambito dei nostri scenari. Soprattutto quando si tratta di apportare modifiche alle funzionalità esistenti.
Come sviluppatore vedo gli scenari come affini a una specifica, es. questo è il cambiamento che è richiesto. Tuttavia, spesso sembrano andare in regressione o test di accettazione.
Quindi lo scenario 2 non richiederà alcuna modifica al codice, ma potrebbe indicare una funzione che richiede anche il test a seguito di una modifica apportata dallo scenario 1 (test di regressione). Oppure lo scenario 2 potrebbe fornire un test alternativo alla stessa funzione dello scenario 1 (test di accettazione).
A prima vista questo non sembra irragionevole, tuttavia aumenta notevolmente il numero di scenari, il che richiede più tempo per scrivere e rende più difficile per gli sviluppatori vedere il legno per gli alberi.
Quale dovrebbe essere l'ambito degli scenari quando si apporta una modifica alla funzionalità esistente? Possiamo avere uno scenario che specifica una modifica in termini generici piuttosto che uno scenario separato per ciascuna funzione correlata?