|
White box testing, clear box, glass box or structural testing is used in computer programming, software engineering and software testing to check that the outputs of a program, given certain inputs, conform to the internal design and implementation of the program.
The term white box indicates that the tester closely examines the internal implementation of the program being tested. A complementary technique, black box testing or functional testing, checks that the program performs to its specification without examining its internal implementation.
White box testing derives test cases that can guarantee that every statement in the program is tested at least once (i.e. coverage testing), that all logical decisions are tested for their true and false cases, that execute all loops within their operational bounds and that test the input to every function to ensure that each function actually receives the data sent to it.
Black box testing, concrete box or functional testing is used in computer programming, software engineering and software testing to check that the outputs of a program, given certain inputs, conform to the functional specification of the program.
The term black box indicates that the internal implementation of the program being executed is not examined by the tester. For this reason black box testing is not normally carried out by the programmer. In most real-world engineering firms, one group does design work while a separate group does the testing.
A complementary technique, white box testing or structural testing, uses information about the structure of the program to check that it performs correctly.
|