Software development life cycle (SDLC) is well structured sequence of stages consisting of all the steps that are required to develop quality software. It starts with gathering the requirement s from the user end followed by analysis of requirements, designing, coding, testing and maintenance of software. Testing is very important step to validate and verify the user requirements. A testing engineer designs various test cases to create different test scenario. Either manual testing or automated testing is then used to execute the test cases so that hidden defects can be reported. Peer review, walk through and inspection are three main techniques used for verification. Similarly validation also involves unit testing, system testing and integration testing to test the system at different stages. The white box testing is used to validate the internal structure of the system and the testing used to validate client requirements comes under black box testing. When to start and stop testing actually depends on which software model we are using to develop the software.