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. (2004-01-18)