Skip to content

Latest commit

 

History

History
30 lines (20 loc) · 1.37 KB

README.md

File metadata and controls

30 lines (20 loc) · 1.37 KB

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.