Input domain partitioning involves dividing the set of all possible inputs for a program into equivalence classes. This allows proving correctness by testing a finite number of test cases rather than all possible inputs. Key steps are identifying the input domain, equivalence classes, and combining classes while removing infeasible combinations. Interface-based and functionality-based input parameter modeling identify testable components, parameters, and partitions. Boundary value analysis targets errors at partition boundaries. The classification tree method generates test cases by combining representative classes from aspects of interest using combination rules.