You could use virtual machines.
With a virtualization software like VirtualBox or VMWare you can simulate a computer inside a computer. You can install any operating system in them and you can artificially restrict the amount of hardware and CPU power the virtual machines have available.
This is of course not nearly as conclusive as testing on real hardware, especially when it comes to performance benchmarking. When you really want to know how fast a software runs on a given hardware, there is no way around actually testing it on that hardware.
But virtualized testing can still save you a lot of time and money.