Skip to content

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.