# SWE 437 In Class Exercise # 14 Input Space Partitioning

Names:
Instructions: Work with your neighbors in groups. This is an Input Space Partitioning exercise. It's #4 from exercises 6.2 (page 90). Consider the method `intersection()` below, along with a defective IDM:
```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 for the characteristic "Type of s1" satisfy the completeness property? If not, give a value for s1 that does not fit in any block.

• Does the partition for the characteristic "Type of s1" satisfy the disjointness property? If not, give a value for s1 that fits in more than one block.

• If necessary, fix "Type of s1".

• Repeat the prior 3 steps for the characteristic "Relation between s1 and s2".

• If the "Base Choice" criterion were applied to the two partitions (exactly as written), how many test requirements would result?

• If the "Base Choice" criterion were applied to the repaired partitions, how many test requirements would result? Write out these test requirements.

• Are all of these feasible? If not, what should happen with the infeasible requirements?

• Refine the test requirements into tests.

• If the "Pair Wise" criterion were applied to the repaired partitions, how many test requirements would result? Write out these test requirements. How many would be feasible?