Performance Testing

Performance testing shows how an application behaves when many people use it at once: how fast it responds, whether it stays stable and at what point it starts to fail. A system that slows down or crashes at month-end, during a product launch or on a busy public holiday costs revenue and customer trust. Testing beforehand tells you where the limits are and what needs fixing.

When to test

Most organizations test before a go-live or a major release, before moving infrastructure (to the cloud, for example), or when planning capacity for growth. Banks, online retailers, government services and software providers with predictable peaks, such as payroll day or a tax deadline, have the most to gain.

Which tests do we need?

Each type of test answers a different question.

  • Load testing: can the system handle the number of users we expect?
  • Stress testing: where is the breaking point, and does the system recover cleanly when pushed past it?
  • Endurance (soak) testing: does it stay stable over many hours, or slowly degrade, for example through memory leaks?
  • Spike testing: what happens when traffic jumps suddenly, such as right after a promotion goes out?
  • Volume testing: how does it behave when the database holds very large amounts of data?
  • Scalability testing: how well does it grow when we add servers or capacity, and what will we need next year?

How we run it

We begin by agreeing targets with you: acceptable response time, transactions per second and error rate. We then model realistic user behavior from production data or business forecasts, so the test reflects how people actually use the system.

Tests run in an environment as close to production as possible, with monitoring on the application, servers and database. We script the scenarios in tools such as Apache JMeter, k6 or Gatling. When performance drops, we compare response times against CPU, memory, database, network and third-party services to find the root cause. After your team makes changes, we test again against the agreed targets.

What you get

  • A test plan and the workload model behind it.
  • A results report with response times (including the slowest responses real users would see), throughput, error rates and resource use.
  • An analysis of bottlenecks, with tuning recommendations in priority order.
  • An assessment of how much headroom you have for planned growth.

Request a performance testing proposal to agree targets, scenarios and test windows.