Originally we pulled existing users from our Database for our Acceptance Tests.
This worked for the most part, and then we started getting random errors. Tests failing one day, working the next.
It was discovered some of the test users randomly called from the database were modified users. Their data was bad: bad passwords, bad info, or just in weird states.
To resolve this, we started creating users (rather then pulling them from the db) by using an quick API. Users are created in a matter of seconds and they are starting from a clean slate, with known attributes.
This has significantly lowered the random failures we were getting.