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 の並行性が必要
関連ガイド
What Is Test Parallelism?Test parallelism runs multiple tests at the same time, within a process or across machines, to reduce total t…
What Is Fan-Out/Fan-In?Fan-out splits work into many parallel jobs; fan-in gathers their results into a single downstream step, a co…
What Is Runner Autoscaling?Runner autoscaling automatically adds or removes CI workers based on job demand, so capacity tracks the queue…