Skip to content
Latchkey

Test Sharding とは?

test sharding は、大きなテストスイートを複数のサブセット(shard)に分割し、異なる runner で同時に実行してから、その結果を結合します。各 shard はテストの一部を実行するため、直列で 1 時間かかるスイートも十分な数の shard に分ければ数分で終わります。それは遅いテストスイートをスケールさせる標準的な方法です。

なぜ重要か

スイートが大きくなると、直列実行が CI のボトルネックになり lead time を延ばします。sharding はより多くの runner をより速いフィードバックに変えますが、十分な並行 runner 容量がある場合に限られます。autoscaling する managed runner は、フリートを管理せずに広い sharding を実用的にします。

関連する概念

  • fan-out/fan-in の一形態
  • バランスの取れた sharding は shard の所要時間を均す
  • 実際に並列実行するには runner の並行性が必要

関連ガイド