Il nostro team sta attualmente affrontando una situazione in cui stiamo modificando una funzionalità presente nel prodotto oggi. Questa funzione ha i test di automazione del selenio associati.
Stiamo eseguendo una revisione abbastanza importante del sistema, inclusa la sua interfaccia utente. Ci aspettiamo che questo lavoro prenda parecchi sprint. Durante questo periodo, altri team potrebbero svolgere attività che potrebbero influire sulla funzionalità così com'è oggi. Per questo motivo, vogliamo che i test di automazione esistenti per la funzione rimangano intatti in modo che possano rilevare i problemi.
Naturalmente, avremo bisogno di scrivere l'automazione per la funzione, come sarà dopo che saranno state apportate le modifiche. Il modo più efficiente per farlo in una prospettiva Dev / QA sarebbe modificare i casi di test esistenti in un ramo separato (test localmente) e quindi unire tali modifiche quando la funzione è pronta. In questo modo l'automazione esistente continua a funzionare e non è necessario eseguire ulteriori lavori duplicando ogni test.
Tuttavia, questo ramo separato non si adatta bene ai principi dell'integrazione continua (a cui la nostra organizzazione piace aderire). La nostra unica opzione conforme allo standard CI è quella di fare un ulteriore extra di duplicazione dei test per la modifica?