No, companies do it after you accept the offer. That way they only pay for one test per job opening (assuming everything comes back fine). As far as background checks, they usually look for the following things:
- Criminal record
- Driving record
- Credit check
- Employment verification
About 95% of the time, it's the employment verification that takes the longest. I've had employment verifications take over 3 weeks because one former company was bought out and their personnel records were screwed up (for some reason they wouldn't forward the call to a former mgr of mine). Then another former company told the hiring company they didn't do employment checks at all (still don't know why they did that). It's totally acceptable to ask the hiring company what is taking so long and what you can do, if anything, to expedite the process.