Use uma máquina virtual e antes de instalar o aplicativo a ser testado, tire um instantâneo da VM. Quando terminar de testar o programa, role a VM de volta ao ponto de captura instantânea.
Alguns produtos de virtualização até suportam recursos de diferenciação que permitem criar uma VM pai e, em seguida, criar um filho que basicamente rastreia apenas as alterações feitas no pai. No seu caso, você pode criar um filho antes de testar seu aplicativo e, em seguida, simplesmente excluí-lo quando terminar (sem necessidade de "retroceder").