Test Parallelism とは?
test parallelism は、複数のテストを次々にではなく並行して実行することで、単一マシン上の thread やプロセス間、あるいは多数のマシン間で行われます。大きなスイートの実時間を短縮します。効果的な並列性には、テストが互いに干渉しないよう独立して分離されている必要があります。
なぜ重要か
直列のテストはアイドルの CPU と runner の時間を無駄にします。並列性はそれを取り戻します。落とし穴は、テストが可変な状態を共有してはならないことで、さもないと並列実行が flaky になります。クリーンで分離された環境と適切な fixture が、並列性を安全にスケールさせるものです。
関連する概念
- test sharding はマシン間の並列性
- 独立して分離されたテストが必要
- 利用可能な runner の並行性によって制限される
関連ガイド
What Is Test Sharding?Test sharding splits a test suite into independent subsets that run on separate machines in parallel, cutting…
What Is a Flaky Test?A flaky test passes and fails intermittently on the same code, usually due to timing, ordering, or environmen…
What Is Runner Autoscaling?Runner autoscaling automatically adds or removes CI workers based on job demand, so capacity tracks the queue…