Skip to main content
No Result Found
Get your setup working faster. Join our Discord for optimisation tips from elite testers. Join our DiscordJoin our Discord

How load test execution works

Learn how virtual users (VUs), engines, and load zones work together when you run a load test, and what happens at each stage of the run.

BrowserStack Load Testing runs your existing test scripts at scale in the cloud to simulate real user traffic on your website or API. When you start a test, BrowserStack turns your script and load configuration into VUs, runs them on cloud engines in the load zones you select, and combines the results into a single report.

The following diagram shows what you provide, what BrowserStack runs, where the load goes, and how the results come back to you: Virtual users run test scripts on engines in load zones, send load to your site or API, and report results. Load test flow: your scripts become virtual users that run on engines in each load zone, send load to your site or API, and report results in one place.

The following sections explain each part of this flow: VUs, engines, load zones, and the test report. The last section shows the stages a test goes through from start to finish.

Virtual users

A VU is one simulated user. Each VU runs your test script in a loop for the length of the test, at the same time as the other VUs.

How a VU generates load depends on the test type:

Test type What each VU does
Browser Opens a real browser and runs your UI test script, like a user who loads pages and interacts with them.
API Sends requests directly to your backend endpoints, without a browser.
Hybrid Runs as a browser VU or an API VU. You choose how to split the VUs between the two.

You also choose a load profile, which controls how the number of VUs changes during the test. You can choose from the following load profiles:

Load profile How VUs change over time
Constant VUs The same number of VUs runs for the whole test.
Ramping VUs VUs increase, hold, and decrease in stages.
Spike VUs VUs burst to a peak, then return to a steady level.
Per VU iterations Each VU runs your script a set number of times, then stops.
Throughput BrowserStack adjusts the number of VUs to hold a target request rate.

Some load profiles are available only for certain test types. For details, see Load profiles.

Engines

An engine is a cloud pod that runs your VUs and sends their traffic to your website or API. BrowserStack creates new engines for each test and removes them when the test ends, so you don’t need to set up any infrastructure. An API engine runs up to 1,000 VUs, while each browser VU runs in its own pod.

Load zones

A load zone is the location that your VUs send traffic from. You can run a test from one load zone or split it across several to simulate users in different locations.

For each load zone, you set a percentage of the total load. For example, a 50/50 split across two load zones sends half of your VUs from each one. Each load zone runs its share on its own engines, with at least one engine per load zone. For the list of available load zones, see Load zones.

If your website or API is behind a firewall, see Test private websites and APIs.

Test report

BrowserStack combines the results from every engine and load zone into one test report. You can follow the metrics while the test runs and review the full report after it ends.

The metrics in the report depend on the test type:

  • Browser tests show what users experience, such as page load time and Web Vitals.
  • API tests show how your backend performs, such as response times, throughput, and error rates.
  • Hybrid tests show both.

The report also shows the health of each engine, grouped by load zone. For details on each part of the report, see browser test results, API test results, and hybrid test results.

Test run lifecycle

After you start a test, BrowserStack runs it through the following stages:

Stage What happens
Estimate BrowserStack checks your plan limits, including whether you have enough VU Hours left to run the test.
Provision BrowserStack creates engines in each load zone you selected. Each engine downloads your test script and installs its dependencies.
Execute VUs run your script against your website or API, following your load profile. Metrics appear in your test report while the test runs.
Shut down BrowserStack removes the engines and completes your report.

What’s next

We're sorry to hear that. Please share your feedback so we can do better

Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked





Thank you for your valuable feedback

Is this page helping you?

Yes
No

We're sorry to hear that. Please share your feedback so we can do better

Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked





Thank you for your valuable feedback!

Talk to an Expert
Download Copy Check Circle