4 - Input Space Partitioning
from Part 2 - Coverage Criteria
Summary
In a very fundamental way, all testing is about choosing elements from the input space of the software being tested. The criteria presented previously can be viewed as defining ways to divide the input space according to the test requirements. The assumption is that any collection of values that satisfies the same test requirement will be “just as good.” Input space partitioning takes that view in a much more direct way. The input domain is defined in terms of the possible values that the input parameters can have. The input parameters can be method parameters and global variables, objects representing current state, or user-level inputs to a program, depending on what kind of software artifact is being analyzed. The input domain is then partitioned into regions that are assumed to contain equally useful values from a testing perspective, and values are selected from each region.
This way of testing has several advantages. It is fairly easy to get started because it can be applied with no automation and very little training. The tester does not need to understand the implementation; everything is based on a description of the inputs. It is also simple to “tune” the technique to get more or fewer tests.
Consider an abstract partition q over some domain D. The partition q defines a set of equivalence classes, which we simply call blocks, Bq.
- Type
- Chapter
- Information
- Introduction to Software Testing , pp. 150 - 169Publisher: Cambridge University PressPrint publication year: 2008