Description
Load testing tool that generates and runs load testing scripts automatically based on the existing end-to-end tests in a project and on the given testing profile/parameters.
Tier
Pro
License
Proprietary
Motivation
Background
For Developers: Validate scalability without learning Vaadin internals or load testing tools
For Evaluators: Answer "will this scale?" during 30-day trial period, not after deployment
Problem
Vaadin apps are uniquely hard to load test because of protocol between client and server, i.e. can't just copy-paste request and replay it 100 times:
- Custom UIDL protocol (not standard REST/GraphQL)
- Dynamic CSRF tokens per request
- Stateful server-side sessions
- Request chaining dependencies (syncId, clientId, components state)
- No way to reuse existing E2E test logic for load testing
Solution
This tool turns scalability validation from a 2-week consulting efforts into a 10-minute automated task.
- You already have TestBench E2E tests (realistic user workflows)
- Run test through proxy → captures Vaadin protocol traffic
- Tool generates k6 script that handles all protocol complexity
- Execute with virtual users according to a given profile (N users, thresholds, time durations etc.)
- Get clear answer: "Your app handles 500 concurrent users at 200ms p95 response time, fails at 600 users due to DB connection pool exhaustion".
E2E tests already encode real user behavior. Just replay them at scale without requiring developers to understand how.
Expected capabilities of the tool:
- Zero protocol expertise: Run existing E2E tests at scale without understanding UIDL/CSRF/session/cookies handling
- Instant realistic scenarios: Reuse TestBench tests as load test workflows - no separate script writing
- Result Verification: A way to verify that each virtual user's actions actually succeeded as intended, e.g. did a record actually get created in the database, no duplicated keys/IDs after concurrent requests.
- Know your limits: Identify breaking points (users, response times, error rates) before production
- Clear pass/fail: Automated thresholds show if app meets scalability requirements
- Bottleneck visibility: See where system fails under load (DB, network, memory)
Requirements
Nice-to-haves
Implementation Plan
- Integration
- Integrate PoC into TestBench
- Draft reference documentation
- Release TestBench 10.2.0-alpha1 with a feature flag
- Validation
- Demo sessions with pilot customers
- Collect feedback on fit/gaps
- Prioritize must-haves
- MVP
- Implement critical features from feedback
- Complete PoC→MVP transition
- Target GA in 25.2 (June 2026)
Risks, limitations and breaking changes
Risks
Major PoC rework after pilot demos to customers, thus we need to start these session ASAP.
Limitations
Grafana k6 provides solid open-source foundation thus selected as a tool for running load scripts; other tools like Gatling, JMeter can be considered in the future.
TestBench is used as a source of E2E tests, Playwright can be considered in the future.
Maven plugin is the only way, we can consider Gradle plugin or another way of running the tool in the future.
Spring Actuator is used for basic metric from the app, for now we only consider Spring apps.
Breaking changes
No breaking changes are anticipated, this is a new module in TestBench.
Out of scope
No response
Materials
No response
Metrics
No response
Pre-implementation checklist
Pre-release checklist
Security review
The load testing tool is an external utility and is not integrated into the application or its runtime environment. As such, it does not affect the application's security posture and does not require a security review.
Description
Load testing tool that generates and runs load testing scripts automatically based on the existing end-to-end tests in a project and on the given testing profile/parameters.
Tier
Pro
License
Proprietary
Motivation
Background
For Developers: Validate scalability without learning Vaadin internals or load testing tools
For Evaluators: Answer "will this scale?" during 30-day trial period, not after deployment
Problem
Vaadin apps are uniquely hard to load test because of protocol between client and server, i.e. can't just copy-paste request and replay it 100 times:
Solution
This tool turns scalability validation from a 2-week consulting efforts into a 10-minute automated task.
E2E tests already encode real user behavior. Just replay them at scale without requiring developers to understand how.
Expected capabilities of the tool:
Requirements
Nice-to-haves
Implementation Plan
Risks, limitations and breaking changes
Risks
Major PoC rework after pilot demos to customers, thus we need to start these session ASAP.
Limitations
Grafana k6 provides solid open-source foundation thus selected as a tool for running load scripts; other tools like Gatling, JMeter can be considered in the future.
TestBench is used as a source of E2E tests, Playwright can be considered in the future.
Maven plugin is the only way, we can consider Gradle plugin or another way of running the tool in the future.
Spring Actuator is used for basic metric from the app, for now we only consider Spring apps.
Breaking changes
No breaking changes are anticipated, this is a new module in TestBench.
Out of scope
No response
Materials
No response
Metrics
No response
Pre-implementation checklist
Pre-release checklist
Security review
The load testing tool is an external utility and is not integrated into the application or its runtime environment. As such, it does not affect the application's security posture and does not require a security review.