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