Black-Box Testing

Interchangeable parts are supposed to satisfy the same spec, but they may be different inside.

When we test them, therefore, we must test them only against the spec, ignoring their insides.

In other words, a black-box test must be correct client code. It must work with all possible implementations of the abstract data types it uses as well as with all possible implementations of the thing it is testing.

For debugging: Click here to validate.