Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

My apps must run on legacy Windows up until 95. I don't own any hardware that could run such outdated OS's but my clients do. I develop my apps on Windows 7, but all use plain old C++ and stl along with compatible Windows API.

How can I test whether my apps run as intended on all the systems?

A VM is an obvious choice but how reliable are they in mimicking real hardware that are more than a decade old? I want to test for both speed and functionality.

share|improve this question

A VM is a great test machine. In fact, unless you are using/testing specialized hardware, it's probably a better test machine than a physical box.

share|improve this answer
We use them extremely frequently for my developers. I won't say you will NEVER run into an issue that was based in the VM vs a physical machine but that is a simple reality for today's world. – OG Chuck Low Dec 23 '11 at 15:30
VM + experimental drivers = not a good idea. – soandos Dec 23 '11 at 16:47

Functionality-wise, the VM is fully-functional and can be used as a testing machine, unless you're using specialized hardware. Some USB- or serial-connected devices are supported, but anything else is problematic.

However, speed-wise, you need to take into account that your virtual machine can be an order of magnitude faster than real hardware which is 10 years old. Thus, the fact that something that runs acceptably fast on your VM does not mean that it will be fast enough on real hardware. I'm not aware of any virtualization platform that can throttle CPU or I/O performance manually.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .