I'm currently working on a small testing farm at work and especially the part of resetting the machines after a test was run gives me some headaches.
Before we decided to get a couple of dedicated test machines with different hardware configurations the plan was to run the tests on a single machines using Hyper-V so cleaning up afterwards was just a matter of deleting the actual VM.
Unfortunately resetting a complete machine is a bit more expensive in terms of time and I guess also in terms of hardware weart out over the years if you do it often enough.
I believe that simply deinstalling the installed software won't be sufficient as there might be some files / redistributables left on the system which make subsequent test runs less useful.
I also believe that running Hyper-V VMs on the test machines would adversely affect the test results, especially on the weaker hardware configurations.
I really would like to know if there are some existing solutions to this problem and what would be the smartest way to do this.