Equivalence class partitioning
<testing> A software testing technique that involves identifying a small set of representative input values that invoke as many different input conditions as possible.
For example, for
binary search the following partitions exist: inputs that do or do not conform to pre-conditions, Inputs where the key element is or is not a member of the array.
One can combine these into finer partitions.
One can also pick specific conditions of the array, e.g. a single value, even or odd number of elements.
One should look at boundary conditions, e.g. inputs where the key element is the first or last element in the array.