---
name: Test Automation
description: Automate the repetitive, keep humans on the exploratory.
---
# Test Automation

Automate the tests humans would otherwise repeat — regression, smoke, integration. Free humans for exploratory testing, where their judgment adds value automation can't.

## Layers (test pyramid)
- **Unit (many).** Fast, isolated, the bulk of the suite. Catches logic bugs cheaply.
- **Integration (some).** Test components together; catch wiring bugs.
- **E2E (few).** Test through the real UI/API. Expensive and flaky; reserve for critical user journeys.

## Principles
- **Automate stable behavior.** A flaky UI test on a changing screen wastes more time than it saves. Push tests down the pyramid where possible.
- **Tests fail for one reason.** A test that can fail five ways is hard to debug.
- **Maintain or remove.** A broken test that's been disabled for a month is dead weight; fix or delete it.

## Avoid
- "100% automation" as a goal. Some testing is inherently human (exploratory, usability); forcing automation there produces brittle noise.