White-box testing, sometimes called glass-box testing, is a test-case design philosophy that uses the control structure described as part of component-level design to derive test cases. Using white-box testing methods, you can derive test cases that
- Guarantee that all independent paths within a module have been exercised at least once
- Exercise all logical decisions on their true and false sides
- Execute all loops at their boundaries and within their operational bounds
- Exercise internal data structures to ensure their validity
White Box Testing method is applicable to the following levels of software testing:
- It is mainly applied to Unit testing and Integration testing
- Unit Testing: For testing paths within a unit
- Integration Testing: For testing paths between units
- System Testing: For testing paths between subsystems
White box testing advantages
- Testing can be commenced at an earlier 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