Datasheet
26 β  Optimize Quality for Business Outcomes
In software testing, itβs usually a programmer that performs 
white-box tests. Often, multiple programmers will write tests 
based on certain code to gain various perspectives on possible 
outcomes.
In the fields of computer programming, software engineering, 
and software testing, white-box testing is used to check that the 
outputs of a program, given certain inputs, conform to the 
structural specifications of the program. In electrical hardware 
testing, every node in a circuit may be probed and measured 
(in-circuit test, or ICT). 
The most common techniques and approaches used in white-
box testing are syntax testing, statement testing, branch/deci-
sion testing, data flow testing, branch condition testing, branch 
condition combination testing, and modified condition deci-
sion testing. (For detailed descriptions of these test techniques, 
see Appendix A.) 
Black-Box Testing
In white-box testing we saw that the tester β usually the 
developer β had insight into how the application was devel-
oped. However, when a third-party or impartial tester does not 
know how the programs were developed, they can conduct 
black-box testing.
In computer programming, software engineering, and software 
testing, we use black-box testing (also known as concrete box 
or functional testing) to check that the outputs of a program, 
given certain inputs, conform to the functional specification of 
the program. In electrical hardware testing, we black-box test 
the specifications of the interface between the device and appli-
cation circuit.
The term black box indicates that the tester does not examine the 
internal implementation of the program being executed. For 
this reason, black-box testing is not normally carried out by the 
programmer. In most engineering firms, one group does 
design work and a separate group does the testing.
MQM.book Page 26 Wednesday, May 7, 2008 11:29 AM










