What is Software Testing?

Software Testing is a process to determine that the software products satisfy customers requirements and fit for customers use.
Software testing can be stated as the process of validating and verifying that a software program/application/product:
  1. Meets the requirements that guided its design and development.
  2. Works as expected.
  3. Can be implemented with the same characteristics.