Accelerating Continuous Integration with Parallel Batch Testing
Emad Fallahzadeh (1), Amir Hossein Bavand (1), and Peter C. Rigby (1), ((1) Concordia University, Montreal, Quebec, Canada)

TL;DR
This paper explores how parallel batch testing techniques, including novel dynamic and case-based batching methods, can significantly reduce testing resources while maintaining feedback times in continuous integration systems.
Contribution
It introduces two new batching approaches, DynamicBatching and TestCaseBatching, and evaluates their effectiveness in reducing machine usage in CI testing.
Findings
ConstantBatching reduces machine use by up to 72%.
DynamicBatching achieves up to 91% fewer machines with similar feedback times.
TestCaseBatching reduces machines by up to 81%, with variable execution reduction.
Abstract
Continuous integration at scale is costly but essential to software development. Various test optimization techniques including test selection and prioritization aim to reduce the cost. Test batching is an effective alternative, but overlooked technique. This study evaluates parallelization's effect by adjusting machine count for test batching and introduces two novel approaches. We establish TestAll as a baseline to study the impact of parallelism and machine count on feedback time. We re-evaluate ConstantBatching and introduce DynamicBatching, which adapts batch size based on the remaining changes in the queue. We also propose TestCaseBatching, enabling new builds to join a batch before full test execution, thus speeding up continuous integration. Our evaluations utilize Ericsson's results and 276 million test outcomes from open-source Chrome, assessing feedback time, execution…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
