Thats pretty much what I currently do, I have 2 setups that mimic each other, one is production and one is for testing, all upgrades since version 3 are tested on the latter. I setup a few accounts on the production one, to always forward to the test server, and I send replies from the test server with the identity of the production server account. So people replying don't get confused and think I started working for another company.
This obviously requires 2 domains and 2 separate MX records, though I find it to be the best way to find hiccups in any release.