Software testing is an investigation conducted to provide stakeholders with information about the quality of the software under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to the process of executing a program or application with the intent of finding software bugs
Testing can never completely identify all the defects within software. It involves the execution of a software component or system to evaluate one or more properties of interest. A primary purpose of testing is to detect software failures so that defects may be discovered and corrected. Testing cannot establish that functions properly under all conditions but can only establish that it does not function properly under specific conditions.