Supporting track
Performance Testing
Load profiles, SLAs and reading results like an engineer.
What this track covers
A load test with clear SLAs
Define thresholds in the script so the test fails itself — no manual chart reading.
Why it is required: Performance tests without thresholds produce opinions, not gates.
Example: A k6 script with p95 latency and error-rate thresholds.
1export const options = {2 stages: [3 { duration: '2m', target: 200 },4 { duration: '5m', target: 200 },5 { duration: '2m', target: 0 },6 ],7 thresholds: {8 http_req_duration: ['p(95)<800'],9 http_req_failed: ['rate<0.01'],10 },11};Expected result
The run fails automatically if p95 exceeds 800ms or errors exceed 1%.
Common mistakes
- Reporting averages instead of p95/p99
- No think time, producing unrealistic load
- Testing on hardware unlike production
Why are percentiles more useful than averages?
Related interview questions
Open bankHow do you decide the load profile for a performance test?
Derive it from production analytics: peak concurrent users, transaction mix, think time and peak-hour distribution — never from a guessed round number.
Load, stress, soak and spike testing — what does each answer?
Load: does it meet SLAs at expected traffic. Stress: where does it break and how. Soak: does it degrade over hours (leaks). Spike: does it survive a sudden surge and recover.
Which metrics do you report, and why is average response time misleading?
Report p90/p95/p99 latency, throughput, error rate and concurrency together — averages hide the tail where real users suffer.
How do you build a realistic workload model?
Derive it from production data: transaction mix by volume, think times, session length, peak concurrency and data volumes — then validate the model against a known production hour.
You found a bottleneck. How do you analyse it?
Work from the outside in: confirm it in the client metrics, correlate with server APM traces, then isolate the layer — app CPU, GC, database, cache, external call, or network.
What is load testing, and why does it matter in Performance?
load testing is a core Performance concept used to make testing decisions more accurate, repeatable, and aligned with product risk.