White box (software engineering)

From Wikipedia, the free encyclopedia
Jump to: navigation, search

A white box[citation needed], in contrast to a black box, is a subsystem whose internals can be viewed, but usually cannot be altered.

Having access to the subsystem internals in general makes the subsystem easier to understand, but also easier to hack; if a programmer, for example, can examine source code, weaknesses in an algorithm are much easier to discover. This makes white box testing much more effective than black box testing, but considerably more difficult due to the sophistication needed on the part of the tester to understand the subsystem.

Also known as glass box, clear box, or open box.

In practice some white box systems are so complex that it might as well be a Black box.