White box (software engineering)
|Black box systems|
|Black box · Oracle machine|
|Methods and techniques|
|Black-box testing · Blackboxing |
|Feed forward · Obfuscation · Pattern recognition · White box · White-box testing · System identification|
|A priori information · Control systems · Open systems · Operations research · Thermodynamic systems|
A white box (or glass box, clear box, or open box) is a subsystem whose internals can be viewed but usually not altered.
Having access to the subsystem internals in general makes the subsystem easier to understand but also easier to hack; for example, if a programmer can examine source code, weaknesses in an algorithm are much easier to discover. That makes white-box testing much more effective than black-box testing but considerably more difficult from the sophistication needed on the part of the tester to understand the subsystem.