LST-004 recommended pre-release-testing

Automated smoke load tests in CI

Quick, lightweight load tests running in CI catch obvious regressions automatically. Not full production-scale tests, but sanity checks.

Question to ask

"Would a 10x response time regression slip past your CI?"

Pass criteria

  • Smoke-level load tests run in CI (quick, low concurrency)
  • Tests catch obvious regressions (10x slower response, errors under light load)
  • Results visible in CI output or dashboard

Fail criteria

  • No automated load tests (all manual)
  • Tests exist but don't run in CI
  • Tests run but nobody looks at results

Verification guide

Severity: Optional

Quick, lightweight load tests running in CI catch obvious regressions automatically. Not full production-scale tests, but sanity checks that new code doesn't completely break under any load.

Check automatically:

  1. Check CI configs for load test jobs:
# Check GitHub Actions
grep -riE "k6|artillery|loadtest|autocannon|smoke.*test|performance.*test" .github/workflows/ --include="*.yml" --include="*.yaml" 2>/dev/null

# Check other CI systems
grep -riE "k6|artillery|loadtest|performance" .circleci/ .gitlab-ci.yml Jenkinsfile bitbucket-pipelines.yml 2>/dev/null

# Look for load test npm scripts
grep -E "\"(load|stress|smoke|perf).*test" package.json 2>/dev/null

# Check for k6 cloud or Artillery Pro CI integrations
grep -riE "K6_CLOUD|ARTILLERY_CLOUD|k6.*run.*--cloud" .github/workflows/ --include="*.yml" 2>/dev/null

# Look for performance test in CI job names
grep -riE "job:.*perf|job:.*load|name:.*performance|name:.*load.*test" .github/workflows/ --include="*.yml" 2>/dev/null

Ask user:

  • "Do you run any load tests automatically in CI?"
  • "What level of load? (smoke = light sanity check vs. full = production-like)"
  • "Do CI load tests block deploys on failure?"

Smoke test characteristics:

  • Low concurrency (10-50 virtual users)
  • Short duration (30-60 seconds)
  • Key endpoints only (health, main API routes)
  • Fast feedback (< 5 minutes)

Cross-reference with:

  • LST-001 (tool needed)
  • LST-003 (full load tests complement CI smoke tests)
  • Section 5 (CI/CD pipeline) - load tests as pipeline stage

Pass criteria:

  • Smoke-level load tests run in CI (quick, low concurrency)
  • Tests catch obvious regressions (10x slower response, errors under light load)
  • Results visible in CI output or dashboard

Fail criteria:

  • No automated load tests (all manual)
  • Tests exist but don't run in CI
  • Tests run but nobody looks at results

Notes: This is Optional because not all projects need CI-integrated load tests. For high-traffic production systems, it's valuable. For internal tools or early-stage products, manual load testing (LST-003) may be sufficient.

Evidence to capture:

  • CI job name/location running load tests
  • Concurrency level and duration
  • Whether failures block deployment

Section

36. Load & Stress Testing

Operations & Incident Management