White box testing
White Box Testing (also known as Clear Box Testing, Open Box Testing, Glass Box Testing, Transparent Box Testing, Code-Based Testing or Structural Testing) is a software testing method in which the internal structure/design/implementation of the item being tested is known to the tester. The tester chooses inputs to exercise paths through the code and determines the appropriate outputs. Programming know-how and the implementation knowledge is essential. White box testing is testing beyond the user interface and into the nitty-gritty of a system.
This method is named so because the software program, in the eyes of the tester, is like a white/transparent box; inside which one clearly sees.
- White Box Testing – Example
- A tester, usually a developer as well, studies the implementation code of a certain field on a webpage, determines all legal (valid and invalid) AND illegal inputs and verifies the outputs against the expected outcomes, which is also determined by studying the implementation code.
White Box Testing – Levels applicable
- White Box Testing method is applicable to the following levels of software testing:
- Unit Testing: For testing paths within a unit
- Integration Testing: For testing paths between units
- System Testing: For testing paths between subsystems
However, it is mainly applied to Unit Testing.
- White Box Testing – Advantages
Testing can be commenced at an earlier stage. One need not wait for the GUI to be available.
Testing is more thorough, with the possibility of covering most paths.
- White Box Testing – Disadvantages
Since tests can be very complex, highly skilled resources are required, with thorough knowledge of programming and implementation.
Test script maintenance can be a burden if the implementation changes too frequently.
Since this method of testing it closely tied with the application being testing, tools to cater to every kind of implementation/platform may not be readily available.
White Box Testing is like the work of a mechanic who examines the engine to see why the car is not moving.
- White Box Testing – Definition by ISTQB
white-box testing: Testing based on an analysis of the internal structure of the component or
white-box test design technique: Procedure to derive and/or select test cases based on an
analysis of the internal structure of a component or system.