White box (software engineering)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Black box systems
Black box diagram.svg
Black box · Oracle machine
Methods and techniques
Black-box testing · Blackboxing
Related techniques
Feed forward · Obfuscation · Pattern recognition · White box · White-box testing · Gray 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.[1] The term is used in systems engineering as well as in software engineering.

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.[citation needed] 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.

Mathematical models for complex systems

See also[edit]


  1. ^ Patrick J. Driscoll, "Systems Thinking," in Gregory S. Parnell, Patrick J. Driscoll, and Dale L. Henderson (eds.), Decision Making in Systems Engineering and Management, 2nd. ed., Hoboken, NJ: Wiley, 2011, 40.