Ci sono alcune cose che un ambiente CI non può controllare in modo efficace. O cose che sono proibitive da implementare in un processo di compilazione di elementi di configurazione.
Ad esempio, lavoro con sistemi embedded che funzionano su tutti i tipi di macchine fisiche. È incredibilmente difficile e francamente impossibile modellare virtualmente l'intera macchina fisica per tutte le possibilità.
Le combinazioni hardware specifiche causano solo problemi. Le connessioni fisiche tra diversi componenti possono causare problemi. La velocità di scrittura del disco su sistemi "virtuali" rispetto al sistema di distribuzione potrebbe cambiare, con conseguenti diversi errori.
CI può fare un ottimo lavoro testando singoli pezzi di un grande sistema per verificare che funzionino correttamente. Ma scrivere in alcuni casi un simulatore / emulatore completo "replichi perfettamente il tuo prodotto in un ambiente di test CI" non è possibile in alcuni casi.
Quindi un dipartimento QA può aggiungere molto valore in situazioni come questa.
Se è possibile sviluppare un sistema di CI per testare in modo completo e completo tutti i processi, è possibile trarre vantaggio dallo spostamento di tutti i test in CI e una minore necessità di controllo qualità. Ma in molte applicazioni questo non è affatto banale.