Information Technology Reference
In-Depth Information
Chapter 1
Introduction to Combinatorial Testing
Abstract This chapter gives an introduction to combinatorial testing, in particular,
an overviewof its applications. Some basic concepts, including Latin squares, orthog-
onal arrays, and covering arrays, are described in detail, with examples. Variants of
covering arrays, such as covering arrays with constraints, are also described.
1.1 Software Testing
Testing is an essential activity in software development. To ensure the correctness
of programs, or software quality in general, we usually test the programs (software
products) in one way or another.
There are many types of testing methods [ 31 ]. For example, we may distinguish
between white-box testing and black-box testing, depending on the availability of
source code. We also have various techniques for unit testing, integration testing, sys-
tem testing, and regression testing, corresponding to different phases in the software
development life cycle.
This topic is about a specific kind of black-box testing technique—combinatorial
testing. It can be used to test software and systems. The (software) system that is
being tested is called the System Under Test (SUT). This topic will focus on the
test data generation problem, i.e., how to generate a suitable set of input data for
combinatorial testing of the SUT.
1.2 Combinatorial Testing and Its Applications
In many cases (for example, during integration testing), the SUT has a number of
components or parameters, each of which may take some values. For instance, in the
system, we may consider the following components:
 
Search WWH ::




Custom Search