White box testing (a. k. a. clear box testing, glass box testing or structural testing) uses an internal perspective of the system to design test cases based on internal structure. It requires programming skills to identify all paths through the software. The tester chooses test case inputs to exercise paths through the code and determines the appropriate outputs. In electrical hardware testing, every node in a circuit may be probed and measured; an example is in-circuit testing (ICT). In-circuit test (ICT is an example of White box testing where an electrical probe tests a populated printed circuit board (PCB checking for shorts opens resistance
Since the tests are based on the actual implementation, if the implementation changes, the tests probably will need to change, too. For example ICT needs updates if component values change, and needs modified/new fixture if the circuit changes. This adds financial resistance to the change process, thus buggy products may stay buggy. Automated optical inspection (AOI) offers similar component level correctness checking without the cost of ICT fixtures, however changes still require test updates. Automated optical inspection ( AOI) is an automated Visual inspection of a wide range of products such as Printed circuit boards (PCBs LCDs
While white box testing is applicable at the unit, integration and system levels of the software testing process, it is typically applied to the unit. In Computer programming, unit testing is a method of testing that verifies the individual units of Source code are working properly 'Integration testing'(sometimes called Integration and Testing abbreviated I&T) is the phase of Software testing in which individual software modules are combined and tested System testing of software or hardware is testing conducted on a complete integrated system to evaluate the system's compliance with its specified Requirements. Software testing is an Empirical investigation conducted to provide stakeholders with information about the quality of the product or service under test, with respect to the While it normally tests paths within a unit, it can also test paths between units during integration, and between subsystems during a system level test. Though this method of test design can uncover an overwhelming number of test cases, it might not detect unimplemented parts of the specification or missing requirements, but one can be sure that all paths through the test object are executed.
Typical white box test design techniques include: