Overview
Parallel execution allows you to run multiple tests at the same time, significantly reducing total test suite duration. Instead of running tests sequentially, Supatest distributes them across multiple browser sessions.How It Works
Sequential vs Parallel
Sequential execution:Parallel Workers
Each worker runs in an isolated browser session:- Independent browser instances
- Separate cookies and storage
- No state sharing between workers
- Tests can run in any order
Configuring Parallel Execution
Organization Settings
Set your parallel execution limit:- Go to Settings > Organization
- Find Parallel Execution section
- Set maximum parallel workers
- Save changes
Plan-Level Configuration
Configure parallelism per test plan:- Open your Test Plan
- Go to Settings
- Set Parallel Workers count
- Save the plan
Available Limits
Parallel limits depend on your plan:| Plan | Max Parallel Workers |
|---|---|
| Free | 1 (sequential only) |
| Pro | 3 |
| Team | 5 |
| Enterprise | Custom |
Best Practices
Test Independence
Ensure tests don’t depend on each other: Good (independent):Data Isolation
Prevent tests from conflicting:- Use unique test data per test
- Generate random identifiers
- Clean up test data after runs
- Use separate test accounts
Resource Considerations
Account for parallel load:- Database connections multiply
- API rate limits may apply
- Server resources shared
- Test environments must handle load
Optimizing Parallel Runs
Balance Test Duration
Distribute tests evenly: Unbalanced:Group Related Tests
Organize tests strategically:- Group by feature area
- Consider shared setup needs
- Balance workload across groups
Optimize Individual Tests
Faster tests improve parallel efficiency:- Remove unnecessary waits
- Use efficient locators
- Minimize navigation steps
- Reuse browser state where possible
Monitoring Parallel Runs
Viewing Parallel Progress
Monitor running tests:- Open the Test Plan run
- See all tests running in parallel
- Track individual test progress
- View overall completion status
Understanding Results
Results show parallel context:| Field | Description |
|---|---|
| Worker ID | Which parallel worker ran the test |
| Start Time | When this test started |
| Duration | Individual test duration |
| Total Duration | Full parallel run duration |
Analyzing Performance
Track parallel efficiency:- Compare sequential vs parallel times
- Identify bottleneck tests
- Monitor resource utilization
- Optimize test distribution
Common Patterns
Smoke Tests (High Parallelism)
Quick, independent tests benefit from maximum parallelism:Regression Suite (Moderate Parallelism)
Longer tests with some shared resources:Integration Tests (Limited Parallelism)
Tests with external dependencies:Troubleshooting
Tests Failing in Parallel
If tests pass sequentially but fail in parallel:- Check for shared state: Tests may be modifying same data
- Review test data: Ensure unique identifiers
- Check race conditions: Tests competing for resources
- Verify cleanup: Previous test data affecting current test
Inconsistent Results
If results vary between runs:- Identify flaky tests: Mark and investigate
- Check timing dependencies: Add proper waits
- Review external services: May have rate limits
- Isolate test data: Prevent conflicts
Performance Not Improving
If parallel runs aren’t faster:- Check worker limit: May be hitting plan limit
- Find bottleneck tests: Long tests slow overall time
- Review resource limits: Infrastructure may be saturated
- Consider test count: Few tests may not benefit from parallelism
Resource Exhaustion
If infrastructure struggles:- Reduce parallel workers: Lower concurrent load
- Add rate limiting: Slow down test interactions
- Scale infrastructure: Increase capacity
- Stagger test starts: Don’t start all at once
Best Practices Summary
| Practice | Description |
|---|---|
| Independent tests | No test relies on another |
| Unique test data | Each test uses own data |
| Balanced duration | Distribute work evenly |
| Clean up after | Remove test artifacts |
| Monitor resources | Watch infrastructure load |
| Start conservative | Increase parallelism gradually |
Related
- Run Modes - Different ways to run tests
- Execution - Execution overview
- Test Plans - Organizing test runs
- Test Configuration - Test settings

