Sto per assumere il compito di reimplementare un'interfaccia già definita (un insieme di file di intestazione C ++) in una base di codice relativamente grande e vecchia. Prima di fare questo, vorrei avere la copertura di test più completa possibile, in modo da poter rilevare gli errori di reimplementation nel modo più rapido e semplice possibile. Il problema è che il codice base già esistente non è stato progettato per essere facilmente testabile, con classi e funzioni (molto) grandi, un alto grado di accoppiamento, funzioni con (molti) effetti collaterali, ecc.
Sarebbe bello sapere di qualsiasi esperienza precedente con attività simili e alcuni buoni e concreti suggerimenti su come è stato eseguito l'adeguamento dei test automatici (unità, integrazioni, regressione, ecc.) al codice legacy.