According to a report issued in June 2003 by the National Institute of Standards and Technology (NIST), defective software costs the U.S. economy an estimated $59.5 billion each year. Of that total, software users incurred 64 percent of the costs and software developers 36 percent. NIST suggests that improvements in testing could reduce this cost by about a third, or $22.5 billion, but that unfortunately testing improvements would not eliminate all software errors.
The testing phase involves bringing all the project pieces together into a special testing environment to test for errors, bugs, and interoperability, in order to verify that the system meets all the business requirements defined in the analysis phase.
The two primary activities involved in the testing phase are:
1. Write the test conditions.
2. Perform the system testing.
1. Write the test conditions.
Testing is critical. An organization must have excellent test conditions to perform an exhaustive test. Test conditions are the detailed steps the system must perform along with the expected results of each step. The tester will execute each test condition and compare the expected results with the actual results in order to verify that the system functions correctly.
2. Perform the System Testing
System developers must perform many different types of testing to ensure that the system works as expected. System developers must perform many different types of testing to ensure that the system works as expected. Often, the development team asks testers to ‘pound’ the system or ‘hit the system hard’. Stressing the system and attempting to actually cause a failure, often via unorthodox methods, is critical in determining the viability of the system and unforeseen problems.