Deciding what to test, at which level, and what a test must prove to be worth its maintenance cost. Use when adding tests to new work, when a bug escapes to production, when a suite is slow or flaky, or when deciding whether something is testable at all. Covers the test levels, testing behaviour rather than implementation, testing game and interactive systems, and flake control.