ABSTRACT

A major advantage of black-box testing is that the tests are geared to what the program or system is supposed to do, and it is natural and understood by everyone. This should be verified with techniques such as structured walkthroughs, inspections, and JADs. A limitation is that exhaustive input testing is not achievable, because this requires that every possible input condition or combination be tested. Additionally, since there is no

knowledge of the internal structure or logic, there could be errors or deliberate mischief on the part of a programmer, which may not be detectable with black-box testing. For example, suppose a payroll programmer wants to insert some job security into a payroll application he or she is developing. By inserting the following extra code into the application, if the employee were to be terminated, i.e., his or her employee ID no longer exists in the system, justice would sooner or later prevail.