Questa domanda è per tester esperti o puntali. Questo è uno scenario di un progetto software:
Supponiamo che il team di sviluppo abbia completato la prima iterazione di 10 funzionalità e l'abbia rilasciata ai test di sistema. Il team di test ha creato casi di test per queste 10 funzioni e ha stimato 5 giorni per i test. Il team di sviluppo ovviamente non può rimanere inattivo per 5 giorni e iniziano a creare 10 nuove funzionalità per la prossima iterazione. Durante questo periodo il team di test ha riscontrato difetti e ha sollevato alcuni bug. I bug hanno la priorità e alcuni di essi devono essere corretti prima della prossima iterazione. Il problema è che non accetterebbero la nuova versione con nuove funzionalità o modifiche alle funzionalità esistenti fino a quando tutti questi bug non fossero stati corretti. Il team di test afferma che è così che possiamo garantire una versione stabile per i test se introduciamo anche nuove funzionalità insieme alla correzione dei bug. Inoltre, non possono eseguire test di regressione di tutti i loro casi di test per ogni iterazione.
Ciò significa che il team di sviluppo deve creare un ramo di codice esclusivamente per la correzione di bug e un altro ramo in cui continuano lo sviluppo. Vi è un maggior sovraccarico di fusione specialmente con refactoring e modifiche architettoniche.
Sei d'accordo se questo è un principio di test comune. La preoccupazione del team di test è valida? Hai riscontrato questo in pratica nel tuo progetto.