テストシャーディング
最新のCIホストはマルチコア環境を提供し、ある程度のテスト並列化を可能にします。しかし、単一のホストでは対応できないシナリオもあります。例えば、同時に実行できるシミュレータの数に制限がある場合や、テストスイートが単一のマシンでは処理しきれないほど大規模になった場合などです。
そのような場合には、複数のCIランナーにテストを分散させ、結果を統合されたビューに集約するシステムが必要です。これを実現するのがテストシャーディングです。
Tuistは過去のテスト実行時間データを用いてビンパッキングアルゴリズムによりシャード間の負荷をインテリジェントに分散し、各ランナーがほぼ同時に完了するように調整します。すべてのシャードからの結果はTest Insightsで自動的に集約され、すべてのシャードにわたるテストスイートの統合されたビューを提供します。