Skip to main content
Nine questions to ask before automating performance testing
Sten Laidoner
Sten Laidoner|July 9, 2026|Reading time: 11 min read

9 Questions to Ask Before Automating Performance Testing

Automated performance testing can make load and performance checks faster and easier to repeat, but the test strategy, realistic user behaviour and result analysis still require careful QA judgement.

Performance problems are rarely convenient. They may appear only when traffic increases, when a database grows, when a service slows down or when the system has been running under load for several hours.

That is one reason performance testing can become difficult to repeat manually. You may need the same scenario executed with hundreds or thousands of virtual users, then run it again after a code change and once more before release.

This is where automation becomes useful.

Automated performance testing uses tools and repeatable scripts to generate load, measure system behaviour and collect performance data. But there is an important distinction: the tool can run the test, but it cannot automatically decide whether you are testing the right thing.

Can performance testing be automated?

Yes. The execution side of performance testing is a very good candidate for automation.

A testing tool can create virtual users, send repeated requests, simulate traffic patterns, increase or decrease load, collect response times, record error rates, measure throughput and produce repeatable reports.

It can do this consistently and far faster than a person could.

But automated performance testing is not simply install tool → press Start → find bottleneck.

Before the test runs, somebody still needs to decide what should be tested, why it matters, how users actually behave, what load is realistic, which metrics should be monitored and what acceptable performance looks like.

After the test, somebody needs to understand the results.

Automation handles repetition and scale. The investigation still needs people.

What does automated performance testing actually include?

I find it easier to think about automated performance testing in three parts: preparation, execution and analysis.

The tool is mainly responsible for execution. The quality of the work before and after the test determines whether the results are actually useful.

Preparation

Before running anything, the team needs a plan. This includes defining the objective, selecting important user flows and deciding which performance limits matter.

The environment needs to be prepared, test data may need to be created and scripts need to handle dynamic values such as tokens, session IDs or transaction references correctly.

Performance targets should also be defined. For example:

  • p95 response time below 2 seconds
  • Error rate below 1%
  • Checkout supports 5,000 concurrent users

Without clear expectations, the test may produce plenty of numbers but very few useful conclusions.

A result such as `p95 = 1.8 seconds` means little until the team knows whether 1.8 seconds is acceptable for that flow.

Execution

Execution is the part automation handles particularly well. The test tool runs the planned scenario, virtual users interact with the system and the selected traffic pattern increases, decreases or remains steady.

Metrics are collected, the application and infrastructure are monitored and reports are generated. The same test can later be repeated using similar conditions.

Repeatability is one of the strongest reasons to automate performance testing.

Analysis and improvement

Once the test ends, the numbers need context.

Why did response time increase? Did the database slow down? Was CPU exhausted? Did one endpoint become a bottleneck? Did a third-party service begin rejecting requests?

The team investigates, changes the system and runs the test again.

A graph is not an improvement. Understanding why the graph changed is.

Why automate performance testing?

The strongest benefit is repeatability.

Imagine a team discovers that the checkout flow becomes unstable at 4,000 concurrent users. Developers optimise several database queries and the team now needs to test the same scenario again.

Then another release changes the payment flow. The test needs to run again.

Performing these checks manually does not scale. Automation allows the team to keep the same scenario and compare behaviour over time.

It can also support:

  • Scheduled test runs
  • Repeated performance regression checks
  • Parallel execution
  • Larger load levels
  • CI/CD workflows
  • Long-running tests
  • Consistent data collection

A performance test can run overnight or before an important release without somebody manually repeating every action.

The time saved should then be used for investigation, not simply for generating more charts.

Automation does not make a bad performance test good

This is probably the most important point.

A badly designed performance test can be automated perfectly. It will still be a bad test.

Imagine an online store where real users normally open the homepage, search for products, view several items, add something to the cart, wait, start checkout and complete payment.

Now imagine the automated test sends only `GET /homepage` 10,000 times per second.

The tool may generate a beautiful report, but does that test represent real customer behaviour? Probably not.

Good automation depends on a good test model.

Which performance tests can be automated?

Performance testing is a broad area and load testing is only one part of it.

Several types of performance checks can benefit from repeatable automation.

Load testing

Load testing checks how the system behaves under expected demand.

For example, a test may simulate 2,000 concurrent users for 60 minutes. The goal is to understand whether the system can support normal or expected traffic.

Stress testing

Stress testing deliberately pushes the system further. Load continues increasing until performance becomes unacceptable or the system fails.

The important questions are:

  • Where does failure begin?
  • How does the system fail?
  • Can it recover?

Spike testing

Spike testing introduces a sudden increase in demand. A test may jump from 500 users to 15,000 users in a short period.

This can simulate flash sales, ticket releases, product launches, breaking news or large marketing campaigns.

Automation makes these sudden traffic changes much easier to reproduce consistently.

Endurance testing

Endurance testing keeps the system under load for a longer period.

A product may perform well for 30 minutes but slowly consume memory over several hours. Short tests may completely miss that behaviour.

