I have money for one powerful test server. I run two instances for availability reasons.
For example, let's say I have an integration test environment and an acceptance test environment...
On the integration test environment, I want to be able to tinker with the configs and bring the app up and down much more frequently.
On the acceptance test environment, testers are hammering this, so I don't want this to come down as I'm testing the integration environment.
Why not buy two servers you might ask? Well, $$. This is a smaller outfit and this saves us lots of money. This is just one simple example of how I use the same server for multiple things. There are plenty of others, but this is my standard practice when I don't have lots of resources for servers.
Thanks,
Tony