Automated functional tests: taking your QA database back to a well known state