Software testing is verifying if a software meets the customer's requirements; if it has high quality; if it is bug free and if it is fit for use. Testing is important because it ensures that the product delivered is defect free which in turn emphasizes higher quality and proves to be cost effective.