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.
The notion of a "Black Box in a Glass Box" was originally used as a metaphor for teaching complex topics to computing novices.[6]
^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.
^Höök, Kristina; Karlgren, Jussi; Waern, Annika; Dahlbäck, Nils; Jansson, Carl Gustaf; Karlgren, Klas; Lemaire, Benoît (1998). "A glass box approach to adaptive hypermedia". Adaptive hypertext and hypermedia: 143-170.
^Karlgren, Jussi; Höök, Kristina; Lantz, Ann; Palme, Jacob; Pärgman, Daniel (1994). "The glass box user model for filtering". Fourth international conference on User Modeling.
^Raj, Arun (2020). "Explainable AI: From black box to glass box". Journal of the Academy of Marketing Science. 48 (1): 137-141.
^Höök, Kristina; Karlgren, Jussi; Waern, Annika (1995). "A glass box intelligent help interface". First Workshop on Intelligent Multimodal Interfaces.
^du Boulay, Benedict; O'Shea, Tim; Monk, John (1981). "The black box inside the glass box: presenting computing concepts to novices". International Journal of Man-Machine Studies. 14 (3): 237-249.