Test di integrazione automatizzato di un'app C++ con un database

Test di integrazione automatizzato di un'app C++ con un database


Sto introducendo il test di integrazione automatizzato in un'applicazione matura che fino ad ora è stata testata solo manualmente.


L'app è basata su Windows e comunica con un database MySQL.


Qual è il modo migliore (inclusi i dettagli di eventuali strumenti consigliati) per mantenere i test indipendenti l'uno dall'altro in termini di transazioni del database che si verificheranno?


(Le modifiche all'origine dell'app per questo scopo particolare non sono un'opzione.)


Risposte:


Come stai verificando i risultati?


Se hai bisogno di interrogare il DB (e sembra che tu lo faccia probabilmente) per i risultati, sono d'accordo con Kris K, tranne per il fatto che mi sforzerò di ricostruire il DB dopo ogni test case, non solo ogni suite.


Questo aiuta a evitare pericolosi test di interazione


Per quanto riguarda gli strumenti, consiglierei CppUnit. Non stai davvero eseguendo unit test, ma non dovrebbe importare in quanto il framework xUnit dovrebbe darti il ​​framework di configurazione e smontaggio di cui avrai bisogno per configurare automaticamente il tuo dispositivo di test


Ovviamente ciò può comportare test a esecuzione lenta, a seconda delle dimensioni del database, della popolazione, ecc. Potresti essere in grado di allegare/scollegare database anziché eliminarli/ricostruirli.


Se sei interessato a ulteriori ricerche, dai un'occhiata ai modelli di test XUnit. È un bel libro e un buon sito web per questo genere di cose.


E grazie per l'automazione :)


Nick