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?

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?