Quando viene implementata una nuova funzionalità di un applicativo spesso si deve, oltre all’aggiunta del codice necessario all’esecuzione delle nuove istruzioni, anche modificare parte del codice esistente. Può anche verificarsi che le nuove operazioni compiute dal programma entrino in qualche modo in conflitto con le operazioni che eseguiva prima dell’aggiornamento.

Il Test di Non Regressione si occupa di verificare che, all’atto di upgrade di un applicativo, tutte le funzionalità che devono continuare ad essere attive non vengano in alcun modo compromesse.

Per valutare attentamente l’impatto di ogni aggiunta di codice, questo tipo di test richiede di memorizzare i casi di test ai quali viene sottoposto il software ed archiviare i risultati ottenuti.
In seguito ad interventi sul codice, saranno rieseguiti in modo identico i casi di test registrati, mantenendo invariati eventuali drivers e stubs, per controllare che i nuovi risultati coincidano con quelli archiviati.