SWE 637 In Class Exercise Number 4
This is an Input Space Partitioning exercise. Work in groups.
It's from chapter 6 of the text: 6.2 (Number 4) page 90.
Consider the method intersection()
below,
along with a defective IDM:
public static <E> Set<E> intersection (Set<E> s1, Set<E> s2)
public static Set intersection (Set s1, Set s2)
/**
* @param s1, s2 : sets to compute intersection of
* @return a (non null) Set equal to the intersection of Sets s1 and s2
* @throws NullPointerException if s1 or s2 is null
*/
Characteristic: Type of s1
- s1 = null
- s1 = {}
- s1 has at least one element
Characteristic: Relation between s1 and s2
- s1 and s2 represent the same set
- s1 is a subset of s2
- s2 is a subset of s1
- s1 and s2 do not have any elements in common
-
Does the partition "Type of s1" satisfy the completeness property? If not, give a value
for s1 that does not fit in any block.
-
Does the partition "Type of s1" satisfy the disjointness property? If not, give a value
for s1 that fits in more than one block.
-
Does the partition "Relation between s1 and s2" satisfy the completeness property? If
not, give a pair of values for s1 and s2 that does not fit in any block.
-
Does the partition "Relation between s1 and s2" satisfy the disjointness property? If
not, give a pair of values for s1 and s2 that fits in more than one block.
-
If the "Base Choice" criterion were applied to the two partitions (exactly as written),
how many test requirements would result? How about "Pair-Wise"?
-
Revise the characteristics to eliminate any problems you found.
-
The given method header is not generic. How should it be fixed?
Does doing so eliminate any possible faults in this example?