Sto per assumere il compito di reimplementare un'interfaccia già definita (un set di file di intestazione C ++) in una base di codice relativamente grande e vecchia. Prima di fare ciò, vorrei avere la copertura di test più completa possibile, in modo da poter rilevare gli errori di reimplementazione il più presto e facilmente possibile. Il problema è che la base di codice già esistente non è stata progettata per essere facilmente testabile, con classi e funzioni (molto) grandi, un alto grado di accoppiamento, funzioni con (molti) effetti collaterali, ecc.
Sarebbe bello conoscere qualsiasi esperienza precedente con compiti simili e alcuni buoni e concreti suggerimenti su come procedere con l'adeguamento dei test automatici (unità, integrazioni, regressione, ecc.) Al codice legacy.