LAB
DevelopmentLAB

Before a Load Test: Define the User Journey, Traffic Model and Stop Conditions

Published:

6 min read

Commission a test of specified journeys and work rates, not a certificate that an application can handle “many users.” A thousand users reading a cached page differ from a thousand searching and submitting database-changing requests. The test is valuable when its workload is understandable, results can be connected to that workload, and safety limits protect systems and data outside the authorized scope.

Write the question before procurement: can a particular release process an expected mix of search and submission over an agreed period while meeting specified timing, stability and result-quality criteria? The experiment does not prove all future workloads or guarantee availability. Ownership of the interface also does not automatically authorize load against production or an external provider.

Start with journeys and the source of assumptions

Describe user steps, the mix of work, data volume, waiting behavior and the expected peak. State whether assumptions come from current measurements, a product owner's forecast or an illustrative scenario. A new application can be tested against explicit hypotheses, but those hypotheses should not be called proven real-world demand.

AWS load-testing guidance calls for a production-representative environment, synthetic or sanitized data, and comparison with defined criteria. These are experiment-design principles, not authorization to load any cloud resource. AWS load-testing guidance.

Bottleneck diagnosis and retesting agreed fixes may fit within Performance & Security Hardening. Software Quality Assurance addresses journey and result correctness: a fast response containing incorrect data does not satisfy a useful performance requirement.

Distinguish arrival rate from open sessions

When someone says “100 users,” ask what those users do and how often. An open session may be idle, while one active session can generate many requests. Specify operation arrival rates, workload mix, duration and ramping behavior instead of only session counts.

Also consider whether the generator slows new work when the system responds slowly. That may be unsuitable if the scenario assumes new requests continue arriving regardless of response time. The buyer does not need to prescribe test-tool internals, but does need to know which demand assumption the experiment actually represents.

Model element What to specify
Browse, search and submit Definition of each operation and its technical requests
Test data Volume, variety and repeatability without contaminating later runs
Stages Authorized ramp, steady period, reduction and duration
Dependencies Real, simulated and excluded interactions
Outcomes Timing, errors, correctness and behavior after load ends

Fictional worked example: three operation types

Suppose a booking service plans a ten-minute steady stage with 20 operation starts per second: 12 browsing operations, six searches and two submissions. That stage schedules 12,000 operations in total, including 1,200 submissions. These invented figures explain the arithmetic; they are not expected capacity or an industry benchmark.

The team simulates the messaging provider to avoid sending real messages or exceeding provider authorization. The test therefore does not establish the provider's own capacity, and the report says so. Synthetic data avoids repeatedly exercising a single booking in a way that misrepresents the journey. A successful submission must also meet the agreed rule against duplicate records.

An authorized ramp precedes the steady stage, followed by a period observing outstanding work. Average response time may look acceptable while background tasks accumulate and never finish. Results are not declared complete until that backlog has been examined. If the load generator cannot deliver the intended rate, the report records that limitation instead of attributing the generator's ceiling to the application.

Agree stop conditions before execution

Identify who can stop the run, how they are reached and which conditions require immediate termination. Examples include unexpected production traffic, sensitive-data exposure, impact on an excluded provider or crossing an owner-approved spending limit. These need project-specific controls; they are not universal numeric defaults.

Distinguish verifying an agreed workload from exploring deterioration within an authorized ceiling. Do not automatically increase load because the first stage passed. Check current provider testing conditions and required permissions with the account owner before execution, and confirm appropriate specialist capability for safe delivery.

Read the result without turning it into a promise

The report should identify release, environment, workload source and differences from production. Present an appropriate timing distribution rather than an average that hides slower outcomes. Break down failures by journey and inspect result integrity after load ends. Connect bottlenecks to concurrent evidence instead of inferring causation from one busy resource chart.

Observability & Reliability Engineering can provide signals explaining deterioration. If results suggest capacity or component-boundary changes, compare options through Cloud Architecture Design & Review. Do not assume a larger resource is the answer or that results scale linearly from a smaller environment.

Acceptance criteria for a useful test

  • An approved workload model with assumptions, provenance and limits.
  • Authorization covering targets, environment, duration, dependencies and spending.
  • Verification that load generation and measurement operated as intended.
  • Results for each journey against criteria agreed before execution.
  • Checks for lost or duplicated work and outstanding-task completion.
  • Bottleneck findings with confidence levels and bounded retest proposals.
  • An explicit conclusion: passed the scenario, failed it, or insufficient evidence to decide.

A report that recommends another experiment can still be useful when it identifies a material uncertainty. It should explain why the existing evidence cannot answer the original question and what narrower test would resolve it, rather than relabeling uncertainty as success.

Frequently asked questions

Is testing a small environment pointless?

No. It can reveal a particular problem, but limits on inference to production must be clear. Do not turn the result into a final capacity figure without suitable evidence.

Must every external provider be exercised live?

Only within its authorization, terms and agreed scope. Simulation can be useful when its evidential limits are disclosed.

Does a successful test replace monitoring after launch?

No. Workloads, data and dependencies can change. The test is evidence for a specified scenario, release and environment, not a permanent guarantee.

What should we provide for scoping?

Bring critical journeys, redacted workload evidence if available, environment and dependency descriptions, and the decision you need to make. These come before selecting a tool or promising a user count.

Reference

AWS: load test your workload, reviewed 26 October 2026. Example quantities are illustrative, and all execution requires appropriate authorization.

DevelopmentLAB

Need help with this?

Explore LAB's Performance & Security service.