Choose test cases and assertions that can expose regressions rather than merely execute code. Use when deriving tests from a requirement or bug, selecting boundaries and combinations, testing stateful behavior or compound conditions, reviewing what coverage does and does not establish, strengthening weak assertions, using property-based or mutation testing, or deciding why a suite is adequate for a change.