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)