Files
magnus919_agent-skills/capacity-and-cost-engineering/templates/load-soak-test-plan.md
Magnus HedemarkGitHubusername <username>factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
a471888676 feat(capacity-and-cost-engineering): add capacity-and-cost-engineering skill (#199) (#224)
Add a new skill connecting demand, performance, reliability, and spend
decisions. Covers capacity models, unit economics, budget/quota controls,
load/soak test evidence, and SLO-cost tradeoffs with structured templates.

Includes:
- SKILL.md with connected-dimensions framework, working method, four
  labeled scenarios (growth, peak, degraded, cost-constrained), and
  routing table to six adjacent skills
- README.md with five required human-facing sections
- references/discovery-brief.md comparing ownership boundaries across
  financial-modeling, platform-engineering, SRE, product-analytics,
  production-readiness, product-roadmapping, and resilience-and-recovery
- Five fillable templates: capacity-model, unit-economics-record,
  budget-quota-decision, load-soak-test-plan, slo-cost-tradeoff-record
- evals/evals.json with five output-quality cases: growth-forecast,
  peak-event, slo-cost-conflict, quota-decision, misleading-unit-cost
- Regenerated marketplace, Codex, and llms.txt catalogs (117 skills)
- Updated root README catalog section and skill-triggers index

Co-authored-by: username <username>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-02 18:41:03 -04:00

4.5 KiB

Load / Soak Test Plan

Fill this template to design a load or soak test that produces valid capacity evidence. A capacity claim without load/soak evidence is incomplete.

Test identification

  • Test objective: [fill: what capacity decision does this test support? e.g., "validate that the service can handle projected peak + 20% headroom at P99 latency < 200ms"]
  • Test type: [fill: load test (target throughput, short duration) / soak test (sustained load, extended duration) / both]
  • Test owner: [fill: name or team]

Target throughput

  • Target throughput: [fill: e.g., 1000 requests/second]
  • Rationale: [fill: e.g., projected peak demand 850 req/s + 20% headroom]
  • Ramp-up profile: [fill: how quickly does load ramp to target? e.g., linear over 5 minutes, step function]
  • Steady-state duration (load test): [fill: e.g., 30 minutes after ramp-up]
  • Soak duration (if applicable): [fill: e.g., 24 hours]

Test environment

  • Environment: [fill: production-like staging, dedicated test environment, or production (state which)]
  • Environment parity: [fill: how does this environment differ from production? instance sizes, data volumes, network topology — every difference is an assumption]
  • Justification: [fill: why is this environment sufficient evidence? if it is not production-like, what is the risk of extrapolation?]

Success criteria

Criterion Target Measurement method
P50 latency [fill: e.g., < 50ms] [fill: client-side histogram, server-side metric]
P99 latency [fill: e.g., < 200ms] [fill: client-side histogram]
Error rate [fill: e.g., < 0.1% non-5xx] [fill: response status aggregation]
CPU utilization [fill: e.g., < 70% sustained] [fill: OS metrics / container metrics]
Memory utilization [fill: e.g., stable — no upward trend over soak] [fill: OS metrics; max threshold e.g., 80%]
[fill: other] [fill: ...] [fill: ...]

Data collection

Metric Source Granularity Retention
Latency percentiles [fill: load generator] [fill: 1-second buckets] [fill: duration of test + 30 days]
Resource utilization [fill: infrastructure metrics] [fill: 10-second intervals] [fill: duration of test + 30 days]
Error logs [fill: application logs] [fill: per-event] [fill: duration of test + 30 days]
[fill: ...] [fill: ...] [fill: ...] [fill: ...]

Soak-specific checks

For soak tests, additionally monitor and record:

  • Memory trend (flat, slowly rising, or leaking — with rate estimate)
  • File descriptor count (stable or growing)
  • Connection pool utilization (stable or growing)
  • Disk usage growth (log rotation, temp files, WAL growth)
  • GC pause time and frequency (stable or degrading)
  • Any metric with a statistically significant trend over the soak period

Test boundary

  • Boundary exercised: [fill: component / integration / end-to-end / production]
  • What this test does NOT cover: [fill: e.g., does not test cross-region failover, does not exercise all API endpoints, does not include cold-start scenarios]

Evidence record

After the test, complete this section:

  • Test date: [fill: YYYY-MM-DD]
  • Actual throughput achieved: [fill: ...]
  • P50 latency (observed): [fill: ...]
  • P99 latency (observed): [fill: ...]
  • Error rate (observed): [fill: ...]
  • Peak CPU utilization: [fill: ...]
  • Peak memory utilization: [fill: ...]
  • Soak findings (if applicable): [fill: memory trend, FD trend, connection pool trend, any anomalies]
  • Verdict: [fill: PASS — all success criteria met / FAIL — criteria not met (list which) / PASS WITH GAPS — anomalies found (list which)]
  • Follow-up actions: [fill: any findings requiring investigation or re-test]

Assumptions

  • [fill: test environment is sufficiently representative of production]
  • [fill: load profile (request mix, payload sizes, user behavior) is representative of real traffic]
  • [fill: no external dependencies have different behavior in test vs production]
  • [fill: any other unverified assumption]

Ownership

  • Test designer: [fill: name or team]
  • Test executor: [fill: name or team — may differ from designer]
  • Evidence reviewer: [fill: name or role who reviews and accepts the evidence]