Don’t be fooled into thinking that software testing procedures are a waste of time and effort. Documented procedures for testing software must be in place before testing begins. Lack of software testing procedures or using procedures that are not clearly and completely defined often results in time delays and cost overruns; two things software marketers cannot afford, especially when staying ahead of the competition is crucial.
To be useful, software testing procedures must encompass all aspects of the software testing process. It’s vitally important that the procedures define the people who will be involved in the testing process, the skill set of each team member, and their availability for the duration of the testing cycle. For the software cycle to remain on track, the software testing procedure must also delineate a carved-in-stone testing schedule including dates of important milestones.To be effective and useful, software testing procedures require much more information.
Procedures must define guidelines for creating test cases. Include in this section the processes for running these test cases, and the creation, testing and maintenance of testing scripts. Also include here a thorough explanation of all other approaches that will be used during the software testing phase. It addition to a discussion of the specific processes for software testing, be sure to define the specific parts of the software to be tested during the stated timeframe.
Software testing procedures must also define the hardware and software resources that are needed to keep the testing process on track and the length of time each will be needed. If the resources are not available, it won’t be possible to meet project deadlines.
One aspect of software testing procedures that can be difficult to agree on is a definition of acceptable testing results. It’s imperative, however that a firm decision be made here. No software testing procedure should ever begin without a clear understanding of what results are and are not acceptable.
Finally, there needs to be a process for reporting the results of the software testing phase, including the reporting of bugs. Software testers are not responsible for fixing software problems; only reporting them. However, they are responsible for verifying that previously reported bugs have been fixed. It’s imperative that this process also be detailed in software testing procedures. Equally important is discussion of and procedures for regression testing. Software testers need to ensure that new fixes, and any software changes and enhancements do not adversely affected previously tested parts of the software.
Software testing is a critical component of the software development cycle. And software testing procedures are critical to the success of the testing phase. Software remains in a perpetual state of change which is why software testing, whether manual or automated, is so vital to a software product’s success. Typically, 30 – 40% of the software engineers employed at larger software development companies work on software testing and each of these individuals needs to understand his or her role in this ongoing process. Software testing procedures help ensure that they do.