Software Testing is a process where the professional verifies if a software is accurate, complete and of great quality. It simply means checking if a software meets specifications and meets its intended purposes. Thus, Software testing is an art to ensure the quality is in accordance with the requirements of the end- user. It is a systematic process to find the defects of a system. In addition to that, software testing finds out whether the current software is a match with the clients requirements. Finally, it finds errors and requirements that are missing from the actual requirements.