Software Testing is an important and integral part of your product/application development life cycle as everyone wants to develop something that is bug free. Hence, you do not want to compromise quality and neither would you like to spend too high.

Software testing is required to point out the mistakes and errors that were made during the development phases.
Software testing is a process of verifying and validating that a software application or program
1. Meets the business and technical requirements that guided its design and development, and
2. Works as expected.
Software testing also identifies important defects, flaws, or errors in the application code that must be fixed. The modifier “important” in the previous sentence is, well, important because defects must be categorized by severity
Software testing has three main purposes: verification, validation, and defect finding.
Testing is a process aimed at:
•              Finding defects in a controlled manner, finding faults in the software
•              Detecting the level of quality of the test object
•              Demonstrating the gap between specifications and the actual product
•              Demonstrating that the end product functions as called for in the requirements
•              demonstrating that there are no faults in the software (for the test cases that has been used during testing)
•              It is not possible to prove that there are no faults in the software using testing
•              Testing should help locate errors, not just detect their presence
•              a “yes/no” answer to the question “is the program correct?” is not very helpful
•              Testing should be repeatable
•              could be difficult for distributed or concurrent software
•              effect of the environment, uninitialized variables
Testing is not:
•              Implementation
•              Acceptance
•              Defect repair
•              A phase after development – although testing includes a phase after development
•              Training on a new system
Let us Learn about software testing in details with following links –
Let us Study Software Testing in details with below topics.