· Also known as structural testing
· White Box Testing is a software testing method in which the internal structure/design/implementation of the module being tested is known to the tester
· Focus is on ensuring that even abnormal invocations are handled gracefully
· Using white-box testing methods, you can derive test cases that
o Guarantee that all independent paths within a module have been exercised at least once
o Exercise all logical decisions on their true and false sides
o Execute all loops at their boundaries
o Exercise internal data structures to ensure their validity
· It is applicable to the following levels of software testing
o Unit Testing: For testing paths within a unit
o Integration Testing: For testing paths between units
o System Testing: For testing paths between subsystems
Advantages
· Testing can be commenced at an earlier stage as one need not wait for the GUI to be available.
· Testing is more thorough, with the possibility of covering most paths
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 is closely tied with the application being testing, tools to cater to every kind of implementation/platform may not be readily available