Questa è una domanda sul processo Gitflow. In tutta la documentazione (e i diagrammi) che ho letto su Gitflow, indicano sempre che una volta che una funzionalità è stata completata, viene unita al ramo di sviluppo.
Ma l'unica cosa che non ho mai trovato da nessuna parte è qual è la definizione di "un prodotto finito"? Il testing (Quality Assurance, User-Acceptance-Testing, ecc.) Dovrebbe avvenire nel ramo stesso della funzione, oppure è uno sviluppatore che dovrebbe unire le proprie modifiche al ramo di sviluppo non appena determinano che la loro implementazione è completa (ma prima di Accettazione QA / UAT)?
Logicamente, mi aspetterei che QA / UAT si verificassero nel ramo di funzionalità stesso per la semplice ragione che altrimenti il codice di scarsa qualità potrebbe trovare la sua strada nel ramo di sviluppo e contaminare altri rami di sviluppo.
Tuttavia, se questo è il caso, vuol dire che ogni nuova funzionalità viene testata indipendentemente dalle altre funzionalità, e solo una volta che tutto è stato fuso per sviluppare un test completo di regressione su più funzionalità? I test di regressione completi dovrebbero avvenire solo una volta creato un ramo di rilascio?