Finding good test input can be tricky. Even with loads of unit tests, bugs still get through. Why not just generate input and let that find the edge cases?
Applications should be tested in a production-like environment. I recently used The Grinder, a load testing tool, to simulate production-like conditions.