Another trick that comes to mind is adding a little smarts to your tests to prevent multiple runs from stomping on each other.
For StatusNet's remote subscription features, I have a client-side test set which registers user accounts on two sites and confirms that behavior is as expected posting messages back and forth.
Subsequent test runs don't interfere with each other since each run uses a unique random username pair.
This lets me do casual test runs on both local and remote test instances without any special setup; automated batch runs would probably reinitialize the test instances between runs for good measure.
-- brion