written 5.2 years ago by |
How do we partition the whole input domain? Different equivalence classes are formed by grouping inputs for which the behavior pattern of the module is similar. The rationale of forming equivalence classes like this is the assumption that if the specifications require exactly the same behavior for each element in a class of values, then the program is likely to be constructed such that it either succeeds or fails for each value in that class. For example, the specifications of a module that determines the absolute value for integers specify different behavior patterns for positive and negative integers. In this case, we will form two classes: one consisting of positive integers and another consisting of negative integers.
Two types of classes can always be identified as discussed below:
Valid equivalence classes: These classes consider valid inputs to the program.
Invalid equivalence classes: One must not be restricted to valid inputs only. We should also consider invalid inputs that will generate error conditions or unexpected behavior of the program, as shown in 1.