Software testing is a process which evaluates the quality and checks the potency of the program for the required output. Software testing is the most important functionality in the software development life cycle as it exhibits all the mistakes and error in the developed software. Without rectifying these error, which in the technical words are called "Bugs" the software development is not considered to be complete. Hence software testing is an important parameter for the assured quality of the product. There are number of techniques and tools for accomplish the task of software testing.