Automated endurance tests can run for hours or longer while collecting consistent metrics.

Scalability testing

Scalability testing checks how the system responds as demand or available resources increase.

The team may compare one server with two and four servers, or compare behaviour at 1,000, 5,000 and 10,000 users.

The goal is to understand whether additional resources actually improve capacity as expected.

Volume testing

Volume testing focuses on large amounts of data.

A feature may work quickly with a database containing 5,000 records. The behaviour may be very different with 50 million.

Automation helps teams create and repeat data-heavy scenarios that would otherwise be expensive to prepare manually.

Failover and recovery testing

A service is stopped. A node becomes unavailable. A dependency fails.

The team checks whether traffic moves elsewhere and whether the system recovers.

These tests are particularly useful when the expected recovery behaviour is already defined and needs to be checked repeatedly.

The 9 questions to ask before automating performance testing

Not every team needs automated performance testing immediately.

Automation needs something stable and useful enough to repeat. Before investing time in scripts, environments and tooling, I would ask these nine questions.

1. Which product risk are we testing?

Start with the business or product risk.

Maybe the concern is whether checkout can survive expected Black Friday traffic. Maybe report generation becomes slower as customer data grows. Maybe an API needs to process a certain number of transactions per second.

The question should come before the tool.

If the team cannot explain what risk the test is investigating, the automation will probably produce data without a clear decision attached to it.

2. Do we know what realistic traffic looks like?

A large user number is not automatically a useful load model.

The team should understand expected concurrency, traffic peaks and the mix of actions users actually perform.

Testing one million concurrent users simply because the product has one million registered accounts may create a completely unrealistic scenario.

Production analytics, growth forecasts and known campaign peaks can provide a much stronger basis for the load model.

3. Are the important flows stable enough to automate?

Automation works best when the expected behaviour is reasonably stable.

Login, search, checkout, report generation and API processing can become good candidates once the main flow is understood.

If the feature changes every few days, the scripts may require constant maintenance. The team can end up spending more time repairing the test than learning about performance.

4. Do we have clear performance expectations?

What counts as acceptable performance?

Possible targets may include:

  • p95 response time below 1 second
  • Error rate below 0.5%
  • 5,000 concurrent users supported
  • System recovers within 5 minutes after a spike

Targets should ideally come from product expectations, service objectives or existing production data.

Without a target, a result such as average response time: 1.8 seconds has very little meaning.

Is 1.8 seconds acceptable? Maybe. Maybe not.

5. Can the test represent real user behaviour?

Real users do not all perform the same action at exactly the same time.

A realistic traffic model might contain:

  • 40% browsing
  • 25% searching
  • 20% viewing products
  • 10% checkout
  • 5% account actions

Users also pause between actions, use different accounts and request different data.

Performance scripts should try to represent this behaviour rather than simply repeating the easiest endpoint to automate.

6. Can we monitor the backend while the test runs?

The performance test tells you when behaviour changes. Monitoring helps explain why.

Useful technical metrics may include:

  • CPU
  • Memory
  • Database connections
  • Query duration
  • Disk I/O
  • Queue length
  • Service errors
  • Network usage

Heavy load without useful observability may only tell the team that the product became slow.

It will not explain whether the bottleneck was the application, database, infrastructure or an external dependency.

7. Who will analyse the results?

The tool will generate metrics, but somebody still needs to interpret them.

Imagine a test produces this result:

  • 1,000 users → p95 620 ms
  • 5,000 users → p95 1.6 seconds
  • 8,000 users → p95 6.9 seconds

Something clearly changes between 5,000 and 8,000 users.

The next questions are technical. Did a database query become slow? Was a connection pool exhausted? Did an external provider reach a rate limit?

The result should create investigation, not simply a pass or fail badge.

8. Who will maintain the automation?

Automated performance tests are code and configuration. They do not stay correct forever.

Endpoints change, authentication changes, traffic patterns change and business priorities change.

The performance suite should be reviewed regularly. Remove tests that no longer provide value, update unrealistic scenarios, fix unreliable scripts and review old performance targets.

A test designed around 5,000 users may not be useful when the product now serves 100,000.

Automation should evolve with the product.

9. Will we actually repeat these tests?

This is the question I would ask before investing heavily in performance automation.

If the same scenario is run before every release, after infrastructure changes or regularly as the product scales, automation can provide significant value.

If the test will run once and never be used again, a large automation project may not be worth the setup and maintenance cost.

Automation is strongest where repetition exists.

A practical automated performance testing process

Once the team has answered the questions above, a practical workflow normally follows several stages.

Define the risk and choose realistic flows

Start with the problem the team is worried about, then select the flows that carry the most traffic or business risk.

Possible scenarios may include login, search, checkout, payment, file upload, report generation or API transaction creation.

Do not automatically test everything. Start with the flows where a performance problem would matter most.

Prepare the automation

The scripts need to handle the real behaviour of the system. This may include authentication, session management, dynamic IDs, test data, assertions and environment variables.

