Software testing is not all about routine manual job but a more challenging job where in the tester needs to come up with a genuine use case wherin the software breaks. Basically test enginner needs to start thinking from a point where the developers thinking ends up. Testing is all the more challenging because of time constraints. Many organizations will be ready to postpone their product launch when they find that some of feature has not been implemented. The same may not be the case when testing team says that they lack time to test. Many organizations have learnt the importance of software testing hard way.