Many test framework ecosystems have tools for automatically parallelizing test suites, locally or on CI.
We believe that ABQ is the best tool for test suite parallelization, because of its unique combination of features:
Universal test runner - ABQ works with multiple test frameworks and provides a uniform, agnostic interface to the execution of your test suite.
Zero custom configuration - ABQ doesn't need any custom configuration to understand your test suite, or what tests to execute. Integrating with ABQ is as easy as installing an integration for your test framework and prepending
abq test --to your test command. No need to worry about whether ABQ is running the same tests as your non-ABQ commands.
Optimal parallelization - ABQ distributes tests just-in-time, ensuring that your tests are evenly dispensed between all test nodes. ABQ's dynamic distribution ensures that parallel test nodes finish at a similar time, no matter when they start or the variability of your test runtimes. ABQ is designed to minimize network overhead, even if the message queue is far away.
Retries - ABQ supports both automated and manual retries on individual
Result Aggregation -
abq reportmakes it easy to aggregate all of your test results in a single command, no matter how many
abq testnodes they were distributed across.
First-class local and CI support - ABQ works just as well locally as it does on CI.
Efficient and self-contained - highly efficient CPU and memory usage, distributed as a single binary with no dynamic dependencies.
The pages below compare ABQ to individual tools, and provide documentation for migrating to ABQ.