Performance Testing

Performance Testing Explained: Load, Response Time, and Reliability

Learn what performance testing measures in plain words — speed, capacity, errors, and resource use — and how to plan a realistic, safe first test.

Software Testing Automation Editorial TeamEditorial publishing identity
Published
Reading time
6 min read
Difficulty
Beginner
Audience
For QA engineer, Automation tester, Developer, Product manager
Rising bars beneath a response curve that flattens as load increases
IllustrationRising bars beneath a response curve that flattens as load increases.

Article overview

What you will learn

  • What performance testing actually measures
  • How load, stress, spike, and endurance tests differ
  • How to model demand that resembles real users
  • Why averages mislead and percentiles help
  • How to run tests safely and read the results

Before you begin

Prerequisites

  • Some idea of how websites talk to servers is helpful, but not required

Performance testing in plain words

Think of a restaurant. A functional test asks: if I order the pasta, do I get the pasta? A performance test asks: if two hundred people order at once on a Friday night, does the kitchen still deliver food in a reasonable time — or does everything slow to a crawl, and do some orders quietly get lost?

Software behaves the same way. Almost everything is fast with one user. Problems appear when demand rises: queues form, memory fills up, database connections run out, and a page that took half a second starts taking eleven.

Why it matters

Slowness costs money quietly. People abandon slow checkouts, slow search, and slow forms without telling anyone why. And the moments that matter most — a product launch, a sale, payday, an exam-results morning — are precisely the moments when demand spikes. Finding your limits deliberately, in a test, is much cheaper than discovering them during your busiest hour.

Key terms, made simple

TermWhat it meansEveryday comparison
Response timeHow long one action takesHow long from ordering to food arriving
ThroughputHow much work finishes per second or minuteMeals served per hour
Virtual userA simulated person the tool pretends to beAn actor hired to fill the restaurant
Percentile (p95)The experience of the slowest 5%, not the typical one"Almost everyone waited under 20 minutes"
BottleneckThe one slowest part that limits everything elseOne oven for the whole menu
BaselineA recorded earlier result you compare againstLast month's timings, for reference

The four things worth measuring

MeasurementWhat it tells youThe trap
Response timeHow long an operation takesAverages hide the slow tail — use percentiles
ThroughputHow much work completes in a periodHigh throughput is worthless if the answers are wrong
Error rateHow often requests or journeys failCount timeouts and wrong answers, not just error codes
Resource useCPU, memory, connections, disk on the serversA healthy-looking client can hide a server at its limit

The main kinds of performance test

  • A load test checks behaviour at expected and peak demand — your normal busy day.
  • A stress test keeps pushing past that to find where it breaks, and how gracefully.
  • A spike test applies a sudden surge, like a marketing email going out at 9am.
  • An endurance test runs for hours to reveal slow leaks and gradual decay.
  • A capacity test estimates how much a given setup can support, to plan for growth.
  1. Write the question down: can search stay under two seconds for 95% of users at our expected peak?
  2. Model realistic behaviour — a mix of search terms, paging, pauses for reading, signed-in and signed-out users.
  3. Decide whether caches should be warm; match whatever production really does.
  4. Ramp the demand up gradually rather than all at once.
  5. Collect both sides: what the user experiences and what the servers are doing.
  6. Check that the responses were actually correct, not just fast.
  7. Compare against the baseline, then investigate the first resource that ran out.

Your first week

  1. Pick one operation that matters and that people already complain about.
  2. Find out what "fast enough" means to the business, as a number, agreed in writing.
  3. Measure it once with a single user. That is your baseline.
  4. Get permission, and confirm which environment you may load and when.
  5. Run a small load test — a fraction of peak — and check nothing catches fire.
  6. Increase demand in steps until a measurement degrades, and note where.
  7. Write one page: the question, the setup, the numbers, and what you would do next.

Run performance tests safely

A production-like environment gives better answers, but it will still differ in data volume, network path, scaling rules, and connected services. Write those differences down so your conclusion stays honest.

Common mistakes

  • Sending a request pattern no real user would produce
  • Reporting only the average response time
  • Ignoring failed or incorrect responses because the timings looked good
  • Changing several settings at once, so you cannot tell what helped
  • Generating load from a laptop too small to produce it
  • Testing third-party services without permission
  • Treating one good run as proof for all time

Key takeaways

  • Start from a business question, not from a tool.
  • Model demand that resembles real behaviour, or the numbers mean nothing.
  • Measure speed, volume, failures, and server resources together.
  • Percentiles describe real experience; averages hide it.
  • Results describe the conditions you tested — say so plainly in the report.

Frequently asked questions

Is performance testing only for big websites?

No. A small service can still have one slow operation, a tight resource limit, or one busy hour a month. Match the depth of testing to the risk, not to the size of the company.

Does a fast API mean the page feels fast?

No. Images, JavaScript, fonts, rendering, and the user's own network all affect what a person experiences. Test at the level that answers your actual question, and ideally at both.

How many virtual users should I use?

Derive it from reality — traffic analytics, expected peak, or a business forecast. A number chosen because it sounds impressive produces an impressive-looking result that means nothing.

When should we run performance tests?

Before big launches and seasonal peaks at minimum, plus a small recurring check on your critical operations so you notice gradual slowdowns while they are still small.

References and further reading

Was this article helpful?