Software testing is the least understood of the steps in the software engineering process.
Because of the high cost associated with testing, research in software quality assurance, automated testing, and test procedures is being conducted at an ever-increasing rate. A systematic process planned in advanced, used to explicitly verify software conformance to specification. The process of testing several unit-tested modules as a whole, to assure compliance with the design specification. A document for integration and validation testing that defines segments or procedures to validate each software function, a schedule for testing each function, and any software that must be developed to simulate hardware or software not available to the developer. A formal procedure used by large software development organization where an independent test team takes responsibility for planning and executing the integration and validation tests in order to minimize residual errors and promote software quality.