Within most organizations, software is continuously changing so software testing is a critical part of the software development life cycle (SDLC). Because of this, software test procedures are very important to the success of the testing phase of the SDLC. A software test procedure is a specification of the test cases that will be used to verify the correct operation of a software module or application. Test procedures can be performed manually or be automated and can be a deliverable in the SDLC.
Project cost overruns and delayed delivery are often the result of unclear or non-existent software test procedures so it is important for these procedures to be documented before the testing phase begins. In order to be useful, the test procedure has to cover all aspects of the testing process. Think includes specifying the personnel that is to be involved, the skills and availability required for that personnel, and a testing schedule with specific dates and milestones. Besides personnel software testing procedures should also specify the hardware and other software resources that will be required for testing and how long they will be needed. This has to be provided before testing begins so that resources that are not currently available can be acquired in time to meet the project deadlines.
Test procedures must also provide guidelines for the creation of test cases, the process for running these test cases, and if necessary, guidelines for creating, testing and maintaining test scripts. Test procedures should also include a complete explanation of all of the approaches that will be used during the testing phase and a definition of the exact modules of the software application that will be tested during each time period. Also, testers must have a clear understanding to the expected results so all test cases must have a clearly defined set of acceptable results before testing begins. The last part of the test procedure involves the reporting of test results. This includes a process for reporting bugs in the software.