Rule 4: Coding Time = Testing Time
Listen carefully: It takes just as much time to test software as to code it. In my experience, if you spend an hour writing code, it's reasonable to expect to spend an hour between unit and system tests; if you spend a day writing a piece of code, you can expect the testers to spend a day testing it; and so on.
I'm amazed that project plans allocate so little time to testing, particularly in web development. But it's a "pay me now or pay me later" thing. In terms of third-party development, if you don't allocate the right amount of time to testing the code, the client will. Client testing will manifest itself as irate phone calls in the middle of the night, wanting to know why the software (for which they just paid you half a kazillion dollars) is not working. And they want it fixed right nownot later today or tomorrownow!