Equivalence partitioning divides test conditions into groups that should be treated equivalently by the system. Only one condition from each partition needs to be tested. Decision tables systematically test combinations of inputs and states by listing the inputs, expected outputs, and test cases. State transition testing models the system as a finite state machine and tests transitions between states. Use case testing identifies test cases that exercise end-to-end system functionality by having an actor perform tasks from start to finish.