Dividing inputs into groups with similar behavior.

Error causing incorrect or unexpected behavior.

Testing command-line interfaces.

Testing combinations represented in decision tables.

Observable incorrect software behavior.

Testing database operations and integrity.

Testing behavior across state changes.

Incorrect internal state or human mistake.

Testing web software across different browsers.

Testing whether services follow agreed interfaces.