For example, a contract creation request may return `contract_id=82451`. The next request may need to use that exact ID.

Hardcoding an old contract ID will not produce a realistic repeatable scenario.

Validate the test with a small load

Do not start with 100,000 users.

Run a smaller test first and verify that requests are valid, users follow the intended flow, test data is correct, assertions work and the required metrics are being collected.

A broken script can easily look like a performance problem. Validate the test before increasing pressure.

Execute and monitor

Increase the load according to the selected pattern.

Monitor user-facing metrics such as response time, throughput, failed requests and timeouts. At the same time, monitor the technical system.

The performance test shows when behaviour changes. Observability helps explain where the problem starts.

Analyse, fix and repeat

Compare the results with the original target and investigate where performance changed.

Developers may optimise code, improve database queries, adjust caching, increase capacity, change infrastructure or fix resource leaks.

Then run the same scenario again.

Using the same test model makes the before-and-after comparison much more reliable. This is where automation becomes especially useful.

How to choose an automated performance testing tool

There are many performance testing tools available, but the best option is not automatically the one with the longest feature list.

Start with the system and the team that will maintain the tests.

Can the tool test the actual product?

Does the tool support the protocols and technologies used by the product?

Depending on the system, this may include:

  • HTTP APIs
  • WebSockets
  • Browser flows
  • Authentication
  • Dynamic data

A tool that cannot represent the important user flow is already a poor fit, regardless of how popular it is.

Does it fit the team's technical skills?

Some tools use visual interfaces while others expect tests to be written as code.

Code-based tools can provide more control, but they may also require stronger technical knowledge.

Think about who will actually maintain the tests six months later.

Can it generate the required load?

A tool may be easy to use but unable to produce the traffic level the test requires.

Consider distributed execution, cloud load generation, regional testing and infrastructure requirements.

Also remember that the load generator itself can become a bottleneck.

Does it fit the development process?

Consider CI/CD integration, version control, scheduled test runs, reporting and monitoring integrations.

Performance automation should fit the existing development workflow where possible.

Creating a completely separate testing island usually makes maintenance harder.

Is the reporting actually useful?

A colourful report is not automatically useful.

The team should be able to identify failed requests, slow endpoints, important percentiles, performance trends and changes between test runs.

The purpose of the report is to make investigation easier.

Open-source or commercial tools?

Both can work.

Open-source tools often provide flexibility, scripting control, strong communities and lower licensing costs. The trade-off may be more setup, more maintenance and fewer formal support options.

Commercial tools may provide simpler setup, managed infrastructure, official support and polished reporting. They can also introduce licensing costs, usage limits, vendor dependency and less flexibility.

The right decision depends on the project.

Do not choose a tool because it appears on every “top performance testing tools” list. Choose it because it fits the actual testing problem.

The tool matters, but the test design matters more.

A powerful performance testing tool running an unrealistic scenario will still produce misleading results.

What should an automated performance testing report explain?

A performance report should not be a dump of every metric generated by the tool.

The team needs the information that explains what was tested, what changed and why it matters.

For example:

  • Test objective: Validate checkout behaviour at expected campaign traffic.
  • Test scenario: 5,000 concurrent users for a 60-minute steady load.
  • Traffic mix: 70% browsing, 20% cart activity and 10% checkout.
  • Important results: p95 2.4 seconds, 1.8% error rate and 92% peak CPU.
  • Main finding: Checkout response time increases sharply after approximately 3,800 concurrent users.
  • Investigation: Database connection pool reaches capacity during checkout requests.
  • Risk: Expected campaign traffic may cause checkout delays and increased failures.
  • Recommended next step: Review database connection configuration and repeat the same scenario.

That is much more useful than sending somebody 30 charts without explanation.

A performance report should help the team make a technical or release decision.

Do you need external performance testing support?

Not every company needs a full-time performance testing specialist.

Some products need deeper performance testing only before a major launch, during expected growth, after infrastructure changes or while investigating an existing performance problem.

In those cases, external QA or performance support can make sense, but the scope should be clear.

Support may focus on:

  • Test planning
  • Load modelling
  • Script creation
  • Tool setup
  • Automated execution
  • Result analysis
  • Reporting
  • Performance regression strategy

You do not always need to outsource the whole process.

Sometimes the internal team understands the product well but needs help designing the test. Sometimes the scripts already exist but the results are difficult to interpret.

The support should match the actual gap.

Automation is the repeatable part, not the thinking part

People often hear automation and think faster, cheaper and less manual work. Those benefits can be real.

But performance testing automation still needs preparation, technical context and investigation.

The tool creates the load, collects the metrics and repeats the scenario. The team still needs to understand what the product should handle, which user behaviour matters and why performance changed.

That is the difference between running a performance tool and actually testing performance.

Automation should make good performance testing easier to repeat.

It should not replace the thinking that makes the test useful.

Need practical QA support?

Laidoner Solutions helps software teams with manual QA, API testing, localization review, release checks and clear defect reporting.

Contact Us