Software testing is the activity that executes software with an intention of finding errors in it. Testing should be performed at different levels, including module level testing, unit level testing, interface testing and system level testing. Testing is done both at developer end and customer end and it is performed by tester s as well as the customer before delivery of the product but it can ensure a fair level of confidence in the predictable behaviour of the product in the provided conditions.