Skip to content

ADR-009: Test Strategy

Status

Accepted

Context

Need comprehensive test coverage for reliability and quality assurance. Current tests are shallow (structure checks only).

Decision

Implement layered testing: 1. Unit tests — bash syntax, function existence, configuration validation 2. Integration tests — Testcontainers for PostgreSQL/Redis, mode-specific tests 3. E2E tests — smoke tests for CI, dry-run validation 4. Performance tests — load time, memory usage, token efficiency

Consequences

  • Positive: Faster feedback on regressions
  • Positive: Easier debugging with specific test layers
  • Positive: Confidence in production deployments
  • Negative: Higher CI execution time
  • Negative: Testcontainers dependency for integration tests
  • Test files: tests/unit/, tests/integration/, tests/e2e/
  • CI pipeline: .github/workflows/test.yml
  • Test infrastructure: tests/test_lib.sh