posted 22 years ago
Black box testing is seeing the system under test as a "black box" - that is, you only know input and output, but not what happens inside the box. With other words, the tests don't know or assume anything about the internals of the system - specifically, they don't have access to anything inside the box.
The advantage of black box testing is that the tests remain totally valid when you change the implementation of "the box".
White box testing is exactly the opposite: testing by using knowledge about the implementation or even accessing the innards of the "box".
The advantages of white box testing are that sometimes it is *much* easier to test something by knowing about its innards, and that some of the more interesting test cases (like boundary conditions) often heavily depend on the implementation details (the critical test cases for merge sort would probably look rather different from those for quick sort, for example).
[ January 17, 2003: Message edited by: Ilja Preuss ]
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus