Testing Strategy
Status: 🌱
Motivation
Design a test approach that maximizes risk coverage with fast feedback and sustainable maintenance cost.
Starter Points
- Start from risk: identify critical business flows and failure modes first.
- Split tests by intent: unit (logic), integration (boundaries), UI/flow (user behavior), smoke (deploy confidence).
- Define integration boundaries explicitly: integration tests should cross real process boundaries (database, queue, external API contract), not become full end-to-end.
- Use stubs for deterministic collaborator behavior and mocks for interaction assertions where call contract matters.
- Prefer behavior assertions over snapshot-only tests.
- Keep suites fast with parallel execution, selective slow tests, and strict flaky-test ownership.
- Define ownership and review criteria for flaky tests and regressions.
- Track practical signals: change failure rate, escaped defects, and test execution time.