Sparround

Performance testing basics for manual QA

Nobody expects a manual QA to write JMeter scripts. But knowing the performance testing types and core metrics is expected — because QA is often the first person to see the signal of a problem.

The types:

  • Load testing — does the system hold the required response times under expected normal load? (e.g. 500 concurrent users)
  • Stress testing — at what point does it break? Increase load until you find the limit. The key question: how does it break — a clean error, or corrupted data?
  • Spike testing — a sudden jump in load (e.g. an ad campaign, the year-end policy renewal peak). Does the system recover quickly?
  • Endurance / soak testing — steady load over a long period (hours/days). Memory leaks and resource exhaustion show up here
  • Scalability testing — does the system get proportionally stronger as resources (servers, instances) are added?
  • Volume testing — behaviour with large data volumes (e.g. searching a database of a million policies)
MetricWhat it meansWhat to watch for
Response timeTime from sending a request to receiving the responseThe average misleads — **p95 / p99** (95th and 99th percentile) give a truer picture
ThroughputRequests processed per unit of time (RPS/TPS)If throughput stops growing as load rises, the system has hit saturation
Error ratePercentage of failed requestsA rise in 500s and timeouts under load — the clearest sign of breaking
Concurrent usersNumber of simultaneously active usersThe number must come from analytics — real peak data, not a guess
Resource usageCPU, memory, disk, DB connectionsSteadily rising memory during an endurance test means a memory leak

What can a manual QA concretely do about performance?

  • Measure single-user response times — the DevTools Network tab shows the timing of every request. That isn't load testing, but a finding like "it takes 8 seconds even on an idle system" is very valuable
  • Test with large data — not with a test account holding 5 policies but one holding 500; search, filters, export and pagination break there
  • Simulate a slow network — with DevTools throttling: is there a loading indicator, are timeouts handled, is double submit possible
  • Watch the trend — if the same operation took 1 second last release and takes 4 now, that is a bug (performance regression)
  • Demand a number in the requirement — turn "should open fast" into "p95 < 2 seconds" during refinement

When to involve a specialist: real load/stress/endurance testing needs dedicated tools (JMeter, k6, Gatling), a dedicated environment and infrastructure monitoring. It cannot be replaced by "opening 20 tabs manually" — offering that in an interview is a negative signal.

The average-versus-percentile distinction is an excellent detail for standing out in an interview. When you say "the average response time is 1 second", 5% of users may be waiting 10 seconds — and those are the ones who complain. That is why p95 is asked for: 95% of users get a response faster than that. On an insurance portal this is a real difference: the corporate customer with many policies is always inside that slow 5%.

📚 Sources and documentation