Reduce test design time by running multiple tests and test suites in parallel. Design tests to run in parallel by avoiding resource conflicts and data dependencies.

Note: If two or more users are developing tests simultaneously, parallel testing reduces test design time. After test design completes, it is recommended to organize tests into a single hierarchical suite structure, and run the tests as a single base suite.

Parallel testing limit

Parallel testing enables users to run multiple automated tests simultaneously. This process continues until the number of parallel running tests is as per the following formula.
Number of parallel tests = max(1, number of worker threads - 2)
Note: If your instance has 2 or less worker threads, configuration improvements review is recommended.
The actual number of parallel tests that a non-production instance can support depends on the system resources that the instance has when it is provisioned. The parallel testing limit ensures that an instance always has system resources available for other non-testing tasks.

Test waiting queue

When the system reaches the parallel testing limit, it reschedules tests to run later. It automatically places the tests back in sys_trigger until a worker thread is available to pick them up. Each test in the waiting queue has a schedule the next time the test runs.

Design considerations

Run multiple tests and test suites in parallel to reduce test design time. Avoid resource conflicts and data dependencies by designing parallel running tests. Avoid resource conflicts and data dependencies by designing tests that rely only on newly generated or self-created data, or have mutual exclusion rules defined between tests that share resources.

Prevent resource conflicts between parallel tests

Prevent resource conflicts by running tests that create their own data. Tests that run with existing data prevent other tests that need the same data from running in parallel.
Note: If you have two or more tests with resource conflicts, see Mark tests as mutually exclusive to create a mutual exclusion rule that prevents the tests from running in parallel.