Software testing is an investigation to ensure that the software system is defect free and to check whether the actual results match the expected results. Software testing also helps to identify gaps, errors or missing requirements in contrary to the actual requirements. It involves system components or execution of a software component to evaluate one or more properties of interest. Software Testing find out the bug and cause of defect then remove bug and cause of defect from software application. Software testing can illuminate other bugs if one bug is fixed, deeper bugs, or can even create new bugs. Software testing can provide objectives, risk of its failure to users or sponsors, independent information about the quality of software.