Suppongo che la migliore risposta a questa domanda sia basata sulla necessità.
Al mio lavoro, ci segregano i nostri dati/codice di prova da ambiente di tipo come:
- prova
- QA
- Staging
- Produzione
Alcuni ambienti hanno gli stessi dati della produzione, mentre altri hanno dati più vecchi (o completamente diversi) . I vantaggi di questo sono:
- Sandbox per testare, implementare e "giocare" con nuove idee/tecnologie.
- Non si stanno influenzando i dati dal vivo, relativi al cliente.
- I test integrati possono essere adattati a/focalizzati su determinati aspetti che sono agnostici alla base del codice principale.
Ora, come alle vostre domande ... come ho già detto, la segregazione dei dati consente per noi di fare rapidamente modifiche e implementare nuove funzionalità in quanto i dati che utilizziamo è focalizzata sulla ciò che stiamo testando. Abbiamo tre tronchi che hanno tutti dati di test indipendenti specifici per ciò che deve essere testato. Quando testiamo il View
abbiamo una serie di test, quando testiamo il abbiamo un altro set di test e quando testiamo il Controller
abbiamo ancora un altro set di test. Infine, abbiamo una serie di test di integrazione che vengono eseguiti quando viene rilasciata una nuova build. In tutti i casi tranne l'ultimo, i test vivono con il componente per cui sono stati creati; ma ancora una volta, poiché sono test di integrazione, ha senso che siano tenuti separati dei tre pezzi che verificano.
Penso che la tua idea sia solida.