White box (software engineering)
Encyclopedia
In software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

 white box, in contrast to a black box, is a subsystem whose internals can be viewed, but usually cannot be altered. This is useful during white box testing
White box testing
White-box testing is a method of testing software that tests internal structures or workings of an application, as opposed to its functionality...

, where a system is examined to make sure that it fulfills its requirements.

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
Black box testing
Black-box testing is a method of software testing that tests the functionality of an application as opposed to its internal structures or workings . Specific knowledge of the application's code/internal structure and programming knowledge in general is not required...

, 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.

White box also refers to a system that is visible, but which is so complex that it might as well be a Black box
Black box
A black box is a device, object, or system whose inner workings are unknown; only the input, transfer, and output are known characteristics.The term black box can also refer to:-In science and technology:*Black box theory, a philosophical theory...

.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK