1 Equivalence Partitioning
This technique relies on looking at the set of valid inputs specified for the unit and dividing it up into
classes of data that, according to the specification, should be treated identically.
One set of test data is then devised to represent each equivalence class. The premise is that any
representative will be as good as any other in the same class at finding bugs in the handling of that class.
Thus if the input data ranges for some system can be identified as (say):
??? 100 > x < 100
??? 0 < x > 300
??? 20 > x < 250
these can be represented as shown below.
From this it can be seen that the data can be partitioned into the following sub-ranges:
??? [100
?‰?
x
?‰¤
20]
??? [20 < x
?‰?
0]
??? [0 > x < 100]
??? [100
?‰?
x < 250]
??? [250
?‰?
x < 300]
Implicitly, any set of figures, each one drawn from a single sub-range, is as good as any other.
11.2 Boundary-Value Analysis
This complements equivalence partitioning by looking at a fruitful source of bugs ??” the boundaries of
the input equivalence classes.
Test cases
are devised that exercise the unit or system with data chosen
from these boundaries, and also with data chosen to exercise it on the boundaries of output data as well.
For instance, if an input is specified from 0 to 255, the equivalence class partitioning leads to values less
than 0, between 0 and 255, and greater than 255 as test input and boundary value analysis would suggest
adding the following values:
FIGURE 11.
Pages:
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413