Software testing is the process of checking any computer software with the intention of finding any errors and correcting it. It undertakes to check it for its quality and reliability so that the end users are satisfied and do not face any problem once they start using it. Particular functions, specifications and performance of the developed software are examined and evaluated. The two processes combined to check software are Validation and Verification . Verification undertakes to see if the software is conforming to its specification or not whereas Validation is the process of checking what the user really requires.