Skip to content

Tenbin provides tools to minimize the differences in test execution times across shards.

License

Notifications You must be signed in to change notification settings

nissy-dev/tenbin

Repository files navigation

Tenbin ⚖️

Tenbin provides tools to minimize the differences in test execution times across shards.

Tenbin provides tools to minimize the differences in test execution times across shards.

Usage

Why

A typical test runner implements a sharding feature that splits tests to run on different machines. However, the sharding algorithm often randomly splits tests, leading to uneven execution times across shards.

Tenbin provides tools to minimize the differences in execution time across shards. It uses the execution times of past test run when splitting tests.

For example:

shard default use tenbin
1/3 3min 4min
2/3 5min 4min
3/3 4min 4min

The optimization of the sharding algorithm is considered in E2E testing tools where test execution time is a more critical issue. In Playwright, this is being discussed in playwright#17969, and it seems that some implementation is in progress. In Cypress, the "load-balancing strategy" is available.

About

Tenbin provides tools to minimize the differences in test execution times across shards.

Resources

License

Stars

Watchers

Forks

Packages

No packages published