Non riesco a utilizzare i test di unità per alcune parti del codice, quindi sto tornando ai test di regressione. Vorrei verificare se il mio programma si comporta nello stesso modo dopo alcune modifiche. E per comportamento intendo principalmente uno stato di strutture dati. Finora li stavo serializzando in un formato di testo leggibile e scaricato su alcuni file nella prima esecuzione. Quindi nelle prossime discariche potrei confrontare se lo stato è cambiato o no. E aggiornarlo se la modifica proviene da una nuova funzionalità e non da un bug.Test di regressione in C++
Potrei usare una libreria (C++) per organizzare tutto ciò. Conosci qualche? Insieme ai file di dump fornirebbe un test unitario economico e massiccio.
La cosa più ingombrante sono le procedure di serializzazione. A volte basta scaricare lo stato della memoria, ma quando è diverso è difficile decodificare. Così mi sono trasferito su un altro metodo. Ora, durante la fase di confronto, leggo un dump di memoria in un oggetto "fantasma" ed eseguo un metodo diff specializzato (operatore == con report di errori ricchi), che a volte è più facile da scrivere rispetto alla serializzazione in formato di testo leggibile.
Fondamentalmente ho voglia di reinventare la ruota, quindi le mie domande sono abbastanza generali:
Come si eseguono i test di regressione (se lo si fa)?
Usi qualsiasi libreria/toolkit?
Avete mai implementato uno per le vostre esigenze?
E solo per curiosità:
Hai mai desiderato eseguire test di regressione, ma qualcosa ti ha fermato?
Solo per curiosità ... perché non è possibile utilizzare il test dell'unità? – nathan
Principalmente perché il sistema funziona su enormi quantità di dati ed è difficile scrivere dispositivi per testare le subroutine